aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xenstore/xenstored_core.h
diff options
context:
space:
mode:
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>2005-06-17 10:24:34 +0000
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>2005-06-17 10:24:34 +0000
commit4ddc54b2db6264de8a8809d2a8763c5f4e3f4191 (patch)
tree22569f709abb8a9b21f17bfe9c39471bc89a8cc8 /tools/xenstore/xenstored_core.h
parentc364cd9e1add6131c74a2507ea81ed556b0c0842 (diff)
downloadxen-4ddc54b2db6264de8a8809d2a8763c5f4e3f4191.tar.gz
xen-4ddc54b2db6264de8a8809d2a8763c5f4e3f4191.tar.bz2
xen-4ddc54b2db6264de8a8809d2a8763c5f4e3f4191.zip
bitkeeper revision 1.1713.3.5 (42b2a4e2r6SNlC_nq2hAkXEQjEFAmA)
Many files: - watch now takes a token, returned when reading watch - More tests - Fix domain shared page communication (flush output) - Add "home" path for domains - More permissions checks in various functions - Simplify watch acknowledgement code and fix occasional bug xs_watch_stress.c, 12readonly.sh, 11domain-watch.sh, 10domain-homedir.sh: new file xs_stress.c, xs_lib.h, xs_lib.c: Cleanup whitespace. ignore: Add tools/xenstore/xs_watch_stress Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Diffstat (limited to 'tools/xenstore/xenstored_core.h')
-rw-r--r--tools/xenstore/xenstored_core.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 0d0ebcaae0..a82ae8b22e 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -16,8 +16,10 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#ifndef _XENSTORED_INTERNAL_H
-#define _XENSTORED_INTERNAL_H
+
+#ifndef _XENSTORED_CORE_H
+#define _XENSTORED_CORE_H
+
#include <stdbool.h>
#include <stdint.h>
#include <errno.h>
@@ -59,8 +61,8 @@ struct connection
/* Is this a read-only connection? */
bool can_write;
- /* Our current event. If all used, we're waiting for ack. */
- struct watch_event *event;
+ /* Are we waiting for a watch event ack? */
+ bool waiting_for_ack;
/* Buffered incoming data. */
struct buffered_data *in;
@@ -105,6 +107,9 @@ bool send_ack(struct connection *conn, enum xsd_sockmsg_type type);
/* Send an error: error is usually "errno". */
bool send_error(struct connection *conn, int error);
+/* Canonicalize this path if possible. */
+char *canonicalize(struct connection *conn, const char *node);
+
/* Check permissions on this node. */
bool check_node_perms(struct connection *conn, const char *node,
enum xs_perm_type perm);
@@ -121,6 +126,10 @@ struct connection *new_connection(connwritefn_t *write, connreadfn_t *read);
void handle_input(struct connection *conn);
void handle_output(struct connection *conn);
+/* Is this a valid node name? */
+bool is_valid_nodename(const char *node);
+
/* Convenient talloc-style destructor for paths. */
int destroy_path(void *path);
-#endif /* _XENSTORED_INTERNAL_H */
+
+#endif /* _XENSTORED_CORE_H */