diff src/chain.h @ 215:726937936aa0

- CCC: added reentrancy control to the OpEnd and OpAbort operations. - CCC: enhanced the debug function and implemented OpAbort for dpi.
author jcid
date Sat, 17 May 2008 03:00:04 +0200
parents 6ee11bf9e3ea
children 3e784a367043
line wrap: on
line diff
--- a/src/chain.h	Fri May 16 22:37:57 2008 +0200
+++ b/src/chain.h	Sat May 17 03:00:04 2008 +0200
@@ -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 @@
 struct _ChainLink {
    void *LocalKey;
 
+   int Flags;
+
    ChainLink *FcbInfo;
    ChainFunction_t Fcb;
    int FcbBranch;
@@ -61,9 +69,9 @@
 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__ */