aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxen/src/xen_sr.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libxen/src/xen_sr.c')
-rw-r--r--tools/libxen/src/xen_sr.c71
1 files changed, 24 insertions, 47 deletions
diff --git a/tools/libxen/src/xen_sr.c b/tools/libxen/src/xen_sr.c
index 86538241a1..5220fa3019 100644
--- a/tools/libxen/src/xen_sr.c
+++ b/tools/libxen/src/xen_sr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, XenSource Inc.
+ * Copyright (c) 2006-2007, XenSource Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -65,9 +65,9 @@ static const struct_member xen_sr_record_struct_members[] =
{ .key = "type",
.type = &abstract_type_string,
.offset = offsetof(xen_sr_record, type) },
- { .key = "location",
+ { .key = "content_type",
.type = &abstract_type_string,
- .offset = offsetof(xen_sr_record, location) }
+ .offset = offsetof(xen_sr_record, content_type) }
};
const abstract_type xen_sr_record_abstract_type_ =
@@ -94,7 +94,7 @@ xen_sr_record_free(xen_sr_record *record)
xen_vdi_record_opt_set_free(record->vdis);
xen_pbd_record_opt_set_free(record->pbds);
free(record->type);
- free(record->location);
+ free(record->content_type);
free(record);
}
@@ -140,24 +140,24 @@ xen_sr_get_by_uuid(xen_session *session, xen_sr *result, char *uuid)
bool
-xen_sr_create(xen_session *session, xen_sr *result, xen_sr_record *record)
+xen_sr_get_by_name_label(xen_session *session, struct xen_sr_set **result, char *label)
{
abstract_value param_values[] =
{
- { .type = &xen_sr_record_abstract_type_,
- .u.struct_val = record }
+ { .type = &abstract_type_string,
+ .u.string_val = label }
};
- abstract_type result_type = abstract_type_string;
+ abstract_type result_type = abstract_type_string_set;
*result = NULL;
- XEN_CALL_("SR.create");
+ XEN_CALL_("SR.get_by_name_label");
return session->ok;
}
bool
-xen_sr_destroy(xen_session *session, xen_sr sr)
+xen_sr_get_name_label(xen_session *session, char **result, xen_sr sr)
{
abstract_value param_values[] =
{
@@ -165,30 +165,16 @@ xen_sr_destroy(xen_session *session, xen_sr sr)
.u.string_val = sr }
};
- xen_call_(session, "SR.destroy", param_values, 1, NULL, NULL);
- return session->ok;
-}
-
-
-bool
-xen_sr_get_by_name_label(xen_session *session, struct xen_sr_set **result, char *label)
-{
- abstract_value param_values[] =
- {
- { .type = &abstract_type_string,
- .u.string_val = label }
- };
-
- abstract_type result_type = abstract_type_string_set;
+ abstract_type result_type = abstract_type_string;
*result = NULL;
- XEN_CALL_("SR.get_by_name_label");
+ XEN_CALL_("SR.get_name_label");
return session->ok;
}
bool
-xen_sr_get_name_label(xen_session *session, char **result, xen_sr sr)
+xen_sr_get_name_description(xen_session *session, char **result, xen_sr sr)
{
abstract_value param_values[] =
{
@@ -199,13 +185,13 @@ xen_sr_get_name_label(xen_session *session, char **result, xen_sr sr)
abstract_type result_type = abstract_type_string;
*result = NULL;
- XEN_CALL_("SR.get_name_label");
+ XEN_CALL_("SR.get_name_description");
return session->ok;
}
bool
-xen_sr_get_name_description(xen_session *session, char **result, xen_sr sr)
+xen_sr_get_vdis(xen_session *session, struct xen_vdi_set **result, xen_sr sr)
{
abstract_value param_values[] =
{
@@ -213,16 +199,16 @@ xen_sr_get_name_description(xen_session *session, char **result, xen_sr sr)
.u.string_val = sr }
};
- abstract_type result_type = abstract_type_string;
+ abstract_type result_type = abstract_type_string_set;
*result = NULL;
- XEN_CALL_("SR.get_name_description");
+ XEN_CALL_("SR.get_VDIs");
return session->ok;
}
bool
-xen_sr_get_vdis(xen_session *session, struct xen_vdi_set **result, xen_sr sr)
+xen_sr_get_pbds(xen_session *session, struct xen_pbd_set **result, xen_sr sr)
{
abstract_value param_values[] =
{
@@ -233,7 +219,7 @@ xen_sr_get_vdis(xen_session *session, struct xen_vdi_set **result, xen_sr sr)
abstract_type result_type = abstract_type_string_set;
*result = NULL;
- XEN_CALL_("SR.get_VDIs");
+ XEN_CALL_("SR.get_PBDs");
return session->ok;
}
@@ -304,7 +290,7 @@ xen_sr_get_type(xen_session *session, char **result, xen_sr sr)
bool
-xen_sr_get_location(xen_session *session, char **result, xen_sr sr)
+xen_sr_get_content_type(xen_session *session, char **result, xen_sr sr)
{
abstract_value param_values[] =
{
@@ -315,7 +301,7 @@ xen_sr_get_location(xen_session *session, char **result, xen_sr sr)
abstract_type result_type = abstract_type_string;
*result = NULL;
- XEN_CALL_("SR.get_location");
+ XEN_CALL_("SR.get_content_type");
return session->ok;
}
@@ -353,22 +339,13 @@ xen_sr_set_name_description(xen_session *session, xen_sr sr, char *description)
bool
-xen_sr_clone(xen_session *session, xen_sr *result, xen_sr sr, char *loc, char *name)
+xen_sr_get_supported_types(xen_session *session, struct xen_string_set **result)
{
- abstract_value param_values[] =
- {
- { .type = &abstract_type_string,
- .u.string_val = sr },
- { .type = &abstract_type_string,
- .u.string_val = loc },
- { .type = &abstract_type_string,
- .u.string_val = name }
- };
- abstract_type result_type = abstract_type_string;
+ abstract_type result_type = abstract_type_string_set;
*result = NULL;
- XEN_CALL_("SR.clone");
+ xen_call_(session, "SR.get_supported_types", NULL, 0, &result_type, result);
return session->ok;
}