diff --git a/daemon/remote_dispatch_args.h b/daemon/remote_dispatch_args.h index c1801d0f8b..c098c8e362 100644 --- a/daemon/remote_dispatch_args.h +++ b/daemon/remote_dispatch_args.h @@ -135,3 +135,5 @@ remote_interface_is_active_args val_remote_interface_is_active_args; remote_cpu_compare_args val_remote_cpu_compare_args; remote_domain_memory_stats_args val_remote_domain_memory_stats_args; + remote_domain_attach_device_flags_args val_remote_domain_attach_device_flags_args; + remote_domain_detach_device_flags_args val_remote_domain_detach_device_flags_args; diff --git a/daemon/remote_dispatch_prototypes.h b/daemon/remote_dispatch_prototypes.h index 1a0f8d8f06..4b6bd4c0d1 100644 --- a/daemon/remote_dispatch_prototypes.h +++ b/daemon/remote_dispatch_prototypes.h @@ -66,6 +66,14 @@ static int remoteDispatchDomainAttachDevice( remote_error *err, remote_domain_attach_device_args *args, void *ret); +static int remoteDispatchDomainAttachDeviceFlags( + struct qemud_server *server, + struct qemud_client *client, + virConnectPtr conn, + remote_message_header *hdr, + remote_error *err, + remote_domain_attach_device_flags_args *args, + void *ret); static int remoteDispatchDomainBlockPeek( struct qemud_server *server, struct qemud_client *client, @@ -130,6 +138,14 @@ static int remoteDispatchDomainDetachDevice( remote_error *err, remote_domain_detach_device_args *args, void *ret); +static int remoteDispatchDomainDetachDeviceFlags( + struct qemud_server *server, + struct qemud_client *client, + virConnectPtr conn, + remote_message_header *hdr, + remote_error *err, + remote_domain_detach_device_flags_args *args, + void *ret); static int remoteDispatchDomainDumpXml( struct qemud_server *server, struct qemud_client *client, diff --git a/daemon/remote_dispatch_table.h b/daemon/remote_dispatch_table.h index 09ebeeeb05..89719f69ee 100644 --- a/daemon/remote_dispatch_table.h +++ b/daemon/remote_dispatch_table.h @@ -802,3 +802,13 @@ .args_filter = (xdrproc_t) xdr_remote_domain_memory_stats_args, .ret_filter = (xdrproc_t) xdr_remote_domain_memory_stats_ret, }, +{ /* DomainAttachDeviceFlags => 160 */ + .fn = (dispatch_fn) remoteDispatchDomainAttachDeviceFlags, + .args_filter = (xdrproc_t) xdr_remote_domain_attach_device_flags_args, + .ret_filter = (xdrproc_t) xdr_void, +}, +{ /* DomainDetachDeviceFlags => 161 */ + .fn = (dispatch_fn) remoteDispatchDomainDetachDeviceFlags, + .args_filter = (xdrproc_t) xdr_remote_domain_detach_device_flags_args, + .ret_filter = (xdrproc_t) xdr_void, +}, diff --git a/src/remote/remote_protocol.c b/src/remote/remote_protocol.c index 834eb6bf66..90ecf0906b 100644 --- a/src/remote/remote_protocol.c +++ b/src/remote/remote_protocol.c @@ -1281,6 +1281,19 @@ xdr_remote_domain_attach_device_args (XDR *xdrs, remote_domain_attach_device_arg return TRUE; } +bool_t +xdr_remote_domain_attach_device_flags_args (XDR *xdrs, remote_domain_attach_device_flags_args *objp) +{ + + if (!xdr_remote_nonnull_domain (xdrs, &objp->dom)) + return FALSE; + if (!xdr_remote_nonnull_string (xdrs, &objp->xml)) + return FALSE; + if (!xdr_u_int (xdrs, &objp->flags)) + return FALSE; + return TRUE; +} + bool_t xdr_remote_domain_detach_device_args (XDR *xdrs, remote_domain_detach_device_args *objp) { @@ -1292,6 +1305,19 @@ xdr_remote_domain_detach_device_args (XDR *xdrs, remote_domain_detach_device_arg return TRUE; } +bool_t +xdr_remote_domain_detach_device_flags_args (XDR *xdrs, remote_domain_detach_device_flags_args *objp) +{ + + if (!xdr_remote_nonnull_domain (xdrs, &objp->dom)) + return FALSE; + if (!xdr_remote_nonnull_string (xdrs, &objp->xml)) + return FALSE; + if (!xdr_u_int (xdrs, &objp->flags)) + return FALSE; + return TRUE; +} + bool_t xdr_remote_domain_get_autostart_args (XDR *xdrs, remote_domain_get_autostart_args *objp) { diff --git a/src/remote/remote_protocol.h b/src/remote/remote_protocol.h index 3f3b5207a8..db574a87e7 100644 --- a/src/remote/remote_protocol.h +++ b/src/remote/remote_protocol.h @@ -718,12 +718,26 @@ struct remote_domain_attach_device_args { }; typedef struct remote_domain_attach_device_args remote_domain_attach_device_args; +struct remote_domain_attach_device_flags_args { + remote_nonnull_domain dom; + remote_nonnull_string xml; + u_int flags; +}; +typedef struct remote_domain_attach_device_flags_args remote_domain_attach_device_flags_args; + struct remote_domain_detach_device_args { remote_nonnull_domain dom; remote_nonnull_string xml; }; typedef struct remote_domain_detach_device_args remote_domain_detach_device_args; +struct remote_domain_detach_device_flags_args { + remote_nonnull_domain dom; + remote_nonnull_string xml; + u_int flags; +}; +typedef struct remote_domain_detach_device_flags_args remote_domain_detach_device_flags_args; + struct remote_domain_get_autostart_args { remote_nonnull_domain dom; }; @@ -1812,6 +1826,8 @@ enum remote_procedure { REMOTE_PROC_GET_LIB_VERSION = 157, REMOTE_PROC_CPU_COMPARE = 158, REMOTE_PROC_DOMAIN_MEMORY_STATS = 159, + REMOTE_PROC_DOMAIN_ATTACH_DEVICE_FLAGS = 160, + REMOTE_PROC_DOMAIN_DETACH_DEVICE_FLAGS = 161, }; typedef enum remote_procedure remote_procedure; @@ -1950,7 +1966,9 @@ extern bool_t xdr_remote_domain_get_security_label_args (XDR *, remote_domain_g extern bool_t xdr_remote_domain_get_security_label_ret (XDR *, remote_domain_get_security_label_ret*); extern bool_t xdr_remote_node_get_security_model_ret (XDR *, remote_node_get_security_model_ret*); extern bool_t xdr_remote_domain_attach_device_args (XDR *, remote_domain_attach_device_args*); +extern bool_t xdr_remote_domain_attach_device_flags_args (XDR *, remote_domain_attach_device_flags_args*); extern bool_t xdr_remote_domain_detach_device_args (XDR *, remote_domain_detach_device_args*); +extern bool_t xdr_remote_domain_detach_device_flags_args (XDR *, remote_domain_detach_device_flags_args*); extern bool_t xdr_remote_domain_get_autostart_args (XDR *, remote_domain_get_autostart_args*); extern bool_t xdr_remote_domain_get_autostart_ret (XDR *, remote_domain_get_autostart_ret*); extern bool_t xdr_remote_domain_set_autostart_args (XDR *, remote_domain_set_autostart_args*); @@ -2226,7 +2244,9 @@ extern bool_t xdr_remote_domain_get_security_label_args (); extern bool_t xdr_remote_domain_get_security_label_ret (); extern bool_t xdr_remote_node_get_security_model_ret (); extern bool_t xdr_remote_domain_attach_device_args (); +extern bool_t xdr_remote_domain_attach_device_flags_args (); extern bool_t xdr_remote_domain_detach_device_args (); +extern bool_t xdr_remote_domain_detach_device_flags_args (); extern bool_t xdr_remote_domain_get_autostart_args (); extern bool_t xdr_remote_domain_get_autostart_ret (); extern bool_t xdr_remote_domain_set_autostart_args ();