46 if (nOfActions > nOfANodes) {
54 if (nOfGuards > nOfFlows) {
69 if (prBase->
aNodes == NULL) {
72 for (i = 0; i < nOfANodes; i++) {
78 if (prBase->
dNodes == NULL) {
81 for (i = 0; i < nOfDNodes; i++) {
90 if (prBase->
flows == NULL) {
93 for (i = 0; i < nOfFlows; i++) {
139 if (extPrDesc == NULL) {
157 for (i = 0; i < prDesc->
nOfGuards; i++) {
187 if (prBase->
dNodes != NULL) {
Structure representing a decision node in a procedure.
Structure representing an action node in a procedure.
FwPrCounterS1_t nOfGuards
the number of guards in the procedure
Structure representing the base descriptor of a procedure.
void * prData
the pointer to the data manipulated by the procedure actions and guards
FwPrCounterS1_t nOfActions
the number of actions in the procedure
FwPrCounterS1_t nOfANodes
the number of action nodes in the procedure
PrFlow_t * flows
array holding the control flows in the procedure
FwPrCounterS1_t nOfFlows
the number of control flows in the procedure (excluding control flow from initial node) ...
PrBaseDesc_t * prBase
pointer to the base descriptor
PrANode_t * aNodes
array holding the action nodes in the procedure
FwPrCounterS1_t flowCnt
the counter for the number of control flows added to the procedure
PrDNode_t * dNodes
array holding the decision nodes in the procedure
FwPrCounterS1_t iGuard
the index of the guard associated to the control flow
void FwPrRelease(FwPrDesc_t prDesc)
Release the memory which was allocated when the procedure descriptor was created. ...
FwPrBool_t PrDummyGuard(FwPrDesc_t prDesc)
Dummy guard which always returns true.
FwPrDesc_t FwPrCreate(FwPrCounterS1_t nOfANodes, FwPrCounterS1_t nOfDNodes, FwPrCounterS1_t nOfFlows, FwPrCounterS1_t nOfActions, FwPrCounterS1_t nOfGuards)
Create a new procedure descriptor.
FwPrDesc_t FwPrCreateDer(FwPrDesc_t prDesc)
Create the descriptor of a derived procedure.
void(* FwPrAction_t)(FwPrDesc_t)
Type for a pointer to a procedure action.
Structure representing a control flow.
FwPrCounterU3_t nodeExecCnt
the node execution counter
void FwPrReleaseDer(FwPrDesc_t prDesc)
Release the memory allocated to a derived procedure descriptor.
FwPrErrCode_t errCode
either 'success' or the code of the last error encountered by the procedure
long unsigned int FwPrCounterU4_t
Type used for unsigned counters with a "long int" range.
FwPrCounterS1_t outFlowIndex
index of first out-going control flow in control flow array
Return codes of a function which has completed execution without errors.
signed char FwPrCounterS1_t
Type used for signed counters with a "short" range.
Structure representing a procedure descriptor.
FwPrAction_t * prActions
the procedure actions
Declaration of the dynamical creation interface for a FW Procedure.
Declaration of the internal data structures of the FW Procedure Module.
struct FwPrDesc * FwPrDesc_t
Forward declaration for the pointer to a procedure descriptor.
FwPrCounterS1_t iFlow
index of out-going control flows
FwPrCounterU3_t prExecCnt
the procedure execution counter
FwPrGuard_t * prGuards
the control flow guards in the procedure
FwPrCounterS1_t nOfDNodes
the number of decision nodes in the procedure
FwPrCounterS1_t curNode
the current node of the procedure
FwPrBool_t(* FwPrGuard_t)(FwPrDesc_t)
Type for a pointer to a procedure guard.