56 #ifndef FWPR_SCREATE_H_ 57 #define FWPR_SCREATE_H_ 102 #define FW_PR_INST(PR_DESC, N, NDEC, NFLOWS, NA, NG) \ 103 static PrANode_t PR_DESC##_aNodes[(N)]; \ 104 static PrDNode_t PR_DESC##_dNodes[(NDEC)]; \ 105 static PrFlow_t PR_DESC##_flows[(NFLOWS)]; \ 106 static FwPrAction_t PR_DESC##_actions[(NA)]; \ 107 static FwPrGuard_t PR_DESC##_guards[(NG) + 1]; \ 108 static PrBaseDesc_t PR_DESC##_base = {(PR_DESC##_aNodes), (PR_DESC##_dNodes), (PR_DESC##_flows), N, NDEC, NFLOWS}; \ 109 static struct FwPrDesc(PR_DESC) = { \ 110 &(PR_DESC##_base), (PR_DESC##_actions), (PR_DESC##_guards), NA, (NG) + 1, 1, 0, prSuccess, 0, 0, NULL}; 153 #define FW_PR_INST_NODEC(PR_DESC, N, NFLOWS, NA, NG) \ 154 static PrANode_t PR_DESC##_aNodes[(N)]; \ 155 static PrFlow_t PR_DESC##_flows[(NFLOWS)]; \ 156 static FwPrAction_t PR_DESC##_actions[(NA)]; \ 157 static FwPrGuard_t PR_DESC##_guards[(NG) + 1]; \ 158 static PrBaseDesc_t PR_DESC##_base = {(PR_DESC##_aNodes), NULL, (PR_DESC##_flows), N, 0, NFLOWS}; \ 159 static struct FwPrDesc(PR_DESC) = { \ 160 &(PR_DESC##_base), (PR_DESC##_actions), (PR_DESC##_guards), NA, (NG) + 1, 1, 0, prSuccess, 0, 0, NULL}; 197 #define FW_PR_INST_DER(PR_DESC, NA, NG) \ 198 static FwPrAction_t PR_DESC##_actions[(NA)]; \ 199 static FwPrGuard_t PR_DESC##_guards[(NG) + 1]; \ 200 static struct FwPrDesc(PR_DESC) = { \ 201 NULL, (PR_DESC##_actions), (PR_DESC##_guards), NA, (NG) + 1, 1, 0, prSuccess, 0, 0, NULL}; void FwPrInit(FwPrDesc_t prDesc)
Initialize a procedure descriptor to represent an unconfigured procedure with no control flows...
void FwPrInitDer(FwPrDesc_t prDesc, FwPrDesc_t prDescBase)
Initialize a procedure descriptor to extend another procedure (the base procedure).
Structure representing a procedure descriptor.
Declaration of the internal data structures of the FW Procedure Module.