Implement HostCPU.{vendor,speed,modelname}.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
This commit is contained in:
Ewan Mellor committed 2006-10-26 15:56:44 +01:00
1 parent 4809ab6f09
commit 6e30095293
2 files changed
+85

No files matched your search

+24
View File
@@ -66,6 +66,9 @@ typedef struct xen_host_cpu_record
char *uuid;
struct xen_host_record_opt *host;
uint64_t number;
char *vendor;
uint64_t speed;
char *modelname;
struct xen_cpu_feature_set *features;
double utilisation;
} xen_host_cpu_record;
@@ -191,6 +194,27 @@ extern bool
xen_host_cpu_get_number(xen_session *session, uint64_t *result, xen_host_cpu host_cpu);
/**
* Get the vendor field of the given host_cpu.
*/
extern bool
xen_host_cpu_get_vendor(xen_session *session, char **result, xen_host_cpu host_cpu);
/**
* Get the speed field of the given host_cpu.
*/
extern bool
xen_host_cpu_get_speed(xen_session *session, uint64_t *result, xen_host_cpu host_cpu);
/**
* Get the modelname field of the given host_cpu.
*/
extern bool
xen_host_cpu_get_modelname(xen_session *session, char **result, xen_host_cpu host_cpu);
/**
* Get the features field of the given host_cpu.
*/
+61
View File
@@ -48,6 +48,15 @@ static const struct_member xen_host_cpu_record_struct_members[] =
{ .key = "number",
.type = &abstract_type_int,
.offset = offsetof(xen_host_cpu_record, number) },
{ .key = "vendor",
.type = &abstract_type_string,
.offset = offsetof(xen_host_cpu_record, vendor) },
{ .key = "speed",
.type = &abstract_type_int,
.offset = offsetof(xen_host_cpu_record, speed) },
{ .key = "modelname",
.type = &abstract_type_string,
.offset = offsetof(xen_host_cpu_record, modelname) },
{ .key = "features",
.type = &xen_cpu_feature_set_abstract_type_,
.offset = offsetof(xen_host_cpu_record, features) },
@@ -72,6 +81,8 @@ xen_host_cpu_record_free(xen_host_cpu_record *record)
free(record->handle);
free(record->uuid);
xen_host_record_opt_free(record->host);
free(record->vendor);
free(record->modelname);
xen_cpu_feature_set_free(record->features);
free(record);
}
@@ -167,6 +178,56 @@ xen_host_cpu_get_number(xen_session *session, uint64_t *result, xen_host_cpu hos
}
bool
xen_host_cpu_get_vendor(xen_session *session, char **result, xen_host_cpu host_cpu)
{
abstract_value param_values[] =
{
{ .type = &abstract_type_string,
.u.string_val = host_cpu }
};
abstract_type result_type = abstract_type_string;
*result = NULL;
XEN_CALL_("host_cpu.get_vendor");
return session->ok;
}
bool
xen_host_cpu_get_speed(xen_session *session, uint64_t *result, xen_host_cpu host_cpu)
{
abstract_value param_values[] =
{
{ .type = &abstract_type_string,
.u.string_val = host_cpu }
};
abstract_type result_type = abstract_type_int;
XEN_CALL_("host_cpu.get_speed");
return session->ok;
}
bool
xen_host_cpu_get_modelname(xen_session *session, char **result, xen_host_cpu host_cpu)
{
abstract_value param_values[] =
{
{ .type = &abstract_type_string,
.u.string_val = host_cpu }
};
abstract_type result_type = abstract_type_string;
*result = NULL;
XEN_CALL_("host_cpu.get_modelname");
return session->ok;
}
bool
xen_host_cpu_get_features(xen_session *session, struct xen_cpu_feature_set **result, xen_host_cpu host_cpu)
{
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.