aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxen
diff options
context:
space:
mode:
authorEwan Mellor <ewan@xensource.com>2007-04-04 14:49:38 +0100
committerEwan Mellor <ewan@xensource.com>2007-04-04 14:49:38 +0100
commit5adf114d6838e3b41e865e9c1c4c19ba98f69c63 (patch)
tree83b0e58c6f1b4eee419f292db1e5f3010c7531a1 /tools/libxen
parent6b5e36a305137df9318273981dbceb69ce170818 (diff)
downloadxen-5adf114d6838e3b41e865e9c1c4c19ba98f69c63.tar.gz
xen-5adf114d6838e3b41e865e9c1c4c19ba98f69c63.tar.bz2
xen-5adf114d6838e3b41e865e9c1c4c19ba98f69c63.zip
Remove docs and bindings for unimplemented SR.{create,destroy,clone}.
Implement PBD class, matching existing docs and bindings. Signed-off-by: Ewan Mellor <ewan@xensource.com>
Diffstat (limited to 'tools/libxen')
-rw-r--r--tools/libxen/include/xen_sr.h28
-rw-r--r--tools/libxen/src/xen_sr.c71
2 files changed, 31 insertions, 68 deletions
diff --git a/tools/libxen/include/xen_sr.h b/tools/libxen/include/xen_sr.h
index e5e4299844..39a8dd6650 100644
--- a/tools/libxen/include/xen_sr.h
+++ b/tools/libxen/include/xen_sr.h
@@ -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
@@ -22,6 +22,7 @@
#include "xen_common.h"
#include "xen_pbd_decl.h"
#include "xen_sr_decl.h"
+#include "xen_string_set.h"
#include "xen_vdi_decl.h"
@@ -72,7 +73,7 @@ typedef struct xen_sr_record
int64_t physical_utilisation;
int64_t physical_size;
char *type;
- char *location;
+ char *content_type;
} xen_sr_record;
/**
@@ -169,20 +170,6 @@ xen_sr_get_by_uuid(xen_session *session, xen_sr *result, char *uuid);
/**
- * Create a new SR instance, and return its handle.
- */
-extern bool
-xen_sr_create(xen_session *session, xen_sr *result, xen_sr_record *record);
-
-
-/**
- * Destroy the specified SR instance.
- */
-extern bool
-xen_sr_destroy(xen_session *session, xen_sr sr);
-
-
-/**
* Get all the SR instances with the given label.
*/
extern bool
@@ -253,10 +240,10 @@ xen_sr_get_type(xen_session *session, char **result, xen_sr sr);
/**
- * Get the location field of the given SR.
+ * Get the content_type field of the given SR.
*/
extern 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);
/**
@@ -274,11 +261,10 @@ xen_sr_set_name_description(xen_session *session, xen_sr sr, char *description);
/**
- * Take an exact copy of the Storage Repository; the cloned storage
- * repository has the same type as its parent
+ * Return a set of all the SR types supported by the system.
*/
extern 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);
/**
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;
}