/*
* Lookup a --dev-node adapter name in the registry
- * returning the GUID and optional actual_name.
+ * returning the GUID and optional actual_name and device type
*/
static const char *
get_device_guid(const char *name,
char *actual_name,
int actual_name_size,
+ bool *wintun,
const struct tap_reg *tap_reg,
const struct panel_reg *panel_reg,
struct gc_arena *gc)
{
buf_printf(&actual, "%s", name);
}
+ if (wintun)
+ {
+ *wintun = tr->wintun;
+ }
return BSTR(&ret);
}
if (tr)
{
buf_printf(&actual, "%s", name);
+ if (wintun)
+ {
+ *wintun = tr->wintun;
+ }
buf_printf(&ret, "%s", tr->guid);
return BSTR(&ret);
}
if (dev_node)
{
/* Get the device GUID for the device specified with --dev-node. */
- device_guid = get_device_guid(dev_node, actual_buffer, sizeof(actual_buffer), tap_reg, panel_reg, &gc);
+ device_guid = get_device_guid(dev_node, actual_buffer, sizeof(actual_buffer), NULL, tap_reg, panel_reg, &gc);
if (!device_guid)
{
if (dev_node)
{
- guid = get_device_guid(dev_node, BPTR(&actual), BCAP(&actual), tap_reg, panel_reg, gc);
+ guid = get_device_guid(dev_node, BPTR(&actual), BCAP(&actual), NULL, tap_reg, panel_reg, gc);
}
else
{
if (dev_node)
{
/* Get the device GUID for the device specified with --dev-node. */
- *device_guid = get_device_guid(dev_node, actual_buffer, sizeof(actual_buffer), tap_reg, panel_reg, &gc);
+ *device_guid = get_device_guid(dev_node, actual_buffer, sizeof(actual_buffer), NULL, tap_reg, panel_reg, &gc);
if (!*device_guid)
{