1 /*
2     Watch code for Xen Store Daemon.
3     Copyright (C) 2005 Rusty Russell IBM Corporation
4 
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9 
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program; If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef _XENSTORED_WATCH_H
20 #define _XENSTORED_WATCH_H
21 
22 #include "core.h"
23 
24 int do_watch(const void *ctx, struct connection *conn,
25 	     struct buffered_data *in);
26 int do_unwatch(const void *ctx, struct connection *conn,
27 	       struct buffered_data *in);
28 
29 /* Fire all watches: !exact means all the children are affected (ie. rm). */
30 void fire_watches(struct connection *conn, const void *tmp, const char *name,
31 		  const struct node *node, bool exact,
32 		  struct node_perms *perms);
33 
34 void conn_delete_all_watches(struct connection *conn);
35 
36 const char *dump_state_watches(FILE *fp, struct connection *conn,
37 			       unsigned int conn_id);
38 
39 void read_state_watch(const void *ctx, const void *state);
40 
41 #endif /* _XENSTORED_WATCH_H */
42