X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb%2Ftest%2Fexternal-transaction.h;h=c0197b194a6bb04f8ee4df0182482e331faf6d4c;hp=62a4803bc0ebcd4dd905de608bfe3c9b0549a48a;hb=426c8dc977d0fb46286042f7072d86bc053836a1;hpb=450a9a4c70af36f3be1eb572d513ffebf25c3797 diff --git a/ccan/tdb/test/external-transaction.h b/ccan/tdb/test/external-transaction.h index 62a4803b..c0197b19 100644 --- a/ccan/tdb/test/external-transaction.h +++ b/ccan/tdb/test/external-transaction.h @@ -2,10 +2,31 @@ #define TDB_TEST_EXTERNAL_TRANSACTION_H #include +enum operation { + OPEN, + OPEN_WITH_CLEAR_IF_FIRST, + TRANSACTION, + KEEP_OPENED, + TRANSACTION_KEEP_OPENED, + FETCH_KEEP_OPENED, + STORE_KEEP_OPENED, + CHECK_KEEP_OPENED, + NEEDS_RECOVERY_KEEP_OPENED, + CLOSE, +}; + /* Do this before doing any tdb stuff. Return handle, or -1. */ struct agent *prepare_external_agent(void); -/* Ask the external agent to try to do a transaction. */ -bool external_agent_transaction(struct agent *handle, const char *tdbname); +/* Ask the external agent to try to do an operation. */ +int external_agent_operation(struct agent *handle, + enum operation op, + const char *tdbname); + +/* Ask... */ +void external_agent_operation_start(struct agent *agent, + enum operation op, const char *tdbname); +/* See if they've done it. */ +bool external_agent_operation_check(struct agent *agent, bool block, int *res); #endif /* TDB_TEST_EXTERNAL_TRANSACTION_H */