--- /dev/null
+/*
+ * Written by Josh Dybnis and released to the public domain, as explained at
+ * http://creativecommons.org/licenses/publicdomain
+ */
+#ifndef TXN_H
+#define TXN_H
+#include "ht.h"
+
+typedef enum { TXN_READ_WRITE, TXN_READ_ONLY, TXN_BLIND_WRITE } txn_access_t;
+typedef enum { TXN_DIRTY_READ, TXN_READ_COMMITTED, TXN_REPEATABLE_READ } txn_isolation_t;
+
+typedef struct txn txn_t;
+
+txn_t *txn_begin (txn_access_t access, txn_isolation_t isolation, hash_table_t *ht);
+#endif//TXN_H
OPT := -fwhole-program -combine -03 #-DNDEBUG
CFLAGS := -g -Wall -Werror -std=c99 -m64 -fnested-functions #$(OPT) #-DENABLE_TRACE
INCS := $(addprefix -I, include)
-TESTS := output/rcu_test output/list_test output/ht_test
-EXES := $(TESTS) output/txn_test
+TESTS := output/rcu_test output/list_test output/ht_test output/txn_test
+EXES := $(TESTS)
RUNTIME_SRCS := runtime/runtime.c runtime/rcu.c runtime/lwt.c runtime/mem.c
TEST_SRCS := $(RUNTIME_SRCS)
tests: $(TESTS)
-txn: output/txn_test
-
###################################################################################################
# Run the tests
###################################################################################################