From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Castro Subject: [PATCH 10/10] Xen: Xenstore example Date: Fri, 19 Aug 2011 01:03:28 +0900 Message-ID: <1313683408-32306-12-git-send-email-evil.dani@gmail.com> References: <1313683408-32306-1-git-send-email-evil.dani@gmail.com> Return-path: In-Reply-To: <1313683408-32306-1-git-send-email-evil.dani@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Daniel Castro List-Id: xen-devel@lists.xenproject.org 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 --- 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