virMutex lock;
virNodeDeviceDefPtr def; /* device definition */
- void *privateData; /* driver-specific private data */
- void (*privateFree)(void *data); /* destructor for private data */
};
#define DRV_STATE_HAL_CTX(ds) ((LibHalContext *)((ds)->privateData))
-#define NODE_DEV_UDI(obj) ((const char *)((obj)->privateData)
-
static const char *
hal_name(const char *udi)
return rv;
}
-static void
-free_udi(void *udi)
-{
- VIR_FREE(udi);
-}
-
static void
dev_create(const char *udi)
{
virNodeDeviceDefPtr objdef;
const char *name = hal_name(udi);
int rv;
- char *privData;
char *devicePath = NULL;
- if (VIR_STRDUP(privData, udi) < 0)
- return;
-
nodeDeviceLock();
ctx = DRV_STATE_HAL_CTX(driver);
}
objdef = virNodeDeviceObjGetDef(dev);
- dev->privateData = privData;
- dev->privateFree = free_udi;
objdef->sysfs_path = devicePath;
virNodeDeviceObjUnlock(dev);
failure:
VIR_DEBUG("FAILED TO ADD dev %s", name);
cleanup:
- VIR_FREE(privData);
virNodeDeviceDefFree(def);
nodeDeviceUnlock();
}