#ifndef _XS_WIRE_H\r
#define _XS_WIRE_H\r
\r
-enum xsd_sockmsg_type\r
-{\r
- XS_DEBUG,\r
- XS_DIRECTORY,\r
- XS_READ,\r
- XS_GET_PERMS,\r
- XS_WATCH,\r
- XS_UNWATCH,\r
- XS_TRANSACTION_START,\r
- XS_TRANSACTION_END,\r
- XS_INTRODUCE,\r
- XS_RELEASE,\r
- XS_GET_DOMAIN_PATH,\r
- XS_WRITE,\r
- XS_MKDIR,\r
- XS_RM,\r
- XS_SET_PERMS,\r
- XS_WATCH_EVENT,\r
- XS_ERROR,\r
- XS_IS_DOMAIN_INTRODUCED,\r
- XS_RESUME,\r
- XS_SET_TARGET,\r
- XS_RESTRICT,\r
- XS_RESET_WATCHES,\r
-\r
- XS_INVALID = 0xffff /* Guaranteed to remain an invalid type */\r
+enum xsd_sockmsg_type {\r
+ XS_DEBUG,\r
+ XS_DIRECTORY,\r
+ XS_READ,\r
+ XS_GET_PERMS,\r
+ XS_WATCH,\r
+ XS_UNWATCH,\r
+ XS_TRANSACTION_START,\r
+ XS_TRANSACTION_END,\r
+ XS_INTRODUCE,\r
+ XS_RELEASE,\r
+ XS_GET_DOMAIN_PATH,\r
+ XS_WRITE,\r
+ XS_MKDIR,\r
+ XS_RM,\r
+ XS_SET_PERMS,\r
+ XS_WATCH_EVENT,\r
+ XS_ERROR,\r
+ XS_IS_DOMAIN_INTRODUCED,\r
+ XS_RESUME,\r
+ XS_SET_TARGET,\r
+ XS_RESTRICT,\r
+ XS_RESET_WATCHES,\r
+\r
+ XS_INVALID = 0xffff /* Guaranteed to remain an invalid type */\r
};\r
\r
-#define XS_WRITE_NONE "NONE"\r
-#define XS_WRITE_CREATE "CREATE"\r
-#define XS_WRITE_CREATE_EXCL "CREATE|EXCL"\r
+#define XS_WRITE_NONE "NONE"\r
+#define XS_WRITE_CREATE "CREATE"\r
+#define XS_WRITE_CREATE_EXCL "CREATE|EXCL"\r
\r
/* We hand errors as strings, for portability. */\r
-struct xsd_errors\r
-{\r
- INT32 errnum;\r
- const CHAR8 *errstring;\r
+struct xsd_errors {\r
+ INT32 errnum;\r
+ const CHAR8 *errstring;\r
};\r
+\r
#ifdef EINVAL\r
-#define XSD_ERROR(x) { x, #x }\r
+#define XSD_ERROR(x) { x, #x }\r
/* LINTED: static unused */\r
static struct xsd_errors xsd_errors[]\r
-#if defined(__GNUC__)\r
-__attribute__((unused))\r
-#endif\r
- = {\r
- XSD_ERROR(EINVAL),\r
- XSD_ERROR(EACCES),\r
- XSD_ERROR(EEXIST),\r
- XSD_ERROR(EISDIR),\r
- XSD_ERROR(ENOENT),\r
- XSD_ERROR(ENOMEM),\r
- XSD_ERROR(ENOSPC),\r
- XSD_ERROR(EIO),\r
- XSD_ERROR(ENOTEMPTY),\r
- XSD_ERROR(ENOSYS),\r
- XSD_ERROR(EROFS),\r
- XSD_ERROR(EBUSY),\r
- XSD_ERROR(EAGAIN),\r
- XSD_ERROR(EISCONN),\r
- XSD_ERROR(E2BIG)\r
-};\r
+ #if defined (__GNUC__)\r
+__attribute__ ((unused))\r
+ #endif\r
+ = {\r
+ XSD_ERROR (EINVAL),\r
+ XSD_ERROR (EACCES),\r
+ XSD_ERROR (EEXIST),\r
+ XSD_ERROR (EISDIR),\r
+ XSD_ERROR (ENOENT),\r
+ XSD_ERROR (ENOMEM),\r
+ XSD_ERROR (ENOSPC),\r
+ XSD_ERROR (EIO),\r
+ XSD_ERROR (ENOTEMPTY),\r
+ XSD_ERROR (ENOSYS),\r
+ XSD_ERROR (EROFS),\r
+ XSD_ERROR (EBUSY),\r
+ XSD_ERROR (EAGAIN),\r
+ XSD_ERROR (EISCONN),\r
+ XSD_ERROR (E2BIG)\r
+ };\r
#endif\r
\r
-struct xsd_sockmsg\r
-{\r
- UINT32 type; /* XS_??? */\r
- UINT32 req_id;/* Request identifier, echoed in daemon's response. */\r
- UINT32 tx_id; /* Transaction id (0 if not related to a transaction). */\r
- UINT32 len; /* Length of data following this. */\r
+struct xsd_sockmsg {\r
+ UINT32 type; /* XS_??? */\r
+ UINT32 req_id; /* Request identifier, echoed in daemon's response. */\r
+ UINT32 tx_id; /* Transaction id (0 if not related to a transaction). */\r
+ UINT32 len; /* Length of data following this. */\r
\r
- /* Generally followed by nul-terminated string(s). */\r
+ /* Generally followed by nul-terminated string(s). */\r
};\r
\r
-enum xs_watch_type\r
-{\r
- XS_WATCH_PATH = 0,\r
- XS_WATCH_TOKEN\r
+enum xs_watch_type {\r
+ XS_WATCH_PATH = 0,\r
+ XS_WATCH_TOKEN\r
};\r
\r
/*\r
* `incontents 150 xenstore_struct XenStore wire protocol.\r
*\r
* Inter-domain shared memory communications. */\r
-#define XENSTORE_RING_SIZE 1024\r
+#define XENSTORE_RING_SIZE 1024\r
typedef UINT32 XENSTORE_RING_IDX;\r
-#define MASK_XENSTORE_IDX(idx) ((idx) & (XENSTORE_RING_SIZE-1))\r
+#define MASK_XENSTORE_IDX(idx) ((idx) & (XENSTORE_RING_SIZE-1))\r
struct xenstore_domain_interface {\r
- CHAR8 req[XENSTORE_RING_SIZE]; /* Requests to xenstore daemon. */\r
- CHAR8 rsp[XENSTORE_RING_SIZE]; /* Replies and async watch events. */\r
- XENSTORE_RING_IDX req_cons, req_prod;\r
- XENSTORE_RING_IDX rsp_cons, rsp_prod;\r
- UINT32 server_features; /* Bitmap of features supported by the server */\r
- UINT32 connection;\r
+ CHAR8 req[XENSTORE_RING_SIZE]; /* Requests to xenstore daemon. */\r
+ CHAR8 rsp[XENSTORE_RING_SIZE]; /* Replies and async watch events. */\r
+ XENSTORE_RING_IDX req_cons, req_prod;\r
+ XENSTORE_RING_IDX rsp_cons, rsp_prod;\r
+ UINT32 server_features; /* Bitmap of features supported by the server */\r
+ UINT32 connection;\r
};\r
\r
/* Violating this is very bad. See docs/misc/xenstore.txt. */\r
-#define XENSTORE_PAYLOAD_MAX 4096\r
+#define XENSTORE_PAYLOAD_MAX 4096\r
\r
/* Violating these just gets you an error back */\r
-#define XENSTORE_ABS_PATH_MAX 3072\r
-#define XENSTORE_REL_PATH_MAX 2048\r
+#define XENSTORE_ABS_PATH_MAX 3072\r
+#define XENSTORE_REL_PATH_MAX 2048\r
\r
/* The ability to reconnect a ring */\r
-#define XENSTORE_SERVER_FEATURE_RECONNECTION 1\r
+#define XENSTORE_SERVER_FEATURE_RECONNECTION 1\r
\r
/* Valid values for the connection field */\r
-#define XENSTORE_CONNECTED 0 /* the steady-state */\r
-#define XENSTORE_RECONNECT 1 /* guest has initiated a reconnect */\r
+#define XENSTORE_CONNECTED 0 /* the steady-state */\r
+#define XENSTORE_RECONNECT 1 /* guest has initiated a reconnect */\r
\r
#endif /* _XS_WIRE_H */\r
\r