const char *xmlDesc,
unsigned int flags);
-int virNodeDeviceUndefine(virNodeDevicePtr dev);
+int virNodeDeviceUndefine(virNodeDevicePtr dev,
+ unsigned int flags);
-int virNodeDeviceCreate(virNodeDevicePtr dev);
+int virNodeDeviceCreate(virNodeDevicePtr dev,
+ unsigned int flags);
/**
* VIR_NODE_DEVICE_EVENT_CALLBACK:
unsigned int flags);
typedef int
-(*virDrvNodeDeviceUndefine)(virNodeDevicePtr dev);
+(*virDrvNodeDeviceUndefine)(virNodeDevicePtr dev,
+ unsigned int flags);
typedef int
-(*virDrvNodeDeviceCreate)(virNodeDevicePtr dev);
+(*virDrvNodeDeviceCreate)(virNodeDevicePtr dev,
+ unsigned int flags);
typedef int
(*virDrvConnectNodeDeviceEventRegisterAny)(virConnectPtr conn,
/**
* virNodeDeviceUndefine:
* @dev: a device object
+ * @flags: extra flags; not used yet, so callers should always pass 0
*
* Undefine the device object. The virtual device is removed from the host
* operating system. This function may require privileged access.
* Returns 0 in case of success and -1 in case of failure.
*/
int
-virNodeDeviceUndefine(virNodeDevicePtr dev)
+virNodeDeviceUndefine(virNodeDevicePtr dev,
+ unsigned int flags)
{
- VIR_DEBUG("dev=%p", dev);
+ VIR_DEBUG("dev=%p, flags=0x%x", dev, flags);
virResetLastError();
if (dev->conn->nodeDeviceDriver &&
dev->conn->nodeDeviceDriver->nodeDeviceUndefine) {
- int retval = dev->conn->nodeDeviceDriver->nodeDeviceUndefine(dev);
+ int retval = dev->conn->nodeDeviceDriver->nodeDeviceUndefine(dev, flags);
if (retval < 0)
goto error;
/**
* virNodeDeviceCreate:
* @dev: a device object
+ * @flags: extra flags; not used yet, so callers should always pass 0
*
* Start a defined node device:
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
-virNodeDeviceCreate(virNodeDevicePtr dev)
+virNodeDeviceCreate(virNodeDevicePtr dev,
+ unsigned int flags)
{
- VIR_DEBUG("dev=%p", dev);
+ VIR_DEBUG("dev=%p, flags=0x%x", dev, flags);
virResetLastError();
if (dev->conn->nodeDeviceDriver &&
dev->conn->nodeDeviceDriver->nodeDeviceCreate) {
- int retval = dev->conn->nodeDeviceDriver->nodeDeviceCreate(dev);
+ int retval = dev->conn->nodeDeviceDriver->nodeDeviceCreate(dev, flags);
if (retval < 0)
goto error;
int
-nodeDeviceUndefine(virNodeDevice *device)
+nodeDeviceUndefine(virNodeDevice *device,
+ unsigned int flags)
{
int ret = -1;
virNodeDeviceObj *obj = NULL;
virNodeDeviceDef *def;
+ virCheckFlags(0, -1);
+
if (nodeDeviceWaitInit() < 0)
return -1;
int
-nodeDeviceCreate(virNodeDevice *device)
+nodeDeviceCreate(virNodeDevice *device,
+ unsigned int flags)
{
int ret = -1;
virNodeDeviceObj *obj = NULL;
virNodeDeviceDef *def = NULL;
+ virCheckFlags(0, -1);
+
if (!(obj = nodeDeviceObjFindByName(device->name)))
return -1;
unsigned int flags);
int
-nodeDeviceUndefine(virNodeDevice *dev);
+nodeDeviceUndefine(virNodeDevice *dev,
+ unsigned int flags);
int
nodeConnectNodeDeviceEventRegisterAny(virConnectPtr conn,
char **errmsg);
int
-nodeDeviceCreate(virNodeDevice *dev);
+nodeDeviceCreate(virNodeDevice *dev,
+ unsigned int flags);
struct remote_node_device_undefine_args {
remote_nonnull_string name;
+ unsigned int flags;
};
struct remote_node_device_create_args {
remote_nonnull_string name;
+ unsigned int flags;
};
};
struct remote_node_device_undefine_args {
remote_nonnull_string name;
+ u_int flags;
};
struct remote_node_device_create_args {
remote_nonnull_string name;
+ u_int flags;
};
struct remote_connect_domain_event_register_ret {
int cb_registered;
if (!dev)
goto cleanup;
- if (virNodeDeviceUndefine(dev) == 0) {
+ if (virNodeDeviceUndefine(dev, 0) == 0) {
vshPrintExtra(ctl, _("Undefined node device '%s'\n"), device_value);
} else {
vshError(ctl, _("Failed to undefine node device '%s'"), device_value);
return false;
}
- if (virNodeDeviceCreate(device) == 0) {
+ if (virNodeDeviceCreate(device, 0) == 0) {
vshPrintExtra(ctl, _("Device %s started\n"), name);
} else {
vshError(ctl, _("Failed to start device %s"), name);