return;
sprintf(dir, "cpu/%d", cpu);
- err = xenbus_scanf(NULL, dir, "availability", "%s", state);
+ err = xenbus_scanf(XBT_NULL, dir, "availability", "%s", state);
if (err != 1) {
printk(KERN_ERR "XENBUS: Unable to read cpu state\n");
return;
unsigned long long new_target;
int err;
- err = xenbus_scanf(NULL, "memory", "target", "%llu", &new_target);
+ err = xenbus_scanf(XBT_NULL, "memory", "target", "%llu", &new_target);
if (err != 1) {
/* This is ok (for domain0 at least) - so just return */
return;
if (err)
goto fail;
- err = xenbus_switch_state(dev, NULL, XenbusStateInitWait);
+ err = xenbus_switch_state(dev, XBT_NULL, XenbusStateInitWait);
if (err)
goto fail;
DPRINTK("");
- err = xenbus_scanf(NULL, dev->nodename, "physical-device", "%x:%x",
+ err = xenbus_scanf(XBT_NULL, dev->nodename, "physical-device", "%x:%x",
&major, &minor);
if (XENBUS_EXIST_ERR(err)) {
/* Since this watch will fire once immediately after it is
return;
}
- be->mode = xenbus_read(NULL, dev->nodename, "mode", NULL);
+ be->mode = xenbus_read(XBT_NULL, dev->nodename, "mode", NULL);
if (IS_ERR(be->mode)) {
err = PTR_ERR(be->mode);
be->mode = NULL;
break;
case XenbusStateClosing:
- xenbus_switch_state(dev, NULL, XenbusStateClosing);
+ xenbus_switch_state(dev, XBT_NULL, XenbusStateClosing);
break;
case XenbusStateClosed:
DPRINTK("%s", dev->otherend);
- err = xenbus_gather(NULL, dev->otherend, "ring-ref", "%lu", &ring_ref,
+ err = xenbus_gather(XBT_NULL, dev->otherend, "ring-ref", "%lu", &ring_ref,
"event-channel", "%u", &evtchn, NULL);
if (err) {
xenbus_dev_fatal(dev, err,
struct blkfront_info *info;
/* FIXME: Use dynamic device id if this is not set. */
- err = xenbus_scanf(NULL, dev->nodename,
+ err = xenbus_scanf(XBT_NULL, dev->nodename,
"virtual-device", "%i", &vdevice);
if (err != 1) {
xenbus_dev_fatal(dev, err, "reading virtual-device");
DPRINTK("blkfront.c:connect:%s.\n", info->xbdev->otherend);
- err = xenbus_gather(NULL, info->xbdev->otherend,
+ err = xenbus_gather(XBT_NULL, info->xbdev->otherend,
"sectors", "%lu", §ors,
"info", "%u", &binfo,
"sector-size", "%lu", §or_size,
return;
}
- (void)xenbus_switch_state(info->xbdev, NULL, XenbusStateConnected);
+ (void)xenbus_switch_state(info->xbdev, XBT_NULL, XenbusStateConnected);
/* Kick pending requests. */
spin_lock_irq(&blkif_io_lock);
info->mi = NULL;
}
- xenbus_switch_state(dev, NULL, XenbusStateClosed);
+ xenbus_switch_state(dev, XBT_NULL, XenbusStateClosed);
}
kfree(copy);
- (void)xenbus_switch_state(info->xbdev, NULL, XenbusStateConnected);
+ (void)xenbus_switch_state(info->xbdev, XBT_NULL, XenbusStateConnected);
/* Now safe for us to use the shared ring */
spin_lock_irq(&blkif_io_lock);
char *s;
int i;
char *e;
- char *macstr = xenbus_read(NULL, dev->nodename, "mac", NULL);
+ char *macstr = xenbus_read(XBT_NULL, dev->nodename, "mac", NULL);
if (IS_ERR(macstr)) {
return PTR_ERR(macstr);
}
if (err)
goto fail;
- err = xenbus_switch_state(dev, NULL, XenbusStateInitWait);
+ err = xenbus_switch_state(dev, XBT_NULL, XenbusStateInitWait);
if (err) {
goto fail;
}
DPRINTK("netback_hotplug");
- val = xenbus_read(NULL, xdev->nodename, "script", NULL);
+ val = xenbus_read(XBT_NULL, xdev->nodename, "script", NULL);
if (IS_ERR(val)) {
int err = PTR_ERR(val);
xenbus_dev_fatal(xdev, err, "reading script");
DPRINTK("");
- err = xenbus_scanf(NULL, dev->nodename, "handle", "%li", &handle);
+ err = xenbus_scanf(XBT_NULL, dev->nodename, "handle", "%li", &handle);
if (XENBUS_EXIST_ERR(err)) {
/* Since this watch will fire once immediately after it is
registered, we expect this. Ignore it, and wait for the
break;
case XenbusStateClosing:
- xenbus_switch_state(dev, NULL, XenbusStateClosing);
+ xenbus_switch_state(dev, XBT_NULL, XenbusStateClosing);
break;
case XenbusStateClosed:
return;
}
- xenbus_switch_state(dev, NULL, XenbusStateConnected);
+ xenbus_switch_state(dev, XBT_NULL, XenbusStateConnected);
}
DPRINTK("");
- err = xenbus_gather(NULL, dev->otherend,
+ err = xenbus_gather(XBT_NULL, dev->otherend,
"tx-ring-ref", "%lu", &tx_ring_ref,
"rx-ring-ref", "%lu", &rx_ring_ref,
"event-channel", "%u", &evtchn, NULL);
struct netfront_info *info;
unsigned int handle;
- err = xenbus_scanf(NULL, dev->nodename, "handle", "%u", &handle);
+ err = xenbus_scanf(XBT_NULL, dev->nodename, "handle", "%u", &handle);
if (err != 1) {
xenbus_dev_fatal(dev, err, "reading handle");
return err;
close_netdev(info);
- xenbus_switch_state(dev, NULL, XenbusStateClosed);
+ xenbus_switch_state(dev, XBT_NULL, XenbusStateClosed);
}
unsigned int evtchn;
int err;
- err = xenbus_gather(NULL, dev->otherend,
+ err = xenbus_gather(XBT_NULL, dev->otherend,
"ring-ref", "%lu", &ring_ref,
"event-channel", "%u", &evtchn, NULL);
if (err) {
goto fail;
}
- if (xenbus_write(NULL, path_buffer, "error", printf_buffer) != 0) {
+ if (xenbus_write(XBT_NULL, path_buffer, "error", printf_buffer) != 0) {
printk("xenbus: failed to write error node for %s (%s)\n",
dev->nodename, printf_buffer);
goto fail;
_dev_error(dev, err, fmt, ap);
va_end(ap);
- xenbus_switch_state(dev, NULL, XenbusStateClosing);
+ xenbus_switch_state(dev, XBT_NULL, XenbusStateClosing);
}
EXPORT_SYMBOL(xenbus_dev_fatal);
{
XenbusState result;
- int err = xenbus_gather(NULL, path, "state", "%d", &result, NULL);
+ int err = xenbus_gather(XBT_NULL, path, "state", "%d", &result, NULL);
if (err)
result = XenbusStateClosed;
static int read_otherend_details(struct xenbus_device *xendev,
char *id_node, char *path_node)
{
- int err = xenbus_gather(NULL, xendev->nodename,
+ int err = xenbus_gather(XBT_NULL, xendev->nodename,
id_node, "%i", &xendev->otherend_id,
path_node, NULL, &xendev->otherend,
NULL);
return err;
}
if (strlen(xendev->otherend) == 0 ||
- !xenbus_exists(NULL, xendev->otherend, "")) {
+ !xenbus_exists(XBT_NULL, xendev->otherend, "")) {
xenbus_dev_fatal(xendev, -ENOENT, "missing other end from %s",
xendev->nodename);
kfree(xendev->otherend);
devid = strrchr(nodename, '/') + 1;
- err = xenbus_gather(NULL, nodename, "frontend-id", "%i", &domid,
+ err = xenbus_gather(XBT_NULL, nodename, "frontend-id", "%i", &domid,
"frontend", NULL, &frontend,
NULL);
if (err)
return err;
if (strlen(frontend) == 0)
err = -ERANGE;
- if (!err && !xenbus_exists(NULL, frontend, ""))
+ if (!err && !xenbus_exists(XBT_NULL, frontend, ""))
err = -ENOENT;
kfree(frontend);
return 0;
fail:
xenbus_dev_error(dev, err, "xenbus_dev_probe on %s", dev->nodename);
- xenbus_switch_state(dev, NULL, XenbusStateClosed);
+ xenbus_switch_state(dev, XBT_NULL, XenbusStateClosed);
return -ENODEV;
}
if (drv->remove)
drv->remove(dev);
- xenbus_switch_state(dev, NULL, XenbusStateClosed);
+ xenbus_switch_state(dev, XBT_NULL, XenbusStateClosed);
return 0;
}
if (!nodename)
return -ENOMEM;
- dir = xenbus_directory(NULL, nodename, "", &dir_n);
+ dir = xenbus_directory(XBT_NULL, nodename, "", &dir_n);
if (IS_ERR(dir)) {
kfree(nodename);
return PTR_ERR(dir);
unsigned int dir_n = 0;
int i;
- dir = xenbus_directory(NULL, bus->root, type, &dir_n);
+ dir = xenbus_directory(XBT_NULL, bus->root, type, &dir_n);
if (IS_ERR(dir))
return PTR_ERR(dir);
char **dir;
unsigned int i, dir_n;
- dir = xenbus_directory(NULL, bus->root, "", &dir_n);
+ dir = xenbus_directory(XBT_NULL, bus->root, "", &dir_n);
if (IS_ERR(dir))
return PTR_ERR(dir);
if (char_count(node, '/') < 2)
return;
- exists = xenbus_exists(NULL, node, "");
+ exists = xenbus_exists(XBT_NULL, node, "");
if (!exists) {
xenbus_cleanup_devices(node, &bus->bus);
return;
down_read(&xs_state.suspend_mutex);
- id_str = xs_single(NULL, XS_TRANSACTION_START, "", NULL);
+ id_str = xs_single(XBT_NULL, XS_TRANSACTION_START, "", NULL);
if (IS_ERR(id_str)) {
up_read(&xs_state.suspend_mutex);
return (struct xenbus_transaction *)id_str;
iov[1].iov_base = (void *)token;
iov[1].iov_len = strlen(token) + 1;
- return xs_error(xs_talkv(NULL, XS_WATCH, iov,
+ return xs_error(xs_talkv(XBT_NULL, XS_WATCH, iov,
ARRAY_SIZE(iov), NULL));
}
iov[1].iov_base = (char *)token;
iov[1].iov_len = strlen(token) + 1;
- return xs_error(xs_talkv(NULL, XS_UNWATCH, iov,
+ return xs_error(xs_talkv(XBT_NULL, XS_UNWATCH, iov,
ARRAY_SIZE(iov), NULL));
}
#include <asm-xen/xen-public/io/xenbus.h>
#include <asm-xen/xen-public/io/xs_wire.h>
+#define XBT_NULL NULL
+
/* Register callback to watch this node. */
struct xenbus_watch
{
if (path == NULL)
err(ENOMEM, "realloc");
strcat(path, "/console/tty");
- str_pty = xs_read(xs, NULL, path, &len);
+ str_pty = xs_read(xs, XBT_NULL, path, &len);
/* FIXME consoled currently does not assume domain-0 doesn't have a
console which is good when we break domain-0 up. To keep us
struct timeval tv = { 0, 500 };
select(0, NULL, NULL, NULL, &tv); /* pause briefly */
- str_pty = xs_read(xs, NULL, path, &len);
+ str_pty = xs_read(xs, XBT_NULL, path, &len);
}
if (str_pty == NULL) {
success = asprintf(&path, "%s/limit", dom->conspath) != -1;
if (!success)
goto out;
- data = xs_read(xs, NULL, path, &len);
+ data = xs_read(xs, XBT_NULL, path, &len);
if (data) {
dom->buffer.max_capacity = strtoul(data, 0, 0);
free(data);
success = asprintf(&path, "%s/tty", dom->conspath) != -1;
if (!success)
goto out;
- success = xs_write(xs, NULL, path, slave, strlen(slave));
+ success = xs_write(xs, XBT_NULL, path, slave, strlen(slave));
free(path);
if (!success)
goto out;
char *p;
asprintf(&path, "%s/%s", dir, name);
- p = xs_read(xs, NULL, path, NULL);
+ p = xs_read(xs, XBT_NULL, path, NULL);
free(path);
if (p == NULL) {
ret = ENOENT;
iov[1].iov_base = (void *)token;
iov[1].iov_len = strlen(token) + 1;
- return xs_bool(xs_talkv(h, NULL, XS_WATCH, iov,
+ return xs_bool(xs_talkv(h, XBT_NULL, XS_WATCH, iov,
ARRAY_SIZE(iov), NULL));
}
iov[1].iov_base = (char *)token;
iov[1].iov_len = strlen(token) + 1;
- return xs_bool(xs_talkv(h, NULL, XS_UNWATCH, iov,
+ return xs_bool(xs_talkv(h, XBT_NULL, XS_UNWATCH, iov,
ARRAY_SIZE(iov), NULL));
}
char *id_str;
unsigned long id;
- id_str = xs_single(h, NULL, XS_TRANSACTION_START, "", NULL);
+ id_str = xs_single(h, XBT_NULL, XS_TRANSACTION_START, "", NULL);
if (id_str == NULL)
return NULL;
iov[2].iov_base = eventchn_str;
iov[2].iov_len = strlen(eventchn_str) + 1;
- return xs_bool(xs_talkv(h, NULL, XS_INTRODUCE, iov,
+ return xs_bool(xs_talkv(h, XBT_NULL, XS_INTRODUCE, iov,
ARRAY_SIZE(iov), NULL));
}
sprintf(domid_str, "%u", domid);
- return xs_single(h, NULL, type, domid_str, NULL);
+ return xs_single(h, XBT_NULL, type, domid_str, NULL);
}
bool xs_release_domain(struct xs_handle *h, unsigned int domid)
sprintf(domid_str, "%u", domid);
- return xs_single(h, NULL, XS_GET_DOMAIN_PATH, domid_str, NULL);
+ return xs_single(h, XBT_NULL, XS_GET_DOMAIN_PATH, domid_str, NULL);
}
bool xs_is_domain_introduced(struct xs_handle *h, unsigned int domid)
iov[1].iov_base = data;
iov[1].iov_len = len;
- return xs_talkv(h, NULL, XS_DEBUG, iov,
+ return xs_talkv(h, XBT_NULL, XS_DEBUG, iov,
ARRAY_SIZE(iov), NULL);
}
#include <xs_lib.h>
+#define XBT_NULL NULL
+
struct xs_handle;
struct xs_transaction_handle;
#include <sys/time.h>
#include "utils.h"
#include "xs_lib.h"
+#include "xs.h"
#include "list.h"
#define XSTEST
static struct xs_handle *handles[10] = { NULL };
-static struct xs_transaction_handle *txh[10] = { NULL };
+static struct xs_transaction_handle *txh[10] = { XBT_NULL };
static unsigned int timeout_ms = 500;
static bool timeout_suppressed = true;
static void do_start(unsigned int handle)
{
txh[handle] = xs_transaction_start(handles[handle]);
- if (txh[handle] == NULL)
+ if (txh[handle] == XBT_NULL)
failed(handle);
}
{
if (!xs_transaction_end(handles[handle], txh[handle], abort))
failed(handle);
- txh[handle] = NULL;
+ txh[handle] = XBT_NULL;
}
static void do_introduce(unsigned int handle,
else if (streq(command, "close")) {
xs_daemon_close(handles[handle]);
handles[handle] = NULL;
- txh[handle] = NULL;
+ txh[handle] = XBT_NULL;
} else if (streq(command, "start"))
do_start(handle);
else if (streq(command, "commit"))
int i;
unsigned int num, len;
- e = xs_directory(h, NULL, path, &num);
+ e = xs_directory(h, XBT_NULL, path, &num);
if (e == NULL)
err(1, "xs_directory (%s)", path);
sprintf(newpath, "%s%s%s", path,
path[strlen(path)-1] == '/' ? "" : "/",
e[i]);
- val = xs_read(h, NULL, newpath, &len);
+ val = xs_read(h, XBT_NULL, newpath, &len);
if (val == NULL)
printf(":\n");
else if ((unsigned)len > (151 - strlen(e[i])))