diff options
author | awilliam@xenbuild2.aw <awilliam@xenbuild2.aw> | 2007-01-31 10:30:54 -0700 |
---|---|---|
committer | awilliam@xenbuild2.aw <awilliam@xenbuild2.aw> | 2007-01-31 10:30:54 -0700 |
commit | 8e36c6490cab47a5b4acbd480a9f30f36d21fd6f (patch) | |
tree | 39eee25efcc0e8738a5e06b84daccb012fb516fc /tools/libxen/src/xen_vbd.c | |
parent | 0bf55ad11aee51ec964904535b7a9ba0b694870f (diff) | |
parent | f492dd97fb674fbf6fe86f3052a50098ed169201 (diff) | |
download | xen-8e36c6490cab47a5b4acbd480a9f30f36d21fd6f.tar.gz xen-8e36c6490cab47a5b4acbd480a9f30f36d21fd6f.tar.bz2 xen-8e36c6490cab47a5b4acbd480a9f30f36d21fd6f.zip |
merge with xen-unstable.hg
Diffstat (limited to 'tools/libxen/src/xen_vbd.c')
-rw-r--r-- | tools/libxen/src/xen_vbd.c | 70 |
1 files changed, 18 insertions, 52 deletions
diff --git a/tools/libxen/src/xen_vbd.c b/tools/libxen/src/xen_vbd.c index c49ecf236a..786c7ea896 100644 --- a/tools/libxen/src/xen_vbd.c +++ b/tools/libxen/src/xen_vbd.c @@ -21,7 +21,6 @@ #include <stdlib.h> #include "xen_common.h" -#include "xen_driver_type_internal.h" #include "xen_internal.h" #include "xen_vbd.h" #include "xen_vbd_mode_internal.h" @@ -55,12 +54,12 @@ static const struct_member xen_vbd_record_struct_members[] = { .key = "image", .type = &abstract_type_string, .offset = offsetof(xen_vbd_record, image) }, + { .key = "bootable", + .type = &abstract_type_bool, + .offset = offsetof(xen_vbd_record, bootable) }, { .key = "mode", .type = &xen_vbd_mode_abstract_type_, .offset = offsetof(xen_vbd_record, mode) }, - { .key = "driver", - .type = &xen_driver_type_abstract_type_, - .offset = offsetof(xen_vbd_record, driver) }, { .key = "io_read_kbs", .type = &abstract_type_float, .offset = offsetof(xen_vbd_record, io_read_kbs) }, @@ -218,7 +217,7 @@ xen_vbd_get_device(xen_session *session, char **result, xen_vbd vbd) bool -xen_vbd_get_mode(xen_session *session, enum xen_vbd_mode *result, xen_vbd vbd) +xen_vbd_get_bootable(xen_session *session, bool *result, xen_vbd vbd) { abstract_value param_values[] = { @@ -226,16 +225,15 @@ xen_vbd_get_mode(xen_session *session, enum xen_vbd_mode *result, xen_vbd vbd) .u.string_val = vbd } }; - abstract_type result_type = xen_vbd_mode_abstract_type_; - char *result_str = NULL; - XEN_CALL_("VBD.get_mode"); - *result = xen_vbd_mode_from_string(session, result_str); + abstract_type result_type = abstract_type_bool; + + XEN_CALL_("VBD.get_bootable"); return session->ok; } bool -xen_vbd_get_driver(xen_session *session, enum xen_driver_type *result, xen_vbd vbd) +xen_vbd_get_mode(xen_session *session, enum xen_vbd_mode *result, xen_vbd vbd) { abstract_value param_values[] = { @@ -243,10 +241,10 @@ xen_vbd_get_driver(xen_session *session, enum xen_driver_type *result, xen_vbd v .u.string_val = vbd } }; - abstract_type result_type = xen_driver_type_abstract_type_; + abstract_type result_type = xen_vbd_mode_abstract_type_; char *result_str = NULL; - XEN_CALL_("VBD.get_driver"); - *result = xen_driver_type_from_string(session, result_str); + XEN_CALL_("VBD.get_mode"); + *result = xen_vbd_mode_from_string(session, result_str); return session->ok; } @@ -284,49 +282,33 @@ xen_vbd_get_io_write_kbs(xen_session *session, double *result, xen_vbd vbd) bool -xen_vbd_set_vm(xen_session *session, xen_vbd vbd, xen_vm vm) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vbd }, - { .type = &abstract_type_string, - .u.string_val = vm } - }; - - xen_call_(session, "VBD.set_VM", param_values, 2, NULL, NULL); - return session->ok; -} - - -bool -xen_vbd_set_vdi(xen_session *session, xen_vbd vbd, xen_vdi vdi) +xen_vbd_set_device(xen_session *session, xen_vbd vbd, char *device) { abstract_value param_values[] = { { .type = &abstract_type_string, .u.string_val = vbd }, { .type = &abstract_type_string, - .u.string_val = vdi } + .u.string_val = device } }; - xen_call_(session, "VBD.set_VDI", param_values, 2, NULL, NULL); + xen_call_(session, "VBD.set_device", param_values, 2, NULL, NULL); return session->ok; } bool -xen_vbd_set_device(xen_session *session, xen_vbd vbd, char *device) +xen_vbd_set_bootable(xen_session *session, xen_vbd vbd, bool bootable) { abstract_value param_values[] = { { .type = &abstract_type_string, .u.string_val = vbd }, - { .type = &abstract_type_string, - .u.string_val = device } + { .type = &abstract_type_bool, + .u.bool_val = bootable } }; - xen_call_(session, "VBD.set_device", param_values, 2, NULL, NULL); + xen_call_(session, "VBD.set_bootable", param_values, 2, NULL, NULL); return session->ok; } @@ -348,22 +330,6 @@ xen_vbd_set_mode(xen_session *session, xen_vbd vbd, enum xen_vbd_mode mode) bool -xen_vbd_set_driver(xen_session *session, xen_vbd vbd, enum xen_driver_type driver) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vbd }, - { .type = &xen_driver_type_abstract_type_, - .u.string_val = xen_driver_type_to_string(driver) } - }; - - xen_call_(session, "VBD.set_driver", param_values, 2, NULL, NULL); - return session->ok; -} - - -bool xen_vbd_media_change(xen_session *session, xen_vbd vbd, xen_vdi vdi) { abstract_value param_values[] = |