aboutsummaryrefslogtreecommitdiff
path: root/src/chain.h
diff options
context:
space:
mode:
authorjcid <devnull@localhost>2008-05-17 03:00:04 +0200
committerjcid <devnull@localhost>2008-05-17 03:00:04 +0200
commit907df0d21b68efd17f176d883a5d857d571237c6 (patch)
treec975f8b5721cd0902c9dab07177b2ce7e664826b /src/chain.h
parent42a48c329bdaa79d3a92951912f1174b7bc5035c (diff)
- CCC: added reentrancy control to the OpEnd and OpAbort operations.
- CCC: enhanced the debug function and implemented OpAbort for dpi.
Diffstat (limited to 'src/chain.h')
-rw-r--r--src/chain.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/chain.h b/src/chain.h
index 2d5f0aae..b6b41bd4 100644
--- a/src/chain.h
+++ b/src/chain.h
@@ -16,6 +16,12 @@
#define OpEnd 4
#define OpAbort 5
+/*
+ * CCC flags
+ */
+#define CCC_Stopped (1 << 0)
+#define CCC_Ended (1 << 1)
+#define CCC_Aborted (1 << 2)
/*
* Linking direction
@@ -33,6 +39,8 @@ typedef void (*ChainFunction_t)(int Op, int Branch, int Dir, ChainLink *Info,
struct _ChainLink {
void *LocalKey;
+ int Flags;
+
ChainLink *FcbInfo;
ChainFunction_t Fcb;
int FcbBranch;
@@ -61,9 +69,9 @@ ChainLink *a_Chain_link_new(ChainLink *AInfo, ChainFunction_t AFunc,
void a_Chain_unlink(ChainLink *Info, int Direction);
int a_Chain_fcb(int Op, ChainLink *Info, void *Data1, void *Data2);
int a_Chain_bcb(int Op, ChainLink *Info, void *Data1, void *Data2);
+int a_Chain_check(char *FuncStr, int Op, int Branch, int Dir,
+ ChainLink *Info);
DataBuf *a_Chain_dbuf_new(void *buf, int size, int code);
-void a_Chain_debug_msg(char *FuncStr, int Op, int Branch, int Dir);
-
#endif /* __CHAIN_H__ */