[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |