1 | /* |
---|
2 | Transaction 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, write to the Free Software |
---|
17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
---|
18 | */ |
---|
19 | #ifndef _XENSTORED_TRANSACTION_H |
---|
20 | #define _XENSTORED_TRANSACTION_H |
---|
21 | #include "xenstored_core.h" |
---|
22 | |
---|
23 | struct transaction; |
---|
24 | |
---|
25 | void do_transaction_start(struct connection *conn, struct buffered_data *node); |
---|
26 | void do_transaction_end(struct connection *conn, const char *arg); |
---|
27 | |
---|
28 | struct transaction *transaction_lookup(struct connection *conn, uint32_t id); |
---|
29 | |
---|
30 | /* This node was changed: can fail and longjmp. */ |
---|
31 | void add_change_node(struct transaction *trans, const char *node, |
---|
32 | bool recurse); |
---|
33 | |
---|
34 | /* Return tdb context to use for this connection. */ |
---|
35 | TDB_CONTEXT *tdb_transaction_context(struct transaction *trans); |
---|
36 | |
---|
37 | void conn_delete_all_transactions(struct connection *conn); |
---|
38 | |
---|
39 | #endif /* _XENSTORED_TRANSACTION_H */ |
---|