# HG changeset patch
# User vhanquez@xxxxxxxxxxxxxxxxxxxxxxx
# Node ID f5f703ec52234f82e9ba4fe8e1aa9c5a99344d93
# Parent d3a4485a41fc04b52ae03cddb92139bb434b69af
Change xenbus_transaction fake pointer into an opaque type.
Signed-off-by: Vincent Hanquez <vincent@xxxxxxxxxxxxx>
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/arch/xen/kernel/reboot.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c Tue Jan 10 16:27:16 2006
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c Tue Jan 10 17:16:30 2006
@@ -290,7 +290,7 @@
const char **vec, unsigned int len)
{
char *str;
- struct xenbus_transaction *xbt;
+ xenbus_transaction_t xbt;
int err;
if (shutting_down != SHUTDOWN_INVALID)
@@ -339,7 +339,7 @@
unsigned int len)
{
char sysrq_key = '\0';
- struct xenbus_transaction *xbt;
+ xenbus_transaction_t xbt;
int err;
again:
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c Tue Jan 10 16:27:16 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c Tue Jan 10 17:16:30 2006
@@ -302,7 +302,7 @@
*/
static void connect(struct backend_info *be)
{
- struct xenbus_transaction *xbt;
+ xenbus_transaction_t xbt;
int err;
struct xenbus_device *dev = be->dev;
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Tue Jan 10
16:27:16 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Tue Jan 10
17:16:30 2006
@@ -161,7 +161,7 @@
struct blkfront_info *info)
{
const char *message = NULL;
- struct xenbus_transaction *xbt;
+ xenbus_transaction_t xbt;
int err;
/* Create shared ring, alloc event channel. */
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Tue Jan 10
16:27:16 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Tue Jan 10
17:16:30 2006
@@ -260,7 +260,7 @@
struct netfront_info *info)
{
const char *message;
- struct xenbus_transaction *xbt;
+ xenbus_transaction_t xbt;
int err;
err = xen_net_read_mac(dev, info->mac);
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/drivers/xen/tpmback/xenbus.c
--- a/linux-2.6-xen-sparse/drivers/xen/tpmback/xenbus.c Tue Jan 10 16:27:16 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/tpmback/xenbus.c Tue Jan 10 17:16:30 2006
@@ -230,7 +230,7 @@
static void connect(struct backend_info *be)
{
- struct xenbus_transaction *xbt;
+ xenbus_transaction_t xbt;
int err;
struct xenbus_device *dev = be->dev;
unsigned long ready = 1;
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/drivers/xen/tpmfront/tpmfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/tpmfront/tpmfront.c Tue Jan 10
16:27:16 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/tpmfront/tpmfront.c Tue Jan 10
17:16:30 2006
@@ -271,7 +271,7 @@
{
const char *message = NULL;
int err;
- struct xenbus_transaction *xbt;
+ xenbus_transaction_t xbt;
err = setup_tpmring(dev, info);
if (err) {
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_client.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_client.c Tue Jan 10
16:27:16 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_client.c Tue Jan 10
17:16:30 2006
@@ -87,7 +87,7 @@
int xenbus_switch_state(struct xenbus_device *dev,
- struct xenbus_transaction *xbt,
+ xenbus_transaction_t xbt,
XenbusState state)
{
/* We check whether the state is currently set to the given value, and
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c Tue Jan 10
16:27:16 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c Tue Jan 10
17:16:30 2006
@@ -47,7 +47,7 @@
struct xenbus_dev_transaction {
struct list_head list;
- struct xenbus_transaction *handle;
+ xenbus_transaction_t handle;
};
struct xenbus_dev_data {
@@ -147,7 +147,7 @@
}
if (u->u.msg.type == XS_TRANSACTION_START) {
- trans->handle = (struct xenbus_transaction *)
+ trans->handle = (xenbus_transaction_t)
simple_strtoul(reply, NULL, 0);
list_add(&trans->list, &u->transactions);
} else if (u->u.msg.type == XS_TRANSACTION_END) {
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Tue Jan 10
16:27:16 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Tue Jan 10
17:16:30 2006
@@ -190,7 +190,7 @@
}
/* Send message to xs, get kmalloc'ed reply. ERR_PTR() on error. */
-static void *xs_talkv(struct xenbus_transaction *t,
+static void *xs_talkv(xenbus_transaction_t t,
enum xsd_sockmsg_type type,
const struct kvec *iovec,
unsigned int num_vecs,
@@ -242,7 +242,7 @@
}
/* Simplified version of xs_talkv: single message. */
-static void *xs_single(struct xenbus_transaction *t,
+static void *xs_single(xenbus_transaction_t t,
enum xsd_sockmsg_type type,
const char *string,
unsigned int *len)
@@ -309,7 +309,7 @@
return ret;
}
-char **xenbus_directory(struct xenbus_transaction *t,
+char **xenbus_directory(xenbus_transaction_t t,
const char *dir, const char *node, unsigned int *num)
{
char *strings, *path;
@@ -329,7 +329,7 @@
EXPORT_SYMBOL(xenbus_directory);
/* Check if a path exists. Return 1 if it does. */
-int xenbus_exists(struct xenbus_transaction *t,
+int xenbus_exists(xenbus_transaction_t t,
const char *dir, const char *node)
{
char **d;
@@ -347,7 +347,7 @@
* Returns a kmalloced value: call free() on it after use.
* len indicates length in bytes.
*/
-void *xenbus_read(struct xenbus_transaction *t,
+void *xenbus_read(xenbus_transaction_t t,
const char *dir, const char *node, unsigned int *len)
{
char *path;
@@ -366,7 +366,7 @@
/* Write the value of a single file.
* Returns -err on failure.
*/
-int xenbus_write(struct xenbus_transaction *t,
+int xenbus_write(xenbus_transaction_t t,
const char *dir, const char *node, const char *string)
{
const char *path;
@@ -389,7 +389,7 @@
EXPORT_SYMBOL(xenbus_write);
/* Create a new directory. */
-int xenbus_mkdir(struct xenbus_transaction *t,
+int xenbus_mkdir(xenbus_transaction_t t,
const char *dir, const char *node)
{
char *path;
@@ -406,7 +406,7 @@
EXPORT_SYMBOL(xenbus_mkdir);
/* Destroy a file or directory (directories must be empty). */
-int xenbus_rm(struct xenbus_transaction *t, const char *dir, const char *node)
+int xenbus_rm(xenbus_transaction_t t, const char *dir, const char *node)
{
char *path;
int ret;
@@ -424,7 +424,7 @@
/* Start a transaction: changes by others will not be seen during this
* transaction, and changes will not be visible to others until end.
*/
-struct xenbus_transaction *xenbus_transaction_start(void)
+xenbus_transaction_t xenbus_transaction_start(void)
{
char *id_str;
unsigned long id;
@@ -434,20 +434,20 @@
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;
+ return (xenbus_transaction_t )id_str;
}
id = simple_strtoul(id_str, NULL, 0);
kfree(id_str);
- return (struct xenbus_transaction *)id;
+ return (xenbus_transaction_t) id;
}
EXPORT_SYMBOL(xenbus_transaction_start);
/* End a transaction.
* If abandon is true, transaction is discarded instead of committed.
*/
-int xenbus_transaction_end(struct xenbus_transaction *t, int abort)
+int xenbus_transaction_end(xenbus_transaction_t t, int abort)
{
char abortstr[2];
int err;
@@ -466,7 +466,7 @@
EXPORT_SYMBOL(xenbus_transaction_end);
/* Single read and scanf: returns -errno or num scanned. */
-int xenbus_scanf(struct xenbus_transaction *t,
+int xenbus_scanf(xenbus_transaction_t t,
const char *dir, const char *node, const char *fmt, ...)
{
va_list ap;
@@ -489,7 +489,7 @@
EXPORT_SYMBOL(xenbus_scanf);
/* Single printf and write: returns -errno or 0. */
-int xenbus_printf(struct xenbus_transaction *t,
+int xenbus_printf(xenbus_transaction_t t,
const char *dir, const char *node, const char *fmt, ...)
{
va_list ap;
@@ -515,7 +515,7 @@
EXPORT_SYMBOL(xenbus_printf);
/* Takes tuples of names, scanf-style args, and void **, NULL terminated. */
-int xenbus_gather(struct xenbus_transaction *t, const char *dir, ...)
+int xenbus_gather(xenbus_transaction_t t, const char *dir, ...)
{
va_list ap;
const char *name;
diff -r d3a4485a41fc -r f5f703ec5223
linux-2.6-xen-sparse/include/asm-xen/xenbus.h
--- a/linux-2.6-xen-sparse/include/asm-xen/xenbus.h Tue Jan 10 16:27:16 2006
+++ b/linux-2.6-xen-sparse/include/asm-xen/xenbus.h Tue Jan 10 17:16:30 2006
@@ -103,34 +103,35 @@
void xenbus_unregister_driver(struct xenbus_driver *drv);
struct xenbus_transaction;
-
-char **xenbus_directory(struct xenbus_transaction *t,
+typedef struct xenbus_transaction *xenbus_transaction_t;
+
+char **xenbus_directory(xenbus_transaction_t t,
const char *dir, const char *node, unsigned int *num);
-void *xenbus_read(struct xenbus_transaction *t,
+void *xenbus_read(xenbus_transaction_t t,
const char *dir, const char *node, unsigned int *len);
-int xenbus_write(struct xenbus_transaction *t,
+int xenbus_write(xenbus_transaction_t t,
const char *dir, const char *node, const char *string);
-int xenbus_mkdir(struct xenbus_transaction *t,
+int xenbus_mkdir(xenbus_transaction_t t,
const char *dir, const char *node);
-int xenbus_exists(struct xenbus_transaction *t,
+int xenbus_exists(xenbus_transaction_t t,
const char *dir, const char *node);
-int xenbus_rm(struct xenbus_transaction *t, const char *dir, const char *node);
-struct xenbus_transaction *xenbus_transaction_start(void);
-int xenbus_transaction_end(struct xenbus_transaction *t, int abort);
+int xenbus_rm(xenbus_transaction_t t, const char *dir, const char *node);
+xenbus_transaction_t xenbus_transaction_start(void);
+int xenbus_transaction_end(xenbus_transaction_t t, int abort);
/* Single read and scanf: returns -errno or num scanned if > 0. */
-int xenbus_scanf(struct xenbus_transaction *t,
+int xenbus_scanf(xenbus_transaction_t t,
const char *dir, const char *node, const char *fmt, ...)
__attribute__((format(scanf, 4, 5)));
/* Single printf and write: returns -errno or 0. */
-int xenbus_printf(struct xenbus_transaction *t,
+int xenbus_printf(xenbus_transaction_t t,
const char *dir, const char *node, const char *fmt, ...)
__attribute__((format(printf, 4, 5)));
/* Generic read function: NULL-terminated triples of name,
* sprintf-style type string, and pointer. Returns 0 or errno.*/
-int xenbus_gather(struct xenbus_transaction *t, const char *dir, ...);
+int xenbus_gather(xenbus_transaction_t t, const char *dir, ...);
/* notifer routines for when the xenstore comes up */
int register_xenstore_notifier(struct notifier_block *nb);
@@ -196,7 +197,7 @@
* XenbusStateClosing, and the error will be saved in the store.
*/
int xenbus_switch_state(struct xenbus_device *dev,
- struct xenbus_transaction *xbt,
+ xenbus_transaction_t xbt,
XenbusState new_state);
diff -r d3a4485a41fc -r f5f703ec5223 tools/python/xen/lowlevel/xs/xs.c
--- a/tools/python/xen/lowlevel/xs/xs.c Tue Jan 10 16:27:16 2006
+++ b/tools/python/xen/lowlevel/xs/xs.c Tue Jan 10 17:16:30 2006
@@ -66,7 +66,7 @@
static int parse_transaction_path(XsHandle *self, PyObject *args,
struct xs_handle **xh,
- struct xs_transaction_handle **th,
+ xs_transaction_handle *th,
char **path);
@@ -83,7 +83,7 @@
static PyObject *xspy_read(XsHandle *self, PyObject *args)
{
struct xs_handle *xh;
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char *path;
char *xsval;
@@ -120,7 +120,7 @@
{
static char *arg_spec = "sss#";
struct xs_handle *xh = xshandle(self);
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char *thstr;
char *path;
char *data;
@@ -132,7 +132,7 @@
if (!PyArg_ParseTuple(args, arg_spec, &thstr, &path, &data, &data_n))
return NULL;
- th = (struct xs_transaction_handle *)strtoul(thstr, NULL, 16);
+ th = (xs_transaction_handle)strtoul(thstr, NULL, 16);
Py_BEGIN_ALLOW_THREADS
result = xs_write(xh, th, path, data, data_n);
@@ -155,7 +155,7 @@
static PyObject *xspy_ls(XsHandle *self, PyObject *args)
{
struct xs_handle *xh;
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char *path;
char **xsval;
@@ -193,7 +193,7 @@
static PyObject *xspy_mkdir(XsHandle *self, PyObject *args)
{
struct xs_handle *xh;
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char *path;
bool result;
@@ -221,7 +221,7 @@
static PyObject *xspy_rm(XsHandle *self, PyObject *args)
{
struct xs_handle *xh;
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char *path;
bool result;
@@ -256,7 +256,7 @@
unsigned int perms_n = 0;
int i;
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char *thstr;
if (!xh)
@@ -264,7 +264,7 @@
if (!PyArg_ParseTuple(args, arg_spec, &thstr, &path))
return NULL;
- th = (struct xs_transaction_handle *)strtoul(thstr, NULL, 16);
+ th = (xs_transaction_handle)strtoul(thstr, NULL, 16);
Py_BEGIN_ALLOW_THREADS
perms = xs_get_permissions(xh, th, path, &perms_n);
@@ -312,7 +312,7 @@
int xsperms_n;
PyObject *tuple0 = NULL;
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char *thstr;
if (!xh)
@@ -320,7 +320,7 @@
if (!PyArg_ParseTuple(args, "ssO", &thstr, &path, &perms))
goto exit;
- th = (struct xs_transaction_handle *)strtoul(thstr, NULL, 16);
+ th = (xs_transaction_handle)strtoul(thstr, NULL, 16);
if (!PyList_Check(perms)) {
PyErr_SetString(PyExc_RuntimeError, "perms must be a list");
@@ -509,7 +509,7 @@
static PyObject *xspy_transaction_start(XsHandle *self)
{
struct xs_handle *xh = xshandle(self);
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char thstr[MAX_STRLEN(unsigned long) + 1];
if (!xh)
@@ -547,7 +547,7 @@
struct xs_handle *xh = xshandle(self);
bool result;
- struct xs_transaction_handle *th;
+ xs_transaction_handle th;
char *thstr;
if (!xh)
@@ -556,7 +556,7 @@
&thstr, &abort))
return NULL;
- th = (struct xs_transaction_handle *)strtoul(thstr, NULL, 16);
+ th = (xs_transaction_handle)strtoul(thstr, NULL, 16);
Py_BEGIN_ALLOW_THREADS
result = xs_transaction_end(xh, th, abort);
@@ -727,7 +727,7 @@
*/
static int parse_transaction_path(XsHandle *self, PyObject *args,
struct xs_handle **xh,
- struct xs_transaction_handle **th,
+ xs_transaction_handle *th,
char **path)
{
char *thstr;
@@ -740,7 +740,7 @@
if (!PyArg_ParseTuple(args, "ss", &thstr, path))
return 0;
- *th = (struct xs_transaction_handle *)strtoul(thstr, NULL, 16);
+ *th = (xs_transaction_handle)strtoul(thstr, NULL, 16);
return 1;
}
diff -r d3a4485a41fc -r f5f703ec5223 tools/xenstore/xenstore_client.c
--- a/tools/xenstore/xenstore_client.c Tue Jan 10 16:27:16 2006
+++ b/tools/xenstore/xenstore_client.c Tue Jan 10 17:16:30 2006
@@ -66,7 +66,7 @@
#if defined(CLIENT_rm)
static int
-do_rm(char *path, struct xs_handle *xsh, struct xs_transaction_handle *xth)
+do_rm(char *path, struct xs_handle *xsh, xs_transaction_handle xth)
{
if (xs_rm(xsh, xth, path)) {
return 0;
@@ -81,7 +81,7 @@
static int
perform(int optind, int argc, char **argv, struct xs_handle *xsh,
- struct xs_transaction_handle *xth, int prefix, int tidy)
+ xs_transaction_handle xth, int prefix, int tidy)
{
while (optind < argc) {
#if defined(CLIENT_read)
@@ -179,7 +179,7 @@
main(int argc, char **argv)
{
struct xs_handle *xsh;
- struct xs_transaction_handle *xth;
+ xs_transaction_handle xth;
int ret = 0, socket = 0;
int prefix = 0;
int tidy = 0;
diff -r d3a4485a41fc -r f5f703ec5223 tools/xenstore/xs.c
--- a/tools/xenstore/xs.c Tue Jan 10 16:27:16 2006
+++ b/tools/xenstore/xs.c Tue Jan 10 17:16:30 2006
@@ -292,7 +292,7 @@
}
/* Send message to xs, get malloc'ed reply. NULL and set errno on error. */
-static void *xs_talkv(struct xs_handle *h, struct xs_transaction_handle *t,
+static void *xs_talkv(struct xs_handle *h, xs_transaction_handle t,
enum xsd_sockmsg_type type,
const struct iovec *iovec,
unsigned int num_vecs,
@@ -368,7 +368,7 @@
}
/* Simplified version of xs_talkv: single message. */
-static void *xs_single(struct xs_handle *h, struct xs_transaction_handle *t,
+static void *xs_single(struct xs_handle *h, xs_transaction_handle t,
enum xsd_sockmsg_type type,
const char *string,
unsigned int *len)
@@ -388,7 +388,7 @@
return true;
}
-char **xs_directory(struct xs_handle *h, struct xs_transaction_handle *t,
+char **xs_directory(struct xs_handle *h, xs_transaction_handle t,
const char *path, unsigned int *num)
{
char *strings, *p, **ret;
@@ -420,7 +420,7 @@
* Returns a malloced value: call free() on it after use.
* len indicates length in bytes, not including the nul.
*/
-void *xs_read(struct xs_handle *h, struct xs_transaction_handle *t,
+void *xs_read(struct xs_handle *h, xs_transaction_handle t,
const char *path, unsigned int *len)
{
return xs_single(h, t, XS_READ, path, len);
@@ -429,7 +429,7 @@
/* Write the value of a single file.
* Returns false on failure.
*/
-bool xs_write(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_write(struct xs_handle *h, xs_transaction_handle t,
const char *path, const void *data, unsigned int len)
{
struct iovec iovec[2];
@@ -446,7 +446,7 @@
/* Create a new directory.
* Returns false on failure, or success if it already exists.
*/
-bool xs_mkdir(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_mkdir(struct xs_handle *h, xs_transaction_handle t,
const char *path)
{
return xs_bool(xs_single(h, t, XS_MKDIR, path, NULL));
@@ -455,7 +455,7 @@
/* Destroy a file or directory (directories must be empty).
* Returns false on failure, or success if it doesn't exist.
*/
-bool xs_rm(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_rm(struct xs_handle *h, xs_transaction_handle t,
const char *path)
{
return xs_bool(xs_single(h, t, XS_RM, path, NULL));
@@ -465,7 +465,7 @@
* Returns malloced array, or NULL: call free() after use.
*/
struct xs_permissions *xs_get_permissions(struct xs_handle *h,
- struct xs_transaction_handle *t,
+ xs_transaction_handle t,
const char *path, unsigned int *num)
{
char *strings;
@@ -499,7 +499,7 @@
* Returns false on failure.
*/
bool xs_set_permissions(struct xs_handle *h,
- struct xs_transaction_handle *t,
+ xs_transaction_handle t,
const char *path,
struct xs_permissions *perms,
unsigned int num_perms)
@@ -636,7 +636,7 @@
* You can only have one transaction at any time.
* Returns NULL on failure.
*/
-struct xs_transaction_handle *xs_transaction_start(struct xs_handle *h)
+xs_transaction_handle xs_transaction_start(struct xs_handle *h)
{
char *id_str;
unsigned long id;
@@ -648,7 +648,7 @@
id = strtoul(id_str, NULL, 0);
free(id_str);
- return (struct xs_transaction_handle *)id;
+ return (xs_transaction_handle)id;
}
/* End a transaction.
@@ -656,7 +656,7 @@
* Returns false on failure, which indicates an error: transactions will
* not fail spuriously.
*/
-bool xs_transaction_end(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_transaction_end(struct xs_handle *h, xs_transaction_handle t,
bool abort)
{
char abortstr[2];
diff -r d3a4485a41fc -r f5f703ec5223 tools/xenstore/xs.h
--- a/tools/xenstore/xs.h Tue Jan 10 16:27:16 2006
+++ b/tools/xenstore/xs.h Tue Jan 10 17:16:30 2006
@@ -26,6 +26,7 @@
struct xs_handle;
struct xs_transaction_handle;
+typedef struct xs_transaction_handle * xs_transaction_handle;
/* On failure, these routines set errno. */
@@ -47,45 +48,45 @@
* Returns a malloced array: call free() on it after use.
* Num indicates size.
*/
-char **xs_directory(struct xs_handle *h, struct xs_transaction_handle *t,
+char **xs_directory(struct xs_handle *h, xs_transaction_handle t,
const char *path, unsigned int *num);
/* Get the value of a single file, nul terminated.
* Returns a malloced value: call free() on it after use.
* len indicates length in bytes, not including terminator.
*/
-void *xs_read(struct xs_handle *h, struct xs_transaction_handle *t,
+void *xs_read(struct xs_handle *h, xs_transaction_handle t,
const char *path, unsigned int *len);
/* Write the value of a single file.
* Returns false on failure.
*/
-bool xs_write(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_write(struct xs_handle *h, xs_transaction_handle t,
const char *path, const void *data, unsigned int len);
/* Create a new directory.
* Returns false on failure, or success if it already exists.
*/
-bool xs_mkdir(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_mkdir(struct xs_handle *h, xs_transaction_handle t,
const char *path);
/* Destroy a file or directory (and children).
* Returns false on failure, or if it doesn't exist.
*/
-bool xs_rm(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_rm(struct xs_handle *h, xs_transaction_handle t,
const char *path);
/* Get permissions of node (first element is owner, first perms is "other").
* Returns malloced array, or NULL: call free() after use.
*/
struct xs_permissions *xs_get_permissions(struct xs_handle *h,
- struct xs_transaction_handle *t,
+ xs_transaction_handle t,
const char *path, unsigned int *num);
/* Set permissions of node (must be owner).
* Returns false on failure.
*/
-bool xs_set_permissions(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_set_permissions(struct xs_handle *h, xs_transaction_handle t,
const char *path, struct xs_permissions *perms,
unsigned int num_perms);
@@ -115,14 +116,14 @@
* You can only have one transaction at any time.
* Returns NULL on failure.
*/
-struct xs_transaction_handle *xs_transaction_start(struct xs_handle *h);
+xs_transaction_handle xs_transaction_start(struct xs_handle *h);
/* End a transaction.
* If abandon is true, transaction is discarded instead of committed.
* Returns false on failure: if errno == EAGAIN, you have to restart
* transaction.
*/
-bool xs_transaction_end(struct xs_handle *h, struct xs_transaction_handle *t,
+bool xs_transaction_end(struct xs_handle *h, xs_transaction_handle t,
bool abort);
/* Introduce a new domain.
diff -r d3a4485a41fc -r f5f703ec5223 tools/xenstore/xs_test.c
--- a/tools/xenstore/xs_test.c Tue Jan 10 16:27:16 2006
+++ b/tools/xenstore/xs_test.c Tue Jan 10 17:16:30 2006
@@ -43,7 +43,7 @@
#define XSTEST
static struct xs_handle *handles[10] = { NULL };
-static struct xs_transaction_handle *txh[10] = { XBT_NULL };
+static xs_transaction_handle txh[10] = { XBT_NULL };
static unsigned int timeout_ms = 500;
static bool timeout_suppressed = true;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|