[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 10/10] Xen: Xenstore example



After the xenbus ring initialization we issue a directory query
for the list of virtual block devices attached to the current
guest. The answer is displayed in the console.

Signed-off-by: Daniel Castro <evil.dani@xxxxxxxxx>
---
 src/xen-xs.c |   10 +++++++++-
 src/xen-xs.h |    1 +
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/xen-xs.c b/src/xen-xs.c
index d4b6b26..1173ce2 100644
--- a/src/xen-xs.c
+++ b/src/xen-xs.c
@@ -36,7 +36,7 @@ static struct xenstore_domain_interface *rings; /* Shared 
ring with dom0 */
 static evtchn_port_t event;                     /* Event-channel to dom0 */
 static char payload[XENSTORE_PAYLOAD_MAX + 1];  /* Unmarshalling area */
 
-
+void test_xenstore(void);
 /*
  * Connect our xenbus client to the backend.
  * Call once, before any other xenbus actions.
@@ -62,6 +62,7 @@ void xenbus_setup(void)
        event = param.value;
        dprintf(1,"Xenbus rings @0x%lx, event channel %lu\n",
                        (unsigned long) rings, (unsigned long) event);
+       test_xenstore();
 }
 
 /*
@@ -241,3 +242,10 @@ char * xenstore_directory(char *path, u32 *ans_len){
        /* We know xenbus_send() nul-terminates its answer, so just pass it on. 
*/
        return answer;
 }
+
+void test_xenstore(void){
+       char path[11] = {'d','e','v','i','c','e','/','v','b','d','\0'};
+       u32 ans_len;
+       char * res = xenstore_directory(path,&ans_len);
+       dprintf(1,"length: %d strlen: %d vdb-id: %s 
.\n",ans_len,strlen(res),res);
+}
diff --git a/src/xen-xs.h b/src/xen-xs.h
index 91e8da0..6957031 100644
--- a/src/xen-xs.h
+++ b/src/xen-xs.h
@@ -4,5 +4,6 @@
 void xenbus_setup(void);
 char * xenstore_read(char *path);
 char * xenstore_directory(char *path, u32 *ans_len);
+void test_xenstore(void);
 
 #endif
-- 
1.7.4.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.