aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxen
diff options
context:
space:
mode:
authorKeir Fraser <keir@xensource.com>2007-10-03 14:04:51 +0100
committerKeir Fraser <keir@xensource.com>2007-10-03 14:04:51 +0100
commit8950f5c6ba8e2349de4162af6f09f36c80670cf7 (patch)
treec504141d5eb47e884c8c7e1e566b15ba0607606c /tools/libxen
parentac9ba8d39deffe57bf3068f365e8a079ac74b5e7 (diff)
downloadxen-8950f5c6ba8e2349de4162af6f09f36c80670cf7.tar.gz
xen-8950f5c6ba8e2349de4162af6f09f36c80670cf7.tar.bz2
xen-8950f5c6ba8e2349de4162af6f09f36c80670cf7.zip
Extend 'xm dumppolicy' to support Xen-API
I am extending 'xm dumppolicy' to be used via the Xen-API. For this there are two new functions in the ACM policy class: - get the currently enforced policy including statistical data from the hypervisor - get the ACM 'ssidref' of a Domain. Since this may be a ACM-specific variable or type (int) I put it into the ACM class. I extended the Xen-API documentation with the two new functions. Signed-off-by: Stefan Berger <Stefanb@us.ibm.com>
Diffstat (limited to 'tools/libxen')
-rw-r--r--tools/libxen/include/xen/api/xen_acmpolicy.h17
-rw-r--r--tools/libxen/src/xen_acmpolicy.c35
2 files changed, 51 insertions, 1 deletions
diff --git a/tools/libxen/include/xen/api/xen_acmpolicy.h b/tools/libxen/include/xen/api/xen_acmpolicy.h
index 4ac1cfd8e8..d0b4a500ca 100644
--- a/tools/libxen/include/xen/api/xen_acmpolicy.h
+++ b/tools/libxen/include/xen/api/xen_acmpolicy.h
@@ -108,7 +108,22 @@ xen_acmpolicy_get_binary(xen_session *session, char **binary,
xen_xspolicy xspolicy);
/**
- * Get the UUID filed of the given policy.
+ * Get the binary representation (base64-encoded) of the currently
+ * enforced policy.
+ */
+extern bool
+xen_acmpolicy_get_enforced_binary(xen_session *session, char **binary,
+ xen_xspolicy xspolicy);
+
+/**
+ * Get the ACM ssidref of the given VM.
+ */
+bool
+xen_acmpolicy_get_VM_ssidref(xen_session *session, int64_t *result,
+ xen_vm vm);
+
+/**
+ * Get the UUID field of the given policy.
*/
bool
xen_acmpolicy_get_uuid(xen_session *session, char **result,
diff --git a/tools/libxen/src/xen_acmpolicy.c b/tools/libxen/src/xen_acmpolicy.c
index 1a6190bfee..f8d69195a4 100644
--- a/tools/libxen/src/xen_acmpolicy.c
+++ b/tools/libxen/src/xen_acmpolicy.c
@@ -217,6 +217,41 @@ xen_acmpolicy_get_binary(xen_session *session, char **result,
bool
+xen_acmpolicy_get_enforced_binary(xen_session *session, char **result,
+ xen_xspolicy xspolicy)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = xspolicy },
+ };
+
+ abstract_type result_type = abstract_type_string;
+
+ *result = NULL;
+ XEN_CALL_("ACMPolicy.get_enforced_binary");
+ return session->ok;
+}
+
+
+bool
+xen_acmpolicy_get_VM_ssidref(xen_session *session,
+ int64_t *result, xen_vm vm)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = vm }
+ };
+
+ abstract_type result_type = abstract_type_int;
+
+ XEN_CALL_("ACMPolicy.get_VM_ssidref");
+ return session->ok;
+}
+
+
+bool
xen_acmpolicy_get_uuid(xen_session *session, char **result,
xen_xspolicy xspolicy)
{