X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fovsdb-idl.h;h=0a1fbc6ba46646adb1a884da9e8884d448aaed93;hb=6c1b89ed0e6b9934d63ae4d71ba885bfcb87891a;hp=7e95bb10358dc96bad3e0aba44cdb68666947030;hpb=c3bb4bd7f1d9c045a5e5d7062b09d4dac4e48195;p=openvswitch diff --git a/lib/ovsdb-idl.h b/lib/ovsdb-idl.h index 7e95bb10..0a1fbc6b 100644 --- a/lib/ovsdb-idl.h +++ b/lib/ovsdb-idl.h @@ -28,4 +28,24 @@ void ovsdb_idl_wait(struct ovsdb_idl *); unsigned int ovsdb_idl_get_seqno(const struct ovsdb_idl *); void ovsdb_idl_force_reconnect(struct ovsdb_idl *); +enum ovsdb_idl_txn_status { + TXN_INCOMPLETE, /* Commit in progress, please wait. */ + TXN_ABORTED, /* ovsdb_idl_txn_abort() called. */ + TXN_SUCCESS, /* Commit successful. */ + TXN_TRY_AGAIN, /* Commit failed because a "verify" operation + * reported an inconsistency, due to a network + * problem, or other transient failure. */ + TXN_ERROR /* Commit failed due to a hard error. */ +}; + +const char *ovsdb_idl_txn_status_to_string(enum ovsdb_idl_txn_status); + +struct ovsdb_idl_txn *ovsdb_idl_txn_create(struct ovsdb_idl *); +void ovsdb_idl_txn_add_comment(struct ovsdb_idl_txn *, const char *); +void ovsdb_idl_txn_set_dry_run(struct ovsdb_idl_txn *); +void ovsdb_idl_txn_destroy(struct ovsdb_idl_txn *); +void ovsdb_idl_txn_wait(const struct ovsdb_idl_txn *); +enum ovsdb_idl_txn_status ovsdb_idl_txn_commit(struct ovsdb_idl_txn *); +void ovsdb_idl_txn_abort(struct ovsdb_idl_txn *); + #endif /* ovsdb-idl.h */