123 aNode = &(prBase->
aNodes[nodeId - 1]);
128 aNode->
iAction = AddAction(prDesc, action);
153 if (nOfOutFlows < 2) {
164 dNode = &(prBase->
dNodes[nodeId - 1]);
186 AddFlow(prDesc, srcId,
actionNode, destId, cfGuard);
206 AddFlow(prDesc, srcId,
actionNode, 0, cfGuard);
266 if (prBase->
flows[baseLoc + nOfOutFlows - 1].
iGuard != -1) {
275 for (i = 0; i < nOfOutFlows; i++) {
281 flow = &(prBase->
flows[loc]);
287 flow->
iGuard = AddGuard(prDesc, cfGuard);
305 if (i < prDesc->nOfActions) {
322 for (i = 1; i < prDesc->
nOfGuards; i++) {
331 if (i < prDesc->nOfGuards) {
353 for (i = 0; i < prBase->
nOfANodes; i++) {
360 for (i = 0; i < prBase->
nOfDNodes; i++) {
367 for (i = 0; i < prBase->
nOfFlows; i++) {
374 for (i = 0; i < prBase->
nOfFlows; i++) {
391 for (i = 0; i < prDesc->
nOfGuards; i++) {
398 for (i = 1; i <= prBase->
nOfANodes; i++) {
400 for (j = 0; j < prBase->
nOfFlows; j++) {
412 for (i = 1; i <= prBase->
nOfDNodes; i++) {
414 for (j = 0; j < prBase->
nOfFlows; j++) {
456 for (i = 1; i < prDesc->
nOfGuards; i++) {
457 if (prDesc->
prGuards[i] == oldGuard) {
Structure representing a decision node in a procedure.
The number of actions added to the procedure is smaller than the number of actions declared when the ...
Structure representing an action node in a procedure.
FwPrCounterS1_t nOfGuards
the number of guards in the procedure
An action node is added to a procedure with an illegal (out-of-range) identifier. ...
The number of guards added to the procedure is smaller than the number of guards declared when the pr...
A decision node is added to a procedure with an illegal (out-of-range) identifier.
Declaration of the configuration interface for a FW Procedure.
The overridden guard in a derived procedure does not exist.
The number of guards added to the procedure exceeds the number of guards declared when the procedure ...
The overridden action in a derived procedure does not exist.
void FwPrOverrideGuard(FwPrDesc_t prDesc, FwPrGuard_t oldGuard, FwPrGuard_t newGuard)
Override a guard in a derived procedure.
FwPrCounterS1_t iAction
index of the action attached to the node
An action node is defined with a null action.
Structure representing the base descriptor of a procedure.
void * prData
the pointer to the data manipulated by the procedure actions and guards
void FwPrAddFlowIniToDec(FwPrDesc_t prDesc, FwPrCounterS1_t destId, FwPrGuard_t cfGuard)
Create a control flow from the initial node to a decision node and add it to a procedure.
FwPrCounterS1_t nOfActions
the number of actions in the procedure
A configuration error has been detected during the procedure configuration process.
An action node is added twice to the same procedure.
void FwPrAddFlowActToDec(FwPrDesc_t prDesc, FwPrCounterS1_t srcId, FwPrCounterS1_t destId, FwPrGuard_t cfGuard)
Create a control flow from an action node to a decision node and add it to a procedure.
FwPrCounterS1_t nOfANodes
the number of action nodes in the procedure
A choice pseudo-state is added to a procedure with less than 2 out-going control flows.
FwPrCounterS1_t dest
the index of the destination of the control flow
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
The procedure has an action node which is not a destination of any control flow.
A control flow is added to a procedure with an illegal (out-of-range) decision node destination...
PrANode_t * aNodes
array holding the action nodes in the procedure
An action state in a procedure.
void FwPrAddFlowDecToFin(FwPrDesc_t prDesc, FwPrCounterS1_t srcId, FwPrGuard_t cfGuard)
Create a control flow from a decision node to the final node and add it to a procedure.
A node is added to a procedure which has more out-going transitions than fit into the control flow ar...
FwPrCounterS1_t flowCnt
the counter for the number of control flows added to the procedure
int FwPrBool_t
Type used for booleans (0 is "false" and 1 is "true").
void FwPrOverrideAction(FwPrDesc_t prDesc, FwPrAction_t oldAction, FwPrAction_t newAction)
Override an action in a derived 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
A control flow is added to a SM with a source which has an illegal value.
There is an undefined control flow in a procedure.
void FwPrAddFlowActToFin(FwPrDesc_t prDesc, FwPrCounterS1_t srcId, FwPrGuard_t cfGuard)
Create a control flow from an action node to the final node and add it to a procedure.
The procedure has a decision node which is not a destination of any control flow. ...
void FwPrAddFlowActToAct(FwPrDesc_t prDesc, FwPrCounterS1_t srcId, FwPrCounterS1_t destId, FwPrGuard_t cfGuard)
Create a control flow from an action node to another action node and add it to a procedure.
A decision node in a procedure.
void(* FwPrAction_t)(FwPrDesc_t)
Type for a pointer to a procedure action.
There is an undefined decision node in a procedure.
void * FwPrGetData(FwPrDesc_t prDesc)
Get the pointer to the procedure data in the procedure descriptor.
void FwPrSetData(FwPrDesc_t prDesc, void *prData)
Set the pointer to the procedure data in the procedure descriptor.
Structure representing a control flow.
FwPrErrCode_t errCode
either 'success' or the code of the last error encountered by the procedure
The number of actions added to the procedure exceeds the number of actions declared when the procedur...
FwPrErrCode_t
Error codes and function return codes for the procedure functions.
void FwPrAddFlowDecToDec(FwPrDesc_t prDesc, FwPrCounterS1_t srcId, FwPrCounterS1_t destId, FwPrGuard_t cfGuard)
Create a control flow from a decision node to another decision node and add it to a procedure...
FwPrCounterS1_t outFlowIndex
index of first out-going control flow in control flow array
The procedure where an action or a guard is overridden or a procedure is embedded is not a derived pr...
Return codes of a function which has completed execution without errors.
void FwPrAddDecisionNode(FwPrDesc_t prDesc, FwPrCounterS1_t nodeId, FwPrCounterS1_t nOfOutFlows)
Create a decision node with the given characteristics and add it to a procedure.
A control flow is added to a procedure with a source (either a state or a source choice pseudo-state)...
signed char FwPrCounterS1_t
Type used for signed counters with a "short" range.
Structure representing a procedure descriptor.
FwPrCounterS1_t nOfOutTrans
number of outgoing control flows from the decision node
FwPrAction_t * prActions
the procedure actions
A control flow from a certain source is added to a procedure but there isn't space for it in the cont...
A decision node is added twice to the same procedure.
Either the initial or the final node.
There is an undefined action node in a procedure.
void FwPrAddFlowIniToAct(FwPrDesc_t prDesc, FwPrCounterS1_t destId, FwPrGuard_t cfGuard)
Create a control flow from the initial node to an action node and add it to a procedure.
Declaration of the internal data structures of the FW Procedure Module.
void FwPrAddActionNode(FwPrDesc_t prDesc, FwPrCounterS1_t nodeId, FwPrAction_t action)
Create an action node with the given characteristics and add it to a procedure.
FwPrErrCode_t FwPrCheck(FwPrDesc_t prDesc)
Check the correctness and completeness of the configuration of a procedure descriptor.
FwPrCounterS1_t iFlow
index of out-going control flows
NodeType_t
Enumerated type for the type of a node in a procedure.
FwPrGuard_t * prGuards
the control flow guards in the procedure
A control flow is added to a procedure with an illegal (out-of-range) action node destination...
FwPrCounterS1_t nOfDNodes
the number of decision nodes in the procedure
void FwPrAddFlowDecToAct(FwPrDesc_t prDesc, FwPrCounterS1_t srcId, FwPrCounterS1_t destId, FwPrGuard_t cfGuard)
Create a control flow from a decision node to an action node and add it to a procedure.
FwPrBool_t(* FwPrGuard_t)(FwPrDesc_t)
Type for a pointer to a procedure guard.