22#define CCC_Stopped (1 << 0)
23#define CCC_Ended (1 << 1)
24#define CCC_Aborted (1 << 2)
34 void *Data1,
void *Data2);
66 int AtoB_branch,
int BtoA_branch);
int a_Chain_bcb(int Op, ChainLink *Info, void *Data1, void *Data2)
Issue the backward callback of the 'Info' link.
DataBuf * a_Chain_dbuf_new(void *buf, int size, int code)
Allocate and initialize a new DataBuf structure.
ChainLink * a_Chain_link_new(ChainLink *AInfo, ChainFunction_t AFunc, int Direction, ChainFunction_t BFunc, int AtoB_branch, int BtoA_branch)
Create a new link from module A to module B.
void a_Chain_unlink(ChainLink *Info, int Direction)
Unlink a previously used link.
int a_Chain_check(char *FuncStr, int Op, int Branch, int Dir, ChainLink *Info)
Check whether the CCC is operative.
int a_Chain_bfcb(int Op, ChainLink *Info, void *Data1, void *Data2)
Issue the backward callback of the 'Info' link and then the forward callback (used for OpAbort and Op...
void(* ChainFunction_t)(int Op, int Branch, int Dir, ChainLink *Info, void *Data1, void *Data2)
int a_Chain_fcb(int Op, ChainLink *Info, void *Data1, void *Data2)
Issue the forward callback of the 'Info' link.
ChainLink * a_Chain_new(void)
Create and initialize a new chain-link.
Main data structure for CCC nodes.
A convenience data structure for passing data chunks between nodes.