aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxen
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libxen')
-rw-r--r--tools/libxen/include/xen_host.h14
-rw-r--r--tools/libxen/src/xen_host.c33
2 files changed, 47 insertions, 0 deletions
diff --git a/tools/libxen/include/xen_host.h b/tools/libxen/include/xen_host.h
index a27c875687..f380f989d0 100644
--- a/tools/libxen/include/xen_host.h
+++ b/tools/libxen/include/xen_host.h
@@ -443,6 +443,20 @@ xen_host_dmesg_clear(xen_session *session, char **result, xen_host host);
/**
+ * Get the host's log file.
+ */
+extern bool
+xen_host_get_log(xen_session *session, char **result, xen_host host);
+
+
+/**
+ * Inject the given string as debugging keys into Xen.
+ */
+extern bool
+xen_host_send_debug_keys(xen_session *session, xen_host host, char *keys);
+
+
+/**
* List all supported methods.
*/
extern bool
diff --git a/tools/libxen/src/xen_host.c b/tools/libxen/src/xen_host.c
index 2ae37fefe4..a55b91e0af 100644
--- a/tools/libxen/src/xen_host.c
+++ b/tools/libxen/src/xen_host.c
@@ -757,6 +757,39 @@ xen_host_dmesg_clear(xen_session *session, char **result, xen_host host)
bool
+xen_host_get_log(xen_session *session, char **result, xen_host host)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = host }
+ };
+
+ abstract_type result_type = abstract_type_string;
+
+ *result = NULL;
+ XEN_CALL_("host.get_log");
+ return session->ok;
+}
+
+
+bool
+xen_host_send_debug_keys(xen_session *session, xen_host host, char *keys)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = host },
+ { .type = &abstract_type_string,
+ .u.string_val = keys }
+ };
+
+ xen_call_(session, "host.send_debug_keys", param_values, 2, NULL, NULL);
+ return session->ok;
+}
+
+
+bool
xen_host_list_methods(xen_session *session, struct xen_string_set **result)
{