libvirt/daemon/remote_dispatch_table.h

990 lines
42 KiB
C
Raw Normal View History

/* Automatically generated by remote_generate_stubs.pl.
* Do not edit this file. Any changes you make will be lost.
*/
{ /* (unused) => 0 */
.fn = NULL,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* Open => 1 */
.fn = (dispatch_fn) remoteDispatchOpen,
.args_filter = (xdrproc_t) xdr_remote_open_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* Close => 2 */
.fn = (dispatch_fn) remoteDispatchClose,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* GetType => 3 */
.fn = (dispatch_fn) remoteDispatchGetType,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_get_type_ret,
},
{ /* GetVersion => 4 */
.fn = (dispatch_fn) remoteDispatchGetVersion,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_get_version_ret,
},
{ /* GetMaxVcpus => 5 */
.fn = (dispatch_fn) remoteDispatchGetMaxVcpus,
.args_filter = (xdrproc_t) xdr_remote_get_max_vcpus_args,
.ret_filter = (xdrproc_t) xdr_remote_get_max_vcpus_ret,
},
{ /* NodeGetInfo => 6 */
.fn = (dispatch_fn) remoteDispatchNodeGetInfo,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_node_get_info_ret,
},
{ /* GetCapabilities => 7 */
.fn = (dispatch_fn) remoteDispatchGetCapabilities,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_get_capabilities_ret,
},
{ /* DomainAttachDevice => 8 */
.fn = (dispatch_fn) remoteDispatchDomainAttachDevice,
.args_filter = (xdrproc_t) xdr_remote_domain_attach_device_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainCreate => 9 */
.fn = (dispatch_fn) remoteDispatchDomainCreate,
.args_filter = (xdrproc_t) xdr_remote_domain_create_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainCreateXml => 10 */
.fn = (dispatch_fn) remoteDispatchDomainCreateXml,
.args_filter = (xdrproc_t) xdr_remote_domain_create_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_create_xml_ret,
},
{ /* DomainDefineXml => 11 */
.fn = (dispatch_fn) remoteDispatchDomainDefineXml,
.args_filter = (xdrproc_t) xdr_remote_domain_define_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_define_xml_ret,
},
{ /* DomainDestroy => 12 */
.fn = (dispatch_fn) remoteDispatchDomainDestroy,
.args_filter = (xdrproc_t) xdr_remote_domain_destroy_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainDetachDevice => 13 */
.fn = (dispatch_fn) remoteDispatchDomainDetachDevice,
.args_filter = (xdrproc_t) xdr_remote_domain_detach_device_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainDumpXml => 14 */
.fn = (dispatch_fn) remoteDispatchDomainDumpXml,
.args_filter = (xdrproc_t) xdr_remote_domain_dump_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_dump_xml_ret,
},
{ /* DomainGetAutostart => 15 */
.fn = (dispatch_fn) remoteDispatchDomainGetAutostart,
.args_filter = (xdrproc_t) xdr_remote_domain_get_autostart_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_autostart_ret,
},
{ /* DomainGetInfo => 16 */
.fn = (dispatch_fn) remoteDispatchDomainGetInfo,
.args_filter = (xdrproc_t) xdr_remote_domain_get_info_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_info_ret,
},
{ /* DomainGetMaxMemory => 17 */
.fn = (dispatch_fn) remoteDispatchDomainGetMaxMemory,
.args_filter = (xdrproc_t) xdr_remote_domain_get_max_memory_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_max_memory_ret,
},
{ /* DomainGetMaxVcpus => 18 */
.fn = (dispatch_fn) remoteDispatchDomainGetMaxVcpus,
.args_filter = (xdrproc_t) xdr_remote_domain_get_max_vcpus_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_max_vcpus_ret,
},
{ /* DomainGetOsType => 19 */
.fn = (dispatch_fn) remoteDispatchDomainGetOsType,
.args_filter = (xdrproc_t) xdr_remote_domain_get_os_type_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_os_type_ret,
},
{ /* DomainGetVcpus => 20 */
.fn = (dispatch_fn) remoteDispatchDomainGetVcpus,
.args_filter = (xdrproc_t) xdr_remote_domain_get_vcpus_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_vcpus_ret,
},
{ /* ListDefinedDomains => 21 */
.fn = (dispatch_fn) remoteDispatchListDefinedDomains,
.args_filter = (xdrproc_t) xdr_remote_list_defined_domains_args,
.ret_filter = (xdrproc_t) xdr_remote_list_defined_domains_ret,
},
{ /* DomainLookupById => 22 */
.fn = (dispatch_fn) remoteDispatchDomainLookupById,
.args_filter = (xdrproc_t) xdr_remote_domain_lookup_by_id_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_lookup_by_id_ret,
},
{ /* DomainLookupByName => 23 */
.fn = (dispatch_fn) remoteDispatchDomainLookupByName,
.args_filter = (xdrproc_t) xdr_remote_domain_lookup_by_name_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_lookup_by_name_ret,
},
{ /* DomainLookupByUuid => 24 */
.fn = (dispatch_fn) remoteDispatchDomainLookupByUuid,
.args_filter = (xdrproc_t) xdr_remote_domain_lookup_by_uuid_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_lookup_by_uuid_ret,
},
{ /* NumOfDefinedDomains => 25 */
.fn = (dispatch_fn) remoteDispatchNumOfDefinedDomains,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_defined_domains_ret,
},
{ /* DomainPinVcpu => 26 */
.fn = (dispatch_fn) remoteDispatchDomainPinVcpu,
.args_filter = (xdrproc_t) xdr_remote_domain_pin_vcpu_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainReboot => 27 */
.fn = (dispatch_fn) remoteDispatchDomainReboot,
.args_filter = (xdrproc_t) xdr_remote_domain_reboot_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainResume => 28 */
.fn = (dispatch_fn) remoteDispatchDomainResume,
.args_filter = (xdrproc_t) xdr_remote_domain_resume_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainSetAutostart => 29 */
.fn = (dispatch_fn) remoteDispatchDomainSetAutostart,
.args_filter = (xdrproc_t) xdr_remote_domain_set_autostart_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainSetMaxMemory => 30 */
.fn = (dispatch_fn) remoteDispatchDomainSetMaxMemory,
.args_filter = (xdrproc_t) xdr_remote_domain_set_max_memory_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainSetMemory => 31 */
.fn = (dispatch_fn) remoteDispatchDomainSetMemory,
.args_filter = (xdrproc_t) xdr_remote_domain_set_memory_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainSetVcpus => 32 */
.fn = (dispatch_fn) remoteDispatchDomainSetVcpus,
.args_filter = (xdrproc_t) xdr_remote_domain_set_vcpus_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainShutdown => 33 */
.fn = (dispatch_fn) remoteDispatchDomainShutdown,
.args_filter = (xdrproc_t) xdr_remote_domain_shutdown_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainSuspend => 34 */
.fn = (dispatch_fn) remoteDispatchDomainSuspend,
.args_filter = (xdrproc_t) xdr_remote_domain_suspend_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainUndefine => 35 */
.fn = (dispatch_fn) remoteDispatchDomainUndefine,
.args_filter = (xdrproc_t) xdr_remote_domain_undefine_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* ListDefinedNetworks => 36 */
.fn = (dispatch_fn) remoteDispatchListDefinedNetworks,
.args_filter = (xdrproc_t) xdr_remote_list_defined_networks_args,
.ret_filter = (xdrproc_t) xdr_remote_list_defined_networks_ret,
},
{ /* ListDomains => 37 */
.fn = (dispatch_fn) remoteDispatchListDomains,
.args_filter = (xdrproc_t) xdr_remote_list_domains_args,
.ret_filter = (xdrproc_t) xdr_remote_list_domains_ret,
},
{ /* ListNetworks => 38 */
.fn = (dispatch_fn) remoteDispatchListNetworks,
.args_filter = (xdrproc_t) xdr_remote_list_networks_args,
.ret_filter = (xdrproc_t) xdr_remote_list_networks_ret,
},
{ /* NetworkCreate => 39 */
.fn = (dispatch_fn) remoteDispatchNetworkCreate,
.args_filter = (xdrproc_t) xdr_remote_network_create_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* NetworkCreateXml => 40 */
.fn = (dispatch_fn) remoteDispatchNetworkCreateXml,
.args_filter = (xdrproc_t) xdr_remote_network_create_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_network_create_xml_ret,
},
{ /* NetworkDefineXml => 41 */
.fn = (dispatch_fn) remoteDispatchNetworkDefineXml,
.args_filter = (xdrproc_t) xdr_remote_network_define_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_network_define_xml_ret,
},
{ /* NetworkDestroy => 42 */
.fn = (dispatch_fn) remoteDispatchNetworkDestroy,
.args_filter = (xdrproc_t) xdr_remote_network_destroy_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* NetworkDumpXml => 43 */
.fn = (dispatch_fn) remoteDispatchNetworkDumpXml,
.args_filter = (xdrproc_t) xdr_remote_network_dump_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_network_dump_xml_ret,
},
{ /* NetworkGetAutostart => 44 */
.fn = (dispatch_fn) remoteDispatchNetworkGetAutostart,
.args_filter = (xdrproc_t) xdr_remote_network_get_autostart_args,
.ret_filter = (xdrproc_t) xdr_remote_network_get_autostart_ret,
},
{ /* NetworkGetBridgeName => 45 */
.fn = (dispatch_fn) remoteDispatchNetworkGetBridgeName,
.args_filter = (xdrproc_t) xdr_remote_network_get_bridge_name_args,
.ret_filter = (xdrproc_t) xdr_remote_network_get_bridge_name_ret,
},
{ /* NetworkLookupByName => 46 */
.fn = (dispatch_fn) remoteDispatchNetworkLookupByName,
.args_filter = (xdrproc_t) xdr_remote_network_lookup_by_name_args,
.ret_filter = (xdrproc_t) xdr_remote_network_lookup_by_name_ret,
},
{ /* NetworkLookupByUuid => 47 */
.fn = (dispatch_fn) remoteDispatchNetworkLookupByUuid,
.args_filter = (xdrproc_t) xdr_remote_network_lookup_by_uuid_args,
.ret_filter = (xdrproc_t) xdr_remote_network_lookup_by_uuid_ret,
},
{ /* NetworkSetAutostart => 48 */
.fn = (dispatch_fn) remoteDispatchNetworkSetAutostart,
.args_filter = (xdrproc_t) xdr_remote_network_set_autostart_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* NetworkUndefine => 49 */
.fn = (dispatch_fn) remoteDispatchNetworkUndefine,
.args_filter = (xdrproc_t) xdr_remote_network_undefine_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* NumOfDefinedNetworks => 50 */
.fn = (dispatch_fn) remoteDispatchNumOfDefinedNetworks,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_defined_networks_ret,
},
{ /* NumOfDomains => 51 */
.fn = (dispatch_fn) remoteDispatchNumOfDomains,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_domains_ret,
},
{ /* NumOfNetworks => 52 */
.fn = (dispatch_fn) remoteDispatchNumOfNetworks,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_networks_ret,
},
{ /* DomainCoreDump => 53 */
.fn = (dispatch_fn) remoteDispatchDomainCoreDump,
.args_filter = (xdrproc_t) xdr_remote_domain_core_dump_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainRestore => 54 */
.fn = (dispatch_fn) remoteDispatchDomainRestore,
.args_filter = (xdrproc_t) xdr_remote_domain_restore_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainSave => 55 */
.fn = (dispatch_fn) remoteDispatchDomainSave,
.args_filter = (xdrproc_t) xdr_remote_domain_save_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainGetSchedulerType => 56 */
.fn = (dispatch_fn) remoteDispatchDomainGetSchedulerType,
.args_filter = (xdrproc_t) xdr_remote_domain_get_scheduler_type_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_scheduler_type_ret,
},
{ /* DomainGetSchedulerParameters => 57 */
.fn = (dispatch_fn) remoteDispatchDomainGetSchedulerParameters,
.args_filter = (xdrproc_t) xdr_remote_domain_get_scheduler_parameters_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_scheduler_parameters_ret,
},
{ /* DomainSetSchedulerParameters => 58 */
.fn = (dispatch_fn) remoteDispatchDomainSetSchedulerParameters,
.args_filter = (xdrproc_t) xdr_remote_domain_set_scheduler_parameters_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* GetHostname => 59 */
.fn = (dispatch_fn) remoteDispatchGetHostname,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_get_hostname_ret,
},
{ /* SupportsFeature => 60 */
.fn = (dispatch_fn) remoteDispatchSupportsFeature,
.args_filter = (xdrproc_t) xdr_remote_supports_feature_args,
.ret_filter = (xdrproc_t) xdr_remote_supports_feature_ret,
},
{ /* DomainMigratePrepare => 61 */
.fn = (dispatch_fn) remoteDispatchDomainMigratePrepare,
.args_filter = (xdrproc_t) xdr_remote_domain_migrate_prepare_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_migrate_prepare_ret,
},
{ /* DomainMigratePerform => 62 */
.fn = (dispatch_fn) remoteDispatchDomainMigratePerform,
.args_filter = (xdrproc_t) xdr_remote_domain_migrate_perform_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainMigrateFinish => 63 */
.fn = (dispatch_fn) remoteDispatchDomainMigrateFinish,
.args_filter = (xdrproc_t) xdr_remote_domain_migrate_finish_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_migrate_finish_ret,
},
{ /* DomainBlockStats => 64 */
.fn = (dispatch_fn) remoteDispatchDomainBlockStats,
.args_filter = (xdrproc_t) xdr_remote_domain_block_stats_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_block_stats_ret,
},
{ /* DomainInterfaceStats => 65 */
.fn = (dispatch_fn) remoteDispatchDomainInterfaceStats,
.args_filter = (xdrproc_t) xdr_remote_domain_interface_stats_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_interface_stats_ret,
},
{ /* AuthList => 66 */
.fn = (dispatch_fn) remoteDispatchAuthList,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_auth_list_ret,
},
{ /* AuthSaslInit => 67 */
.fn = (dispatch_fn) remoteDispatchAuthSaslInit,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_auth_sasl_init_ret,
},
{ /* AuthSaslStart => 68 */
.fn = (dispatch_fn) remoteDispatchAuthSaslStart,
.args_filter = (xdrproc_t) xdr_remote_auth_sasl_start_args,
.ret_filter = (xdrproc_t) xdr_remote_auth_sasl_start_ret,
},
{ /* AuthSaslStep => 69 */
.fn = (dispatch_fn) remoteDispatchAuthSaslStep,
.args_filter = (xdrproc_t) xdr_remote_auth_sasl_step_args,
.ret_filter = (xdrproc_t) xdr_remote_auth_sasl_step_ret,
},
{ /* AuthPolkit => 70 */
.fn = (dispatch_fn) remoteDispatchAuthPolkit,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_auth_polkit_ret,
},
{ /* NumOfStoragePools => 71 */
.fn = (dispatch_fn) remoteDispatchNumOfStoragePools,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_storage_pools_ret,
},
{ /* ListStoragePools => 72 */
.fn = (dispatch_fn) remoteDispatchListStoragePools,
.args_filter = (xdrproc_t) xdr_remote_list_storage_pools_args,
.ret_filter = (xdrproc_t) xdr_remote_list_storage_pools_ret,
},
{ /* NumOfDefinedStoragePools => 73 */
.fn = (dispatch_fn) remoteDispatchNumOfDefinedStoragePools,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_defined_storage_pools_ret,
},
{ /* ListDefinedStoragePools => 74 */
.fn = (dispatch_fn) remoteDispatchListDefinedStoragePools,
.args_filter = (xdrproc_t) xdr_remote_list_defined_storage_pools_args,
.ret_filter = (xdrproc_t) xdr_remote_list_defined_storage_pools_ret,
},
{ /* FindStoragePoolSources => 75 */
.fn = (dispatch_fn) remoteDispatchFindStoragePoolSources,
.args_filter = (xdrproc_t) xdr_remote_find_storage_pool_sources_args,
.ret_filter = (xdrproc_t) xdr_remote_find_storage_pool_sources_ret,
},
{ /* StoragePoolCreateXml => 76 */
.fn = (dispatch_fn) remoteDispatchStoragePoolCreateXml,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_create_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_create_xml_ret,
},
{ /* StoragePoolDefineXml => 77 */
.fn = (dispatch_fn) remoteDispatchStoragePoolDefineXml,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_define_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_define_xml_ret,
},
{ /* StoragePoolCreate => 78 */
.fn = (dispatch_fn) remoteDispatchStoragePoolCreate,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_create_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StoragePoolBuild => 79 */
.fn = (dispatch_fn) remoteDispatchStoragePoolBuild,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_build_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StoragePoolDestroy => 80 */
.fn = (dispatch_fn) remoteDispatchStoragePoolDestroy,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_destroy_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StoragePoolDelete => 81 */
.fn = (dispatch_fn) remoteDispatchStoragePoolDelete,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_delete_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StoragePoolUndefine => 82 */
.fn = (dispatch_fn) remoteDispatchStoragePoolUndefine,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_undefine_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StoragePoolRefresh => 83 */
.fn = (dispatch_fn) remoteDispatchStoragePoolRefresh,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_refresh_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StoragePoolLookupByName => 84 */
.fn = (dispatch_fn) remoteDispatchStoragePoolLookupByName,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_lookup_by_name_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_lookup_by_name_ret,
},
{ /* StoragePoolLookupByUuid => 85 */
.fn = (dispatch_fn) remoteDispatchStoragePoolLookupByUuid,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_lookup_by_uuid_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_lookup_by_uuid_ret,
},
{ /* StoragePoolLookupByVolume => 86 */
.fn = (dispatch_fn) remoteDispatchStoragePoolLookupByVolume,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_lookup_by_volume_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_lookup_by_volume_ret,
},
{ /* StoragePoolGetInfo => 87 */
.fn = (dispatch_fn) remoteDispatchStoragePoolGetInfo,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_get_info_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_get_info_ret,
},
{ /* StoragePoolDumpXml => 88 */
.fn = (dispatch_fn) remoteDispatchStoragePoolDumpXml,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_dump_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_dump_xml_ret,
},
{ /* StoragePoolGetAutostart => 89 */
.fn = (dispatch_fn) remoteDispatchStoragePoolGetAutostart,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_get_autostart_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_get_autostart_ret,
},
{ /* StoragePoolSetAutostart => 90 */
.fn = (dispatch_fn) remoteDispatchStoragePoolSetAutostart,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_set_autostart_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StoragePoolNumOfVolumes => 91 */
.fn = (dispatch_fn) remoteDispatchStoragePoolNumOfVolumes,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_num_of_volumes_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_num_of_volumes_ret,
},
{ /* StoragePoolListVolumes => 92 */
.fn = (dispatch_fn) remoteDispatchStoragePoolListVolumes,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_list_volumes_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_list_volumes_ret,
},
{ /* StorageVolCreateXml => 93 */
.fn = (dispatch_fn) remoteDispatchStorageVolCreateXml,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_create_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_vol_create_xml_ret,
},
{ /* StorageVolDelete => 94 */
.fn = (dispatch_fn) remoteDispatchStorageVolDelete,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_delete_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StorageVolLookupByName => 95 */
.fn = (dispatch_fn) remoteDispatchStorageVolLookupByName,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_lookup_by_name_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_vol_lookup_by_name_ret,
},
{ /* StorageVolLookupByKey => 96 */
.fn = (dispatch_fn) remoteDispatchStorageVolLookupByKey,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_lookup_by_key_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_vol_lookup_by_key_ret,
},
{ /* StorageVolLookupByPath => 97 */
.fn = (dispatch_fn) remoteDispatchStorageVolLookupByPath,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_lookup_by_path_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_vol_lookup_by_path_ret,
},
{ /* StorageVolGetInfo => 98 */
.fn = (dispatch_fn) remoteDispatchStorageVolGetInfo,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_get_info_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_vol_get_info_ret,
},
{ /* StorageVolDumpXml => 99 */
.fn = (dispatch_fn) remoteDispatchStorageVolDumpXml,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_dump_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_vol_dump_xml_ret,
},
{ /* StorageVolGetPath => 100 */
.fn = (dispatch_fn) remoteDispatchStorageVolGetPath,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_get_path_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_vol_get_path_ret,
},
{ /* NodeGetCellsFreeMemory => 101 */
.fn = (dispatch_fn) remoteDispatchNodeGetCellsFreeMemory,
.args_filter = (xdrproc_t) xdr_remote_node_get_cells_free_memory_args,
.ret_filter = (xdrproc_t) xdr_remote_node_get_cells_free_memory_ret,
},
{ /* NodeGetFreeMemory => 102 */
.fn = (dispatch_fn) remoteDispatchNodeGetFreeMemory,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_node_get_free_memory_ret,
},
{ /* DomainBlockPeek => 103 */
.fn = (dispatch_fn) remoteDispatchDomainBlockPeek,
.args_filter = (xdrproc_t) xdr_remote_domain_block_peek_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_block_peek_ret,
},
{ /* DomainMemoryPeek => 104 */
.fn = (dispatch_fn) remoteDispatchDomainMemoryPeek,
.args_filter = (xdrproc_t) xdr_remote_domain_memory_peek_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_memory_peek_ret,
},
{ /* DomainEventsRegister => 105 */
.fn = (dispatch_fn) remoteDispatchDomainEventsRegister,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_domain_events_register_ret,
},
{ /* DomainEventsDeregister => 106 */
.fn = (dispatch_fn) remoteDispatchDomainEventsDeregister,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_domain_events_deregister_ret,
},
{ /* Async event DomainEventLifecycle => 107 */
.fn = NULL,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainMigratePrepare2 => 108 */
.fn = (dispatch_fn) remoteDispatchDomainMigratePrepare2,
.args_filter = (xdrproc_t) xdr_remote_domain_migrate_prepare2_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_migrate_prepare2_ret,
},
{ /* DomainMigrateFinish2 => 109 */
.fn = (dispatch_fn) remoteDispatchDomainMigrateFinish2,
.args_filter = (xdrproc_t) xdr_remote_domain_migrate_finish2_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_migrate_finish2_ret,
},
{ /* GetUri => 110 */
.fn = (dispatch_fn) remoteDispatchGetUri,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_get_uri_ret,
},
{ /* NodeNumOfDevices => 111 */
.fn = (dispatch_fn) remoteDispatchNodeNumOfDevices,
.args_filter = (xdrproc_t) xdr_remote_node_num_of_devices_args,
.ret_filter = (xdrproc_t) xdr_remote_node_num_of_devices_ret,
},
{ /* NodeListDevices => 112 */
.fn = (dispatch_fn) remoteDispatchNodeListDevices,
.args_filter = (xdrproc_t) xdr_remote_node_list_devices_args,
.ret_filter = (xdrproc_t) xdr_remote_node_list_devices_ret,
},
{ /* NodeDeviceLookupByName => 113 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceLookupByName,
.args_filter = (xdrproc_t) xdr_remote_node_device_lookup_by_name_args,
.ret_filter = (xdrproc_t) xdr_remote_node_device_lookup_by_name_ret,
},
{ /* NodeDeviceDumpXml => 114 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceDumpXml,
.args_filter = (xdrproc_t) xdr_remote_node_device_dump_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_node_device_dump_xml_ret,
},
{ /* NodeDeviceGetParent => 115 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceGetParent,
.args_filter = (xdrproc_t) xdr_remote_node_device_get_parent_args,
.ret_filter = (xdrproc_t) xdr_remote_node_device_get_parent_ret,
},
{ /* NodeDeviceNumOfCaps => 116 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceNumOfCaps,
.args_filter = (xdrproc_t) xdr_remote_node_device_num_of_caps_args,
.ret_filter = (xdrproc_t) xdr_remote_node_device_num_of_caps_ret,
},
{ /* NodeDeviceListCaps => 117 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceListCaps,
.args_filter = (xdrproc_t) xdr_remote_node_device_list_caps_args,
.ret_filter = (xdrproc_t) xdr_remote_node_device_list_caps_ret,
},
{ /* NodeDeviceDettach => 118 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceDettach,
.args_filter = (xdrproc_t) xdr_remote_node_device_dettach_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* NodeDeviceReAttach => 119 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceReAttach,
.args_filter = (xdrproc_t) xdr_remote_node_device_re_attach_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* NodeDeviceReset => 120 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceReset,
.args_filter = (xdrproc_t) xdr_remote_node_device_reset_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainGetSecurityLabel => 121 */
.fn = (dispatch_fn) remoteDispatchDomainGetSecurityLabel,
.args_filter = (xdrproc_t) xdr_remote_domain_get_security_label_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_security_label_ret,
},
{ /* NodeGetSecurityModel => 122 */
.fn = (dispatch_fn) remoteDispatchNodeGetSecurityModel,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_node_get_security_model_ret,
},
{ /* NodeDeviceCreateXml => 123 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceCreateXml,
.args_filter = (xdrproc_t) xdr_remote_node_device_create_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_node_device_create_xml_ret,
},
{ /* NodeDeviceDestroy => 124 */
.fn = (dispatch_fn) remoteDispatchNodeDeviceDestroy,
.args_filter = (xdrproc_t) xdr_remote_node_device_destroy_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* StorageVolCreateXmlFrom => 125 */
.fn = (dispatch_fn) remoteDispatchStorageVolCreateXmlFrom,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_create_xml_from_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_vol_create_xml_from_ret,
},
{ /* NumOfInterfaces => 126 */
.fn = (dispatch_fn) remoteDispatchNumOfInterfaces,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_interfaces_ret,
},
{ /* ListInterfaces => 127 */
.fn = (dispatch_fn) remoteDispatchListInterfaces,
.args_filter = (xdrproc_t) xdr_remote_list_interfaces_args,
.ret_filter = (xdrproc_t) xdr_remote_list_interfaces_ret,
},
{ /* InterfaceLookupByName => 128 */
.fn = (dispatch_fn) remoteDispatchInterfaceLookupByName,
.args_filter = (xdrproc_t) xdr_remote_interface_lookup_by_name_args,
.ret_filter = (xdrproc_t) xdr_remote_interface_lookup_by_name_ret,
},
{ /* InterfaceLookupByMacString => 129 */
.fn = (dispatch_fn) remoteDispatchInterfaceLookupByMacString,
.args_filter = (xdrproc_t) xdr_remote_interface_lookup_by_mac_string_args,
.ret_filter = (xdrproc_t) xdr_remote_interface_lookup_by_mac_string_ret,
},
{ /* InterfaceGetXmlDesc => 130 */
.fn = (dispatch_fn) remoteDispatchInterfaceGetXmlDesc,
.args_filter = (xdrproc_t) xdr_remote_interface_get_xml_desc_args,
.ret_filter = (xdrproc_t) xdr_remote_interface_get_xml_desc_ret,
},
{ /* InterfaceDefineXml => 131 */
.fn = (dispatch_fn) remoteDispatchInterfaceDefineXml,
.args_filter = (xdrproc_t) xdr_remote_interface_define_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_interface_define_xml_ret,
},
{ /* InterfaceUndefine => 132 */
.fn = (dispatch_fn) remoteDispatchInterfaceUndefine,
.args_filter = (xdrproc_t) xdr_remote_interface_undefine_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* InterfaceCreate => 133 */
.fn = (dispatch_fn) remoteDispatchInterfaceCreate,
.args_filter = (xdrproc_t) xdr_remote_interface_create_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* InterfaceDestroy => 134 */
.fn = (dispatch_fn) remoteDispatchInterfaceDestroy,
.args_filter = (xdrproc_t) xdr_remote_interface_destroy_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainXmlFromNative => 135 */
.fn = (dispatch_fn) remoteDispatchDomainXmlFromNative,
.args_filter = (xdrproc_t) xdr_remote_domain_xml_from_native_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_xml_from_native_ret,
},
{ /* DomainXmlToNative => 136 */
.fn = (dispatch_fn) remoteDispatchDomainXmlToNative,
.args_filter = (xdrproc_t) xdr_remote_domain_xml_to_native_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_xml_to_native_ret,
},
{ /* NumOfDefinedInterfaces => 137 */
.fn = (dispatch_fn) remoteDispatchNumOfDefinedInterfaces,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_defined_interfaces_ret,
},
{ /* ListDefinedInterfaces => 138 */
.fn = (dispatch_fn) remoteDispatchListDefinedInterfaces,
.args_filter = (xdrproc_t) xdr_remote_list_defined_interfaces_args,
.ret_filter = (xdrproc_t) xdr_remote_list_defined_interfaces_ret,
},
{ /* NumOfSecrets => 139 */
.fn = (dispatch_fn) remoteDispatchNumOfSecrets,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_secrets_ret,
},
{ /* ListSecrets => 140 */
.fn = (dispatch_fn) remoteDispatchListSecrets,
.args_filter = (xdrproc_t) xdr_remote_list_secrets_args,
.ret_filter = (xdrproc_t) xdr_remote_list_secrets_ret,
},
Fix UUID handling in secrets/storage encryption APIs Convert all the secret/storage encryption APIs / wire format to handle UUIDs in raw format instead of non-canonical printable format. Guarentees data format correctness. * docs/schemas/storageencryption.rng: Make UUID mandatory for a secret and validate fully * docs/schemas/secret.rng: Fully validate UUID * include/libvirt/libvirt.h, include/libvirt/libvirt.h.in, Add virSecretLookupByUUID and virSecretGetUUID. Make virSecretGetUUIDString follow normal API design pattern * python/generator.py: Skip generation of virSecretGetUUID, virSecretGetUUIDString and virSecretLookupByUUID * python/libvir.c, python/libvirt-python-api.xml: Manual impl of virSecretGetUUID,virSecretGetUUIDString and virSecretLookupByUUID * qemud/remote.c: s/virSecretLookupByUUIDString/virSecretLookupByUUID/ Fix get_nonnull_secret/make_nonnull_secret to use unsigned char * qemud/remote_protocol.x: Fix remote_nonnull_secret to use a remote_uuid instead of remote_nonnull_string for UUID field. Rename REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING to REMOTE_PROC_SECRET_LOOKUP_BY_UUID_STRING and make it take an remote_uuid value * qemud/remote_dispatch_args.h, qemud/remote_dispatch_prototypes.h, qemud/remote_dispatch_ret.h, qemud/remote_dispatch_table.h, qemud/remote_protocol.c, qemud/remote_protocol.h: Re-generate * src/datatypes.h, src/datatypes.c: Store UUID in raw format instead of printable. Change virGetSecret to use raw format UUID * src/driver.h: Rename virDrvSecretLookupByUUIDString to virDrvSecretLookupByUUID and use raw format UUID * src/libvirt.c: Add virSecretLookupByUUID and virSecretGetUUID and re-implement virSecretLookupByUUIDString and virSecretGetUUIDString in terms of those * src/libvirt_public.syms: Add virSecretLookupByUUID and virSecretGetUUID * src/remote_internal.c: Rename remoteSecretLookupByUUIDString to remoteSecretLookupByUUID. Fix typo in args for remoteSecretDefineXML impl. Use raw UUID format for get_nonnull_secret and make_nonnull_secret * src/storage_encryption_conf.c, src/storage_encryption_conf.h: Storage UUID in raw format, and require it to be present in XML. Use UUID parser to validate. * secret_conf.h, secret_conf.c: Generate a UUID if none is provided. Storage UUID in raw format. * src/secret_driver.c: Adjust to deal with raw UUIDs. Save secrets in a filed with printable UUID, instead of base64 UUID. * src/virsh.c: Adjust for changed public API contract of virSecretGetUUIDString. * src/storage_Backend.c: DOn't undefine secret we just generated upon successful volume creation. Fix to handle raw UUIDs. Generate a non-clashing UUID * src/qemu_driver.c: Change to use lookupByUUID instead of lookupByUUIDString
2009-09-10 16:44:12 +00:00
{ /* SecretLookupByUuid => 141 */
.fn = (dispatch_fn) remoteDispatchSecretLookupByUuid,
.args_filter = (xdrproc_t) xdr_remote_secret_lookup_by_uuid_args,
.ret_filter = (xdrproc_t) xdr_remote_secret_lookup_by_uuid_ret,
},
{ /* SecretDefineXml => 142 */
.fn = (dispatch_fn) remoteDispatchSecretDefineXml,
.args_filter = (xdrproc_t) xdr_remote_secret_define_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_secret_define_xml_ret,
},
{ /* SecretGetXmlDesc => 143 */
.fn = (dispatch_fn) remoteDispatchSecretGetXmlDesc,
.args_filter = (xdrproc_t) xdr_remote_secret_get_xml_desc_args,
.ret_filter = (xdrproc_t) xdr_remote_secret_get_xml_desc_ret,
},
{ /* SecretSetValue => 144 */
.fn = (dispatch_fn) remoteDispatchSecretSetValue,
.args_filter = (xdrproc_t) xdr_remote_secret_set_value_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* SecretGetValue => 145 */
.fn = (dispatch_fn) remoteDispatchSecretGetValue,
.args_filter = (xdrproc_t) xdr_remote_secret_get_value_args,
.ret_filter = (xdrproc_t) xdr_remote_secret_get_value_ret,
},
{ /* SecretUndefine => 146 */
.fn = (dispatch_fn) remoteDispatchSecretUndefine,
.args_filter = (xdrproc_t) xdr_remote_secret_undefine_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* SecretLookupByUsage => 147 */
.fn = (dispatch_fn) remoteDispatchSecretLookupByUsage,
.args_filter = (xdrproc_t) xdr_remote_secret_lookup_by_usage_args,
.ret_filter = (xdrproc_t) xdr_remote_secret_lookup_by_usage_ret,
},
{ /* DomainMigratePrepareTunnel => 148 */
.fn = (dispatch_fn) remoteDispatchDomainMigratePrepareTunnel,
.args_filter = (xdrproc_t) xdr_remote_domain_migrate_prepare_tunnel_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* IsSecure => 149 */
.fn = (dispatch_fn) remoteDispatchIsSecure,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_is_secure_ret,
},
{ /* DomainIsActive => 150 */
.fn = (dispatch_fn) remoteDispatchDomainIsActive,
.args_filter = (xdrproc_t) xdr_remote_domain_is_active_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_is_active_ret,
},
{ /* DomainIsPersistent => 151 */
.fn = (dispatch_fn) remoteDispatchDomainIsPersistent,
.args_filter = (xdrproc_t) xdr_remote_domain_is_persistent_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_is_persistent_ret,
},
{ /* NetworkIsActive => 152 */
.fn = (dispatch_fn) remoteDispatchNetworkIsActive,
.args_filter = (xdrproc_t) xdr_remote_network_is_active_args,
.ret_filter = (xdrproc_t) xdr_remote_network_is_active_ret,
},
{ /* NetworkIsPersistent => 153 */
.fn = (dispatch_fn) remoteDispatchNetworkIsPersistent,
.args_filter = (xdrproc_t) xdr_remote_network_is_persistent_args,
.ret_filter = (xdrproc_t) xdr_remote_network_is_persistent_ret,
},
{ /* StoragePoolIsActive => 154 */
.fn = (dispatch_fn) remoteDispatchStoragePoolIsActive,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_is_active_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_is_active_ret,
},
{ /* StoragePoolIsPersistent => 155 */
.fn = (dispatch_fn) remoteDispatchStoragePoolIsPersistent,
.args_filter = (xdrproc_t) xdr_remote_storage_pool_is_persistent_args,
.ret_filter = (xdrproc_t) xdr_remote_storage_pool_is_persistent_ret,
},
{ /* InterfaceIsActive => 156 */
.fn = (dispatch_fn) remoteDispatchInterfaceIsActive,
.args_filter = (xdrproc_t) xdr_remote_interface_is_active_args,
.ret_filter = (xdrproc_t) xdr_remote_interface_is_active_ret,
},
{ /* GetLibVersion => 157 */
.fn = (dispatch_fn) remoteDispatchGetLibVersion,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_get_lib_version_ret,
},
{ /* CpuCompare => 158 */
.fn = (dispatch_fn) remoteDispatchCpuCompare,
.args_filter = (xdrproc_t) xdr_remote_cpu_compare_args,
.ret_filter = (xdrproc_t) xdr_remote_cpu_compare_ret,
},
{ /* DomainMemoryStats => 159 */
.fn = (dispatch_fn) remoteDispatchDomainMemoryStats,
.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,
},
{ /* CpuBaseline => 162 */
.fn = (dispatch_fn) remoteDispatchCpuBaseline,
.args_filter = (xdrproc_t) xdr_remote_cpu_baseline_args,
.ret_filter = (xdrproc_t) xdr_remote_cpu_baseline_ret,
},
{ /* DomainGetJobInfo => 163 */
.fn = (dispatch_fn) remoteDispatchDomainGetJobInfo,
.args_filter = (xdrproc_t) xdr_remote_domain_get_job_info_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_job_info_ret,
},
{ /* DomainAbortJob => 164 */
.fn = (dispatch_fn) remoteDispatchDomainAbortJob,
.args_filter = (xdrproc_t) xdr_remote_domain_abort_job_args,
.ret_filter = (xdrproc_t) xdr_void,
},
2010-03-01 20:32:35 +00:00
{ /* StorageVolWipe => 165 */
.fn = (dispatch_fn) remoteDispatchStorageVolWipe,
.args_filter = (xdrproc_t) xdr_remote_storage_vol_wipe_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainMigrateSetMaxDowntime => 166 */
.fn = (dispatch_fn) remoteDispatchDomainMigrateSetMaxDowntime,
.args_filter = (xdrproc_t) xdr_remote_domain_migrate_set_max_downtime_args,
.ret_filter = (xdrproc_t) xdr_void,
},
Remote driver & daemon impl of new event API This wires up the remote driver to handle the new events APIs. The public API allows an application to request a callback filters events to a specific domain object, and register multiple callbacks for the same event type. On the wire there are two strategies for this - Register multiple callbacks with the remote daemon, each with filtering as needed - Register only one callback per event type, with no filtering Both approaches have potential inefficiency. In the first scheme, the same event gets sent over the wire many times if multiple callbacks are registered. With the second scheme, unneccessary events get sent over the wire if a per-domain filter is set on the client. The second scheme is far easier to implement though, so this patch takes that approach. * daemon/dispatch.h: Don't export remoteRelayDomainEvent since it is no longer needed for unregistering callbacks, instead the unique callback ID is used * daemon/libvirtd.c, daemon/libvirtd.h: Track and unregister callbacks based on callback ID, instead of function pointer * daemon/remote.c: Switch over to using virConnectDomainEventRegisterAny instead of legacy virConnectDomainEventRegister function. Refactor remoteDispatchDomainEventSend() to cope with arbitrary event types * src/driver.h, src/driver.c: Move verify() call into source file instead of header, to avoid polluting the global namespace with the verify function name * src/remote/remote_driver.c: Implement new APIs for event registration. Refactor processCallDispatchMessage() to cope with arbitrary incoming event types. Merge remoteDomainQueueEvent() into processCallDispatchMessage() to avoid duplication of code. Rename remoteDomainReadEvent() to remoteDomainReadEventLifecycle() * src/remote/remote_protocol.x: Define wire format for the new virConnectDomainEventRegisterAny and virConnectDomainEventDeregisterAny functions
2010-03-18 14:56:56 +00:00
{ /* DomainEventsRegisterAny => 167 */
.fn = (dispatch_fn) remoteDispatchDomainEventsRegisterAny,
.args_filter = (xdrproc_t) xdr_remote_domain_events_register_any_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainEventsDeregisterAny => 168 */
.fn = (dispatch_fn) remoteDispatchDomainEventsDeregisterAny,
.args_filter = (xdrproc_t) xdr_remote_domain_events_deregister_any_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* Async event DomainEventReboot => 169 */
.fn = NULL,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* Async event DomainEventRtcChange => 170 */
.fn = NULL,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* Async event DomainEventWatchdog => 171 */
.fn = NULL,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
Add support for an explicit IO error event This introduces a new event type VIR_DOMAIN_EVENT_ID_IO_ERROR This event includes the action that is about to be taken as a result of the watchdog triggering typedef enum { VIR_DOMAIN_EVENT_IO_ERROR_NONE = 0, VIR_DOMAIN_EVENT_IO_ERROR_PAUSE, VIR_DOMAIN_EVENT_IO_ERROR_REPORT, } virDomainEventIOErrorAction; In addition it has the source path of the disk that had the error and its unique device alias. It does not include the target device name (/dev/sda), since this would preclude triggering IO errors from other file backed devices (eg serial ports connected to a file) Thus there is a new callback definition for this event type typedef void (*virConnectDomainEventIOErrorCallback)(virConnectPtr conn, virDomainPtr dom, const char *srcPath, const char *devAlias, int action, void *opaque); This is currently wired up to the QEMU block IO error events * daemon/remote.c: Dispatch IO error events to client * examples/domain-events/events-c/event-test.c: Watch for IO error events * include/libvirt/libvirt.h.in: Define new IO error event ID and callback signature * src/conf/domain_event.c, src/conf/domain_event.h, src/libvirt_private.syms: Extend API to handle IO error events * src/qemu/qemu_driver.c: Connect to the QEMU monitor event for block IO errors and emit a libvirt IO error event * src/remote/remote_driver.c: Receive and dispatch IO error events to application * src/remote/remote_protocol.x: Wire protocol definition for IO error events * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h, src/qemu/qemu_monitor_json.c: Watch for BLOCK_IO_ERROR event from QEMU monitor
2010-03-18 19:37:44 +00:00
{ /* Async event DomainEventIoError => 172 */
.fn = NULL,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* Async event DomainEventGraphics => 173 */
Add domain events for graphics network clients This introduces a new event type VIR_DOMAIN_EVENT_ID_GRAPHICS The same event can be emitted in 3 scenarios typedef enum { VIR_DOMAIN_EVENT_GRAPHICS_CONNECT = 0, VIR_DOMAIN_EVENT_GRAPHICS_INITIALIZE, VIR_DOMAIN_EVENT_GRAPHICS_DISCONNECT, } virDomainEventGraphicsPhase; Connect/disconnect are triggered at socket accept/close. The initialize phase is immediately after the protocol setup and authentication has completed. ie when the client is authorized and about to start interacting with the graphical desktop This event comes with *a lot* of potential information - IP address, port & address family of client - IP address, port & address family of server - Authentication scheme (arbitrary string) - Authenticated subject identity. A subject may have multiple identities with some authentication schemes. For example, vencrypt+sasl results in a x509dname and saslUsername identities. This results in a very complicated callback :-( typedef enum { VIR_DOMAIN_EVENT_GRAPHICS_ADDRESS_IPV4, VIR_DOMAIN_EVENT_GRAPHICS_ADDRESS_IPV6, } virDomainEventGraphicsAddressType; struct _virDomainEventGraphicsAddress { int family; const char *node; const char *service; }; typedef struct _virDomainEventGraphicsAddress virDomainEventGraphicsAddress; typedef virDomainEventGraphicsAddress *virDomainEventGraphicsAddressPtr; struct _virDomainEventGraphicsSubject { int nidentity; struct { const char *type; const char *name; } *identities; }; typedef struct _virDomainEventGraphicsSubject virDomainEventGraphicsSubject; typedef virDomainEventGraphicsSubject *virDomainEventGraphicsSubjectPtr; typedef void (*virConnectDomainEventGraphicsCallback)(virConnectPtr conn, virDomainPtr dom, int phase, virDomainEventGraphicsAddressPtr local, virDomainEventGraphicsAddressPtr remote, const char *authScheme, virDomainEventGraphicsSubjectPtr subject, void *opaque); The wire protocol is similarly complex struct remote_domain_event_graphics_address { int family; remote_nonnull_string node; remote_nonnull_string service; }; const REMOTE_DOMAIN_EVENT_GRAPHICS_IDENTITY_MAX = 20; struct remote_domain_event_graphics_identity { remote_nonnull_string type; remote_nonnull_string name; }; struct remote_domain_event_graphics_msg { remote_nonnull_domain dom; int phase; remote_domain_event_graphics_address local; remote_domain_event_graphics_address remote; remote_nonnull_string authScheme; remote_domain_event_graphics_identity subject<REMOTE_DOMAIN_EVENT_GRAPHICS_IDENTITY_MAX>; }; This is currently implemented in QEMU for the VNC graphics protocol, but designed to be usable with SPICE graphics in the future too. * daemon/remote.c: Dispatch graphics events to client * examples/domain-events/events-c/event-test.c: Watch for graphics events * include/libvirt/libvirt.h.in: Define new graphics event ID and callback signature * src/conf/domain_event.c, src/conf/domain_event.h, src/libvirt_private.syms: Extend API to handle graphics events * src/qemu/qemu_driver.c: Connect to the QEMU monitor event for VNC events and emit a libvirt graphics event * src/remote/remote_driver.c: Receive and dispatch graphics events to application * src/remote/remote_protocol.x: Wire protocol definition for graphics events * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h, src/qemu/qemu_monitor_json.c: Watch for VNC_CONNECTED, VNC_INITIALIZED & VNC_DISCONNETED events from QEMU monitor
2010-03-19 13:27:45 +00:00
.fn = NULL,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainUpdateDeviceFlags => 174 */
.fn = (dispatch_fn) remoteDispatchDomainUpdateDeviceFlags,
.args_filter = (xdrproc_t) xdr_remote_domain_update_device_flags_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* NwfilterLookupByName => 175 */
.fn = (dispatch_fn) remoteDispatchNwfilterLookupByName,
.args_filter = (xdrproc_t) xdr_remote_nwfilter_lookup_by_name_args,
.ret_filter = (xdrproc_t) xdr_remote_nwfilter_lookup_by_name_ret,
},
{ /* NwfilterLookupByUuid => 176 */
.fn = (dispatch_fn) remoteDispatchNwfilterLookupByUuid,
.args_filter = (xdrproc_t) xdr_remote_nwfilter_lookup_by_uuid_args,
.ret_filter = (xdrproc_t) xdr_remote_nwfilter_lookup_by_uuid_ret,
},
{ /* NwfilterGetXmlDesc => 177 */
.fn = (dispatch_fn) remoteDispatchNwfilterGetXmlDesc,
.args_filter = (xdrproc_t) xdr_remote_nwfilter_get_xml_desc_args,
.ret_filter = (xdrproc_t) xdr_remote_nwfilter_get_xml_desc_ret,
},
{ /* NumOfNwfilters => 178 */
.fn = (dispatch_fn) remoteDispatchNumOfNwfilters,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_remote_num_of_nwfilters_ret,
},
{ /* ListNwfilters => 179 */
.fn = (dispatch_fn) remoteDispatchListNwfilters,
.args_filter = (xdrproc_t) xdr_remote_list_nwfilters_args,
.ret_filter = (xdrproc_t) xdr_remote_list_nwfilters_ret,
},
{ /* NwfilterDefineXml => 180 */
.fn = (dispatch_fn) remoteDispatchNwfilterDefineXml,
.args_filter = (xdrproc_t) xdr_remote_nwfilter_define_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_nwfilter_define_xml_ret,
},
{ /* NwfilterUndefine => 181 */
.fn = (dispatch_fn) remoteDispatchNwfilterUndefine,
.args_filter = (xdrproc_t) xdr_remote_nwfilter_undefine_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainManagedSave => 182 */
.fn = (dispatch_fn) remoteDispatchDomainManagedSave,
.args_filter = (xdrproc_t) xdr_remote_domain_managed_save_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainHasManagedSaveImage => 183 */
.fn = (dispatch_fn) remoteDispatchDomainHasManagedSaveImage,
.args_filter = (xdrproc_t) xdr_remote_domain_has_managed_save_image_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_has_managed_save_image_ret,
},
{ /* DomainManagedSaveRemove => 184 */
.fn = (dispatch_fn) remoteDispatchDomainManagedSaveRemove,
.args_filter = (xdrproc_t) xdr_remote_domain_managed_save_remove_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainSnapshotCreateXml => 185 */
.fn = (dispatch_fn) remoteDispatchDomainSnapshotCreateXml,
.args_filter = (xdrproc_t) xdr_remote_domain_snapshot_create_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_snapshot_create_xml_ret,
},
{ /* DomainSnapshotDumpXml => 186 */
.fn = (dispatch_fn) remoteDispatchDomainSnapshotDumpXml,
.args_filter = (xdrproc_t) xdr_remote_domain_snapshot_dump_xml_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_snapshot_dump_xml_ret,
},
{ /* DomainSnapshotNum => 187 */
.fn = (dispatch_fn) remoteDispatchDomainSnapshotNum,
.args_filter = (xdrproc_t) xdr_remote_domain_snapshot_num_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_snapshot_num_ret,
},
{ /* DomainSnapshotListNames => 188 */
.fn = (dispatch_fn) remoteDispatchDomainSnapshotListNames,
.args_filter = (xdrproc_t) xdr_remote_domain_snapshot_list_names_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_snapshot_list_names_ret,
},
{ /* DomainSnapshotLookupByName => 189 */
.fn = (dispatch_fn) remoteDispatchDomainSnapshotLookupByName,
.args_filter = (xdrproc_t) xdr_remote_domain_snapshot_lookup_by_name_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_snapshot_lookup_by_name_ret,
},
{ /* DomainHasCurrentSnapshot => 190 */
.fn = (dispatch_fn) remoteDispatchDomainHasCurrentSnapshot,
.args_filter = (xdrproc_t) xdr_remote_domain_has_current_snapshot_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_has_current_snapshot_ret,
},
{ /* DomainSnapshotCurrent => 191 */
.fn = (dispatch_fn) remoteDispatchDomainSnapshotCurrent,
.args_filter = (xdrproc_t) xdr_remote_domain_snapshot_current_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_snapshot_current_ret,
},
{ /* DomainRevertToSnapshot => 192 */
.fn = (dispatch_fn) remoteDispatchDomainRevertToSnapshot,
.args_filter = (xdrproc_t) xdr_remote_domain_revert_to_snapshot_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainSnapshotDelete => 193 */
.fn = (dispatch_fn) remoteDispatchDomainSnapshotDelete,
.args_filter = (xdrproc_t) xdr_remote_domain_snapshot_delete_args,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainGetBlockInfo => 194 */
.fn = (dispatch_fn) remoteDispatchDomainGetBlockInfo,
.args_filter = (xdrproc_t) xdr_remote_domain_get_block_info_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_get_block_info_ret,
},
{ /* Async event DomainEventIoErrorReason => 195 */
.fn = NULL,
.args_filter = (xdrproc_t) xdr_void,
.ret_filter = (xdrproc_t) xdr_void,
},
{ /* DomainCreateWithFlags => 196 */
.fn = (dispatch_fn) remoteDispatchDomainCreateWithFlags,
.args_filter = (xdrproc_t) xdr_remote_domain_create_with_flags_args,
.ret_filter = (xdrproc_t) xdr_remote_domain_create_with_flags_ret,
},