Tue Jun 26 12:40:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>

* include/libvirt/libvirt.h.in, src/libvirt.c: (and numerous
	  other files) Added support for virConnectGetHostname
	  and virConnectGetURI calls.
This commit is contained in:
Richard W.M. Jones
2007-06-26 11:42:46 +00:00
parent aa053ba2c5
commit 2be812bbc9
25 changed files with 378 additions and 15 deletions

View File

@@ -459,6 +459,22 @@ remoteDispatchGetVersion (struct qemud_client *client,
return 0;
}
static int
remoteDispatchGetHostname (struct qemud_client *client,
remote_message_header *req,
void *args ATTRIBUTE_UNUSED,
remote_get_hostname_ret *ret)
{
char *hostname;
CHECK_CONN(client);
hostname = virConnectGetHostname (client->conn);
if (hostname == NULL) return -1;
ret->hostname = hostname;
return 0;
}
static int
remoteDispatchGetMaxVcpus (struct qemud_client *client,
remote_message_header *req,

View File

@@ -20,6 +20,7 @@ remote_domain_get_os_type_ret lv_remote_domain_get_os_type_ret;
remote_domain_get_autostart_args lv_remote_domain_get_autostart_args;
remote_domain_get_autostart_ret lv_remote_domain_get_autostart_ret;
remote_domain_set_vcpus_args lv_remote_domain_set_vcpus_args;
remote_get_hostname_ret lv_remote_get_hostname_ret;
remote_domain_get_scheduler_type_args lv_remote_domain_get_scheduler_type_args;
remote_domain_get_scheduler_type_ret lv_remote_domain_get_scheduler_type_ret;
remote_network_undefine_args lv_remote_network_undefine_args;

View File

@@ -245,6 +245,12 @@ case REMOTE_PROC_GET_CAPABILITIES:
ret = (char *) &lv_remote_get_capabilities_ret;
memset (&lv_remote_get_capabilities_ret, 0, sizeof lv_remote_get_capabilities_ret);
break;
case REMOTE_PROC_GET_HOSTNAME:
fn = (dispatch_fn) remoteDispatchGetHostname;
ret_filter = (xdrproc_t) xdr_remote_get_hostname_ret;
ret = (char *) &lv_remote_get_hostname_ret;
memset (&lv_remote_get_hostname_ret, 0, sizeof lv_remote_get_hostname_ret);
break;
case REMOTE_PROC_GET_MAX_VCPUS:
fn = (dispatch_fn) remoteDispatchGetMaxVcpus;
args_filter = (xdrproc_t) xdr_remote_get_max_vcpus_args;

View File

@@ -36,6 +36,7 @@ static int remoteDispatchDomainShutdown (struct qemud_client *client, remote_mes
static int remoteDispatchDomainSuspend (struct qemud_client *client, remote_message_header *req, remote_domain_suspend_args *args, void *ret);
static int remoteDispatchDomainUndefine (struct qemud_client *client, remote_message_header *req, remote_domain_undefine_args *args, void *ret);
static int remoteDispatchGetCapabilities (struct qemud_client *client, remote_message_header *req, void *args, remote_get_capabilities_ret *ret);
static int remoteDispatchGetHostname (struct qemud_client *client, remote_message_header *req, void *args, remote_get_hostname_ret *ret);
static int remoteDispatchGetMaxVcpus (struct qemud_client *client, remote_message_header *req, remote_get_max_vcpus_args *args, remote_get_max_vcpus_ret *ret);
static int remoteDispatchGetType (struct qemud_client *client, remote_message_header *req, void *args, remote_get_type_ret *ret);
static int remoteDispatchGetVersion (struct qemud_client *client, remote_message_header *req, void *args, remote_get_version_ret *ret);

View File

@@ -195,6 +195,15 @@ xdr_remote_get_version_ret (XDR *xdrs, remote_get_version_ret *objp)
return TRUE;
}
bool_t
xdr_remote_get_hostname_ret (XDR *xdrs, remote_get_hostname_ret *objp)
{
if (!xdr_remote_nonnull_string (xdrs, &objp->hostname))
return FALSE;
return TRUE;
}
bool_t
xdr_remote_get_max_vcpus_args (XDR *xdrs, remote_get_max_vcpus_args *objp)
{

View File

@@ -105,6 +105,11 @@ struct remote_get_version_ret {
};
typedef struct remote_get_version_ret remote_get_version_ret;
struct remote_get_hostname_ret {
remote_nonnull_string hostname;
};
typedef struct remote_get_hostname_ret remote_get_hostname_ret;
struct remote_get_max_vcpus_args {
remote_string type;
};
@@ -626,6 +631,7 @@ enum remote_procedure {
REMOTE_PROC_DOMAIN_GET_SCHEDULER_TYPE = 56,
REMOTE_PROC_DOMAIN_GET_SCHEDULER_PARAMETERS = 57,
REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS = 58,
REMOTE_PROC_GET_HOSTNAME = 59,
};
typedef enum remote_procedure remote_procedure;
@@ -669,6 +675,7 @@ extern bool_t xdr_remote_sched_param (XDR *, remote_sched_param*);
extern bool_t xdr_remote_open_args (XDR *, remote_open_args*);
extern bool_t xdr_remote_get_type_ret (XDR *, remote_get_type_ret*);
extern bool_t xdr_remote_get_version_ret (XDR *, remote_get_version_ret*);
extern bool_t xdr_remote_get_hostname_ret (XDR *, remote_get_hostname_ret*);
extern bool_t xdr_remote_get_max_vcpus_args (XDR *, remote_get_max_vcpus_args*);
extern bool_t xdr_remote_get_max_vcpus_ret (XDR *, remote_get_max_vcpus_ret*);
extern bool_t xdr_remote_node_get_info_ret (XDR *, remote_node_get_info_ret*);
@@ -769,6 +776,7 @@ extern bool_t xdr_remote_sched_param ();
extern bool_t xdr_remote_open_args ();
extern bool_t xdr_remote_get_type_ret ();
extern bool_t xdr_remote_get_version_ret ();
extern bool_t xdr_remote_get_hostname_ret ();
extern bool_t xdr_remote_get_max_vcpus_args ();
extern bool_t xdr_remote_get_max_vcpus_ret ();
extern bool_t xdr_remote_node_get_info_ret ();

View File

@@ -178,6 +178,10 @@ struct remote_get_version_ret {
hyper hv_ver;
};
struct remote_get_hostname_ret {
remote_nonnull_string hostname;
};
struct remote_get_max_vcpus_args {
/* The only backend which supports this call is Xen HV, and
* there the type is ignored so it could be NULL.
@@ -605,7 +609,8 @@ enum remote_procedure {
REMOTE_PROC_DOMAIN_SAVE = 55,
REMOTE_PROC_DOMAIN_GET_SCHEDULER_TYPE = 56,
REMOTE_PROC_DOMAIN_GET_SCHEDULER_PARAMETERS = 57,
REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS = 58
REMOTE_PROC_DOMAIN_SET_SCHEDULER_PARAMETERS = 58,
REMOTE_PROC_GET_HOSTNAME = 59
};
/* Custom RPC structure. */