/* Program generated by Cbasic 6.0.0 */ #define XSCT_CBASIC #define SCT_VERSION_6_0 #define XENABLE_VERSION_CHECK #include "scttypes.h" #ifdef XINCLUDE_HS_FILE #include "Concuro.hs" #endif XSYSTEMVARS #ifdef XCTRACE static char xFileName[] = "C:\\temp\\LAB8Concurency3\\Concuro.c"; #endif /************************************************************************* ** SECTION Types and Forward references ** *************************************************************************/ /***** * SYSTEM Concuro * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy,4,1,8) ******/ extern XCONST struct xSystemIdStruct ySysR_z_Concuro; /***** * BLOCK Producers * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk,4,1,7) ******/ extern XCONST struct xBlockIdStruct yBloR_z0_Producers; /***** * SYNTYPE iLikeToWrite (TYPE section) * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),8,9) ******/ #ifndef XTNOUSE_iLikeToWrite extern tSDLGenInfo ySDL_z010_iLikeToWrite; #endif typedef SDL_Integer z010_iLikeToWrite; /***** * SYNTYPE babaAuRum (TYPE section) * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),12,9) ******/ #ifndef XTNOUSE_babaAuRum extern tSDLGenInfo ySDL_z011_babaAuRum; #endif typedef SDL_Duration z011_babaAuRum; /***** * SYNTYPE iLikeToWrite (HEADING section) * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),8,9) ******/ #ifndef XOPTSORT extern XCONST struct xSortIdStruct ySrtR_z010_iLikeToWrite; #define ySrtN_z010_iLikeToWrite (&ySrtR_z010_iLikeToWrite) #endif #define yAssF_z010_iLikeToWrite(V,E,A) yAssF_SDL_Integer(V,E,A) #define yEqF_z010_iLikeToWrite(Expr1,Expr2) yEqF_SDL_Integer(Expr1,Expr2) #define yNEqF_z010_iLikeToWrite(Expr1,Expr2) yNEqF_SDL_Integer(Expr1,Expr2) #define yMkAddr_z010_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z010_iLikeToWrite(Expr1),Expr2) #ifdef XTESTF extern xbool yTest_z010_iLikeToWrite (void *); #endif #ifdef XERANGE extern z010_iLikeToWrite yTstA_z010_iLikeToWrite (z010_iLikeToWrite); #else #define yTstA_z010_iLikeToWrite(yExpr) yExpr #endif #ifndef ANY_z010_iLikeToWrite #define ANY_z010_iLikeToWrite (z010_iLikeToWrite)(SDL_INTEGER_LIT(0) + \ GETINTRAND%(SDL_INTEGER_LIT(100)+1)) #endif /***** * SYNTYPE babaAuRum (HEADING section) * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),12,9) ******/ #ifndef XOPTSORT extern XCONST struct xSortIdStruct ySrtR_z011_babaAuRum; #define ySrtN_z011_babaAuRum (&ySrtR_z011_babaAuRum) #endif #define yAssF_z011_babaAuRum(V,E,A) yAssF_SDL_Duration(V,E,A) #define yEqF_z011_babaAuRum(Expr1,Expr2) yEqF_SDL_Duration(Expr1,Expr2) #define yNEqF_z011_babaAuRum(Expr1,Expr2) yNEqF_SDL_Duration(Expr1,Expr2) #define yMkAddr_z011_babaAuRum(Expr1,Expr2) yMkAddr_SDL_Duration(yTstA_z011_babaAuRum(Expr1),Expr2) #ifdef XTESTF extern xbool yTest_z011_babaAuRum (void *); #endif #ifdef XERANGE extern z011_babaAuRum yTstA_z011_babaAuRum (z011_babaAuRum); #else #define yTstA_z011_babaAuRum(yExpr) yExpr #endif #ifndef ANY_z011_babaAuRum #define ANY_z011_babaAuRum ANY_for_syntype_babaAuRum_not_implemented #endif /***** * PROCESS Producer * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr,4,1,9) ******/ extern XCONST XSIGTYPE yPrsS_z01_Producer[]; extern XCONST xStateIdNode yPrsT_z01_Producer[]; extern XCONST struct xPrsIdStruct yPrsR_z01_Producer; #define yPrsN_z01_Producer (&yPrsR_z01_Producer) #ifdef XCOVERAGE extern long int yPrsC_z01_Producer[]; #endif YPAD_PROTOTYPE(yPAD_z01_Producer) extern XCONST struct xSignalIdStruct ySigR_z01_Producer; #define ySigN_z01_Producer (&ySigR_z01_Producer) typedef struct { SIGNAL_VARS STARTUP_VARS } yPDef_z01_Producer; typedef yPDef_z01_Producer *yPDP_z01_Producer; XPROCESSDEF_H(Producer,"Producer",z01_Producer,yPAD_z01_Producer, \ yVDef_z01_Producer) #ifndef XOPTCHAN extern XCONST xIdNode yPrsO_z01_Producer[]; #endif #ifdef XBREAKBEFORE #define ySym_z01_Producer 14 extern char * yRef_z01_Producer (int, xSymbolType *); #endif typedef struct { PROCESS_VARS /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),3,1) */ SDL_Duration z015_someTime; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),4,1) */ SDL_Integer z016_myID; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),5,1) */ SDL_Integer z017_numberToWrite; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),6,1) */ SDL_PId z018_mahPID; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),1,7) */ DEF_TIMER_VAR(yTim_walkingTime) } yVDef_z01_Producer; typedef yVDef_z01_Producer *yVDP_z01_Producer; extern void yFree_z01_Producer (void *); /***** * STATE SiDLing * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),134(65,70),1,1) ******/ #define z012_SiDLing 1 extern XCONST struct xStateIdStruct yStaR_z012_SiDLing; #define yStaN_z012_SiDLing (&yStaR_z012_SiDLing) /***** * STATE ForcedToWait * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),167(60,125),1,1) ******/ #define z013_ForcedToWait 2 extern XCONST struct xStateIdStruct yStaR_z013_ForcedToWait; #define yStaN_z013_ForcedToWait (&yStaR_z013_ForcedToWait) /***** * TIMER walkingTime * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),1,7) ******/ extern XCONST struct xSignalIdStruct ySigR_z014_walkingTime; #define ySigN_z014_walkingTime (&ySigR_z014_walkingTime) /***** * DCL someTime * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),3,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z015_someTime; #endif /***** * DCL myID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),4,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z016_myID; #endif /***** * DCL numberToWrite * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),5,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z017_numberToWrite; #endif /***** * DCL mahPID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),6,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z018_mahPID; #endif /***** * SIGNALROUTE ProducerLine1 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),119(42,42),1,1) ******/ #ifndef XOPTCHAN extern XCONST xIdNode yChaO_z02_ProducerLine1[]; extern XCONST xIdNode yChaOR_z02_ProducerLine1[]; extern XCONST struct xChannelIdStruct yChaR_z02_ProducerLine1; extern XCONST struct xChannelIdStruct yChaRR_z02_ProducerLine1; #define yChaN_z02_ProducerLine1 (&yChaR_z02_ProducerLine1) #endif /***** * BLOCK ConcuroBlock * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk,4,1,7) ******/ extern XCONST struct xBlockIdStruct yBloR_z1_ConcuroBlock; /***** * PROCESS Io * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr,4,1,9) ******/ extern XCONST XSIGTYPE yPrsS_z13_Io[]; extern XCONST xStateIdNode yPrsT_z13_Io[]; extern XCONST struct xPrsIdStruct yPrsR_z13_Io; #define yPrsN_z13_Io (&yPrsR_z13_Io) #ifdef XCOVERAGE extern long int yPrsC_z13_Io[]; #endif YPAD_PROTOTYPE(yPAD_z13_Io) extern XCONST struct xSignalIdStruct ySigR_z13_Io; #define ySigN_z13_Io (&ySigR_z13_Io) typedef struct { SIGNAL_VARS STARTUP_VARS } yPDef_z13_Io; typedef yPDef_z13_Io *yPDP_z13_Io; XPROCESSDEF_H(Io,"Io",z13_Io,yPAD_z13_Io,yVDef_z13_Io) #ifndef XOPTCHAN extern XCONST xIdNode yPrsO_z13_Io[]; #endif #ifdef XBREAKBEFORE #define ySym_z13_Io 9 extern char * yRef_z13_Io (int, xSymbolType *); #endif typedef struct { PROCESS_VARS /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),2,1) */ SDL_Integer z132_numberWritten; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),3,1) */ SDL_Integer z133_writeID; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),4,1) */ SDL_PId z134_writePID; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),5,1) */ SDL_Integer z135_readID; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),6,1) */ SDL_PId z136_readPID; } yVDef_z13_Io; typedef yVDef_z13_Io *yVDP_z13_Io; extern void yFree_z13_Io (void *); /***** * STATE Phase1 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),122(60,35),1,1) ******/ #define z130_Phase1 1 extern XCONST struct xStateIdStruct yStaR_z130_Phase1; #define yStaN_z130_Phase1 (&yStaR_z130_Phase1) /***** * STATE Phase2 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),134(60,110),1,1) ******/ #define z131_Phase2 2 extern XCONST struct xStateIdStruct yStaR_z131_Phase2; #define yStaN_z131_Phase2 (&yStaR_z131_Phase2) /***** * DCL numberWritten * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),2,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z132_numberWritten; #endif /***** * DCL writeID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),3,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z133_writeID; #endif /***** * DCL writePID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),4,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z134_writePID; #endif /***** * DCL readID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),5,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z135_readID; #endif /***** * DCL readPID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),6,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z136_readPID; #endif /***** * SIGNALROUTE ProduceMe * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),197(95,47),1,1) ******/ #ifndef XOPTCHAN extern XCONST xIdNode yChaO_z14_ProduceMe[]; extern XCONST xIdNode yChaOR_z14_ProduceMe[]; extern XCONST struct xChannelIdStruct yChaR_z14_ProduceMe; extern XCONST struct xChannelIdStruct yChaRR_z14_ProduceMe; #define yChaN_z14_ProduceMe (&yChaR_z14_ProduceMe) #endif /***** * SIGNALROUTE LineOut * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),188(45,97),1,1) ******/ #ifndef XOPTCHAN extern XCONST xIdNode yChaO_z15_LineOut[]; extern XCONST xIdNode yChaOR_z15_LineOut[]; extern XCONST struct xChannelIdStruct yChaR_z15_LineOut; extern XCONST struct xChannelIdStruct yChaRR_z15_LineOut; #define yChaN_z15_LineOut (&yChaR_z15_LineOut) #endif /***** * SIGNALROUTE ConsumeMe * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),206(92,157),1,1) ******/ #ifndef XOPTCHAN extern XCONST xIdNode yChaO_z16_ConsumeMe[]; extern XCONST xIdNode yChaOR_z16_ConsumeMe[]; extern XCONST struct xChannelIdStruct yChaR_z16_ConsumeMe; extern XCONST struct xChannelIdStruct yChaRR_z16_ConsumeMe; #define yChaN_z16_ConsumeMe (&yChaR_z16_ConsumeMe) #endif /***** * BLOCK Consumers * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk,4,1,7) ******/ extern XCONST struct xBlockIdStruct yBloR_z2_Consumers; /***** * PROCESS Consumer * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr,4,1,9) ******/ extern XCONST XSIGTYPE yPrsS_z21_Consumer[]; extern XCONST xStateIdNode yPrsT_z21_Consumer[]; extern XCONST struct xPrsIdStruct yPrsR_z21_Consumer; #define yPrsN_z21_Consumer (&yPrsR_z21_Consumer) #ifdef XCOVERAGE extern long int yPrsC_z21_Consumer[]; #endif YPAD_PROTOTYPE(yPAD_z21_Consumer) extern XCONST struct xSignalIdStruct ySigR_z21_Consumer; #define ySigN_z21_Consumer (&ySigR_z21_Consumer) typedef struct { SIGNAL_VARS STARTUP_VARS } yPDef_z21_Consumer; typedef yPDef_z21_Consumer *yPDP_z21_Consumer; XPROCESSDEF_H(Consumer,"Consumer",z21_Consumer,yPAD_z21_Consumer, \ yVDef_z21_Consumer) #ifndef XOPTCHAN extern XCONST xIdNode yPrsO_z21_Consumer[]; #endif #ifdef XBREAKBEFORE #define ySym_z21_Consumer 12 extern char * yRef_z21_Consumer (int, xSymbolType *); #endif typedef struct { PROCESS_VARS /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),3,1) */ SDL_Duration z213_theseTimes; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),4,1) */ SDL_Integer z214_stuffRead; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),5,1) */ SDL_Integer z215_myID; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),6,1) */ SDL_PId z216_mahPID; /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),1,7) */ DEF_TIMER_VAR(yTim_coolTimes) } yVDef_z21_Consumer; typedef yVDef_z21_Consumer *yVDP_z21_Consumer; extern void yFree_z21_Consumer (void *); /***** * STATE SiDLing * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),131(65,75),1,1) ******/ #define z210_SiDLing 1 extern XCONST struct xStateIdStruct yStaR_z210_SiDLing; #define yStaN_z210_SiDLing (&yStaR_z210_SiDLing) /***** * STATE ForcedWait * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),149(65,135),1,1) ******/ #define z211_ForcedWait 2 extern XCONST struct xStateIdStruct yStaR_z211_ForcedWait; #define yStaN_z211_ForcedWait (&yStaR_z211_ForcedWait) /***** * TIMER coolTimes * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),1,7) ******/ extern XCONST struct xSignalIdStruct ySigR_z212_coolTimes; #define ySigN_z212_coolTimes (&ySigR_z212_coolTimes) /***** * DCL theseTimes * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),3,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z213_theseTimes; #endif /***** * DCL stuffRead * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),4,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z214_stuffRead; #endif /***** * DCL myID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),5,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z215_myID; #endif /***** * DCL mahPID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),6,1) ******/ #ifndef XOPTDCL extern XCONST struct xVarIdStruct yVarR_z216_mahPID; #endif /***** * SIGNALROUTE ConsumerLine1 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),119(37,50),1,1) ******/ #ifndef XOPTCHAN extern XCONST xIdNode yChaO_z22_ConsumerLine1[]; extern XCONST xIdNode yChaOR_z22_ConsumerLine1[]; extern XCONST struct xChannelIdStruct yChaR_z22_ConsumerLine1; extern XCONST struct xChannelIdStruct yChaRR_z22_ConsumerLine1; #define yChaN_z22_ConsumerLine1 (&yChaR_z22_ConsumerLine1) #endif /***** * CHANNEL ProducerDongle * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),140(130,72),1,1) ******/ #ifndef XOPTCHAN extern XCONST xIdNode yChaO_z3_ProducerDongle[]; extern XCONST xIdNode yChaOR_z3_ProducerDongle[]; extern XCONST struct xChannelIdStruct yChaR_z3_ProducerDongle; extern XCONST struct xChannelIdStruct yChaRR_z3_ProducerDongle; #define yChaN_z3_ProducerDongle (&yChaR_z3_ProducerDongle) #endif /***** * CHANNEL ThisWayOrTheHighway * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),122(45,102),1,1) ******/ #ifndef XOPTCHAN extern XCONST xIdNode yChaO_z4_ThisWayOrTheHighway[]; extern XCONST xIdNode yChaOR_z4_ThisWayOrTheHighway[]; extern XCONST struct xChannelIdStruct yChaR_z4_ThisWayOrTheHighway; extern XCONST struct xChannelIdStruct yChaRR_z4_ThisWayOrTheHighway; #define yChaN_z4_ThisWayOrTheHighway (&yChaR_z4_ThisWayOrTheHighway) #ifdef XMULTIPLESYSTEMS extern XCONST xIdNode yConnIn_Concuro_ThisWayOrTheHighway[]; extern XCONST xIdNode yConnOut_Concuro_ThisWayOrTheHighway[]; extern XCONST struct xChannelIdStruct yGateIn_Concuro_ThisWayOrTheHighway; extern XCONST struct xChannelIdStruct yGateOut_Concuro_ThisWayOrTheHighway; #endif #endif /***** * CHANNEL ConsumerDongle * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),149(132,152),1,1) ******/ #ifndef XOPTCHAN extern XCONST xIdNode yChaO_z5_ConsumerDongle[]; extern XCONST xIdNode yChaOR_z5_ConsumerDongle[]; extern XCONST struct xChannelIdStruct yChaR_z5_ConsumerDongle; extern XCONST struct xChannelIdStruct yChaRR_z5_ConsumerDongle; #define yChaN_z5_ConsumerDongle (&yChaR_z5_ConsumerDongle) #endif /***** * SIGNAL requestWrite * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),2,1) ******/ extern XCONST struct xSignalIdStruct ySigR_z6_requestWrite; #define ySigN_z6_requestWrite (&ySigR_z6_requestWrite) typedef struct { SIGNAL_VARS SDL_Integer Param1; SDL_Integer Param2; SDL_PId Param3; } yPDef_z6_requestWrite; typedef yPDef_z6_requestWrite *yPDP_z6_requestWrite; /***** * SIGNAL approveWrite * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),3,1) ******/ extern XCONST struct xSignalIdStruct ySigR_z7_approveWrite; #define ySigN_z7_approveWrite (&ySigR_z7_approveWrite) /***** * SIGNAL requestRead * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),4,1) ******/ extern XCONST struct xSignalIdStruct ySigR_z8_requestRead; #define ySigN_z8_requestRead (&ySigR_z8_requestRead) typedef struct { SIGNAL_VARS SDL_Integer Param1; SDL_PId Param2; } yPDef_z8_requestRead; typedef yPDef_z8_requestRead *yPDP_z8_requestRead; /***** * SIGNAL approveRead * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),5,1) ******/ extern XCONST struct xSignalIdStruct ySigR_z9_approveRead; #define ySigN_z9_approveRead (&ySigR_z9_approveRead) typedef struct { SIGNAL_VARS SDL_Integer Param1; } yPDef_z9_approveRead; typedef yPDef_z9_approveRead *yPDP_z9_approveRead; /***** * SIGNAL consumerXReadItemY * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),6,1) ******/ extern XCONST struct xSignalIdStruct ySigR_zA_consumerXReadItemY; #define ySigN_zA_consumerXReadItemY (&ySigR_zA_consumerXReadItemY) typedef struct { SIGNAL_VARS SDL_Integer Param1; SDL_Integer Param2; } yPDef_zA_consumerXReadItemY; typedef yPDef_zA_consumerXReadItemY *yPDP_zA_consumerXReadItemY; /***** * SIGNAL producerXWroteItemY * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),7,1) ******/ extern XCONST struct xSignalIdStruct ySigR_zB_producerXWroteItemY; #define ySigN_zB_producerXWroteItemY (&ySigR_zB_producerXWroteItemY) typedef struct { SIGNAL_VARS SDL_Integer Param1; SDL_Integer Param2; } yPDef_zB_producerXWroteItemY; typedef yPDef_zB_producerXWroteItemY *yPDP_zB_producerXWroteItemY; /************************************************************************* ** #CODE directives, #HEADING sections ** *************************************************************************/ /************************************************************************* ** #CODE directives, #BODY sections ** *************************************************************************/ /************************************************************************* ** SECTION Variables and Functions ** *************************************************************************/ /***** * SYSTEM Concuro * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy,4,1,8) ******/ XCONST struct xSystemIdStruct ySysR_z_Concuro = {xSystemEC , (xIdNode)0, (xIdNode)0, (xIdNode)&xSymbolTableIdRec, "Concuro" XCOMMON_EXTRAS, (xIdNode *)0, (xPrdIdNode *)0, (xSystemIdNode)0 xTrace(-1) xGRTrace(-1) xMSCETrace(-1) XSYS_EXTRAS}; /***** * ENV ******/ #ifndef XMULTIPLESYSTEMS #ifndef XOPTCHAN xIdNode yEnvO_env[] = {(xIdNode)&yChaRR_z4_ThisWayOrTheHighway, (xIdNode)0 XTRACHANNELLIST}; #endif #endif /***** * BLOCK Producers * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk,4,1,7) ******/ XCONST struct xBlockIdStruct yBloR_z0_Producers = {xBlockEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "Producers" XCOMMON_EXTRAS, (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0, (xViewIndexRec *)0, 1 xTrace(-1) xGRTrace(-1) xMSCETrace(-1) xMSCETrace(0) XBLO_EXTRAS}; #ifndef XOPTCHAN XCONST xIdNode yChaOR_z3_ProducerDongle[] = {(xIdNode)&yChaRR_z02_ProducerLine1, (xIdNode)0}; #endif /***** * SYNTYPE iLikeToWrite (BODY section) * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),8,9) ******/ /* *** iLikeToWrite *** */ #ifndef XTNOUSE_iLikeToWrite tSDLGenInfo ySDL_z010_iLikeToWrite = {type_SDL_Syntype, 0, (xptrint)sizeof(z010_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z01_Producer) xRaWF(&ySrtR_z010_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer}; #endif #ifndef XOPTSORT XCONST struct xSortIdStruct ySrtR_z010_iLikeToWrite = {xSortEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "iLikeToWrite" XCOMMON_EXTRAS xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z010_iLikeToWrite), (xptrint)sizeof(z010_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer, &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0 xRaWF((tSDLTypeInfo *)&ySDL_z010_iLikeToWrite) XSRT_EXTRAS}; #endif /*-------------------TEST-------------------*/ #ifdef XTESTF xbool yTest_z010_iLikeToWrite(void * yExpr) { { if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z010_iLikeToWrite *)yExpr)) if (xLE_SDL_Integer(*(z010_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100))) return (xbool)1; } return (xbool)0; } #endif /*-------------------TSTA-------------------*/ #ifdef XERANGE z010_iLikeToWrite yTstA_z010_iLikeToWrite(z010_iLikeToWrite yExpr) { if (! yTest_z010_iLikeToWrite((void *)&yExpr) ) xErrorSubrange((tSDLTypeInfo *)&ySDL_z010_iLikeToWrite, (void *)&yExpr); return yExpr; } #endif /***** * SYNTYPE babaAuRum (BODY section) * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),12,9) ******/ /* *** babaAuRum *** */ #ifndef XTNOUSE_babaAuRum tSDLGenInfo ySDL_z011_babaAuRum = {type_SDL_Syntype, 0, (xptrint)sizeof(z011_babaAuRum) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE T_SDL_Names("babaAuRum") xRaWF((xIdNode)&yPrsR_z01_Producer) xRaWF(&ySrtR_z011_babaAuRum), (tSDLTypeInfo *)&ySDL_SDL_Duration}; #endif #ifndef XOPTSORT XCONST struct xSortIdStruct ySrtR_z011_babaAuRum = {xSortEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "babaAuRum" XCOMMON_EXTRAS xFreF(0) xAssF(0) xEqF(xEq_SDL_Duration) xTestF(yTest_z011_babaAuRum), (xptrint)sizeof(z011_babaAuRum), xSyntype, &xSrtR_SDL_Duration, &xSrtR_SDL_Duration, 0, 0, 0, 0 xRaWF((tSDLTypeInfo *)&ySDL_z011_babaAuRum) XSRT_EXTRAS}; #endif /*-------------------TEST-------------------*/ #ifdef XTESTF xbool yTest_z011_babaAuRum(void * yExpr) { { if (xLE_SDL_Duration(SDL_DURATION_LIT(500.0, 500, 0), *(z011_babaAuRum *)yExpr)) if (xLE_SDL_Duration(*(z011_babaAuRum *)yExpr, SDL_DURATION_LIT(3000.0, 3000, 0))) return (xbool)1; } return (xbool)0; } #endif /*-------------------TSTA-------------------*/ #ifdef XERANGE z011_babaAuRum yTstA_z011_babaAuRum(z011_babaAuRum yExpr) { if (! yTest_z011_babaAuRum((void *)&yExpr) ) xErrorSubrange((tSDLTypeInfo *)&ySDL_z011_babaAuRum, (void *)&yExpr); return yExpr; } #endif /***** * PROCESS Producer * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr,4,1,9) ******/ #ifdef XCOVERAGE long int yPrsC_z01_Producer[ySym_z01_Producer+1]; #endif XCONST XSIGTYPE yPrsS_z01_Producer[] = {SIGNAL_NAME(approveWrite, &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z014_walkingTime), (XSIGTYPE)0}; XCONST xStateIdNode yPrsT_z01_Producer[] = {&xStartStateIdRec, &yStaR_z012_SiDLing, &yStaR_z013_ForcedToWait}; static XPRSNODE yPrsA_z01_Producer = (XPRSNODE)0; static XPRSNODE yPrsB_z01_Producer = (XPRSNODE)0; XCONST struct xPrsIdStruct yPrsR_z01_Producer = {xProcessEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer" XCOMMON_EXTRAS, yPrsT_z01_Producer, yPrsS_z01_Producer xService(0) xOptChan( yPrsO_z01_Producer), -1 xNrInst(1) xNrInst(1), &yPrsB_z01_Producer, (xptrint)sizeof(yVDef_z01_Producer) xPrsPrioPar(xDefaultPrioProcess), &yPrsA_z01_Producer xTrace(-1) xGRTrace(-1) xBreakB(yRef_z01_Producer) xBreakB(ySym_z01_Producer) xBreakB(2) xMSCETrace(-1) xCoverage(yPrsC_z01_Producer) xCoverage(0) xCoverage(0), yPAD_z01_Producer, yFree_z01_Producer, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr,4,1,9)") xThreadName(0) xThreadName(0) XPRS_EXTRAS(z01_Producer)}; static xSignalNode ySigA_z01_Producer = (xSignalNode)0; XCONST struct xSignalIdStruct ySigR_z01_Producer = {xStartUpSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-") XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z01_Producer), &ySigA_z01_Producer, 0 xFreS(0) SIGCODE(STARTUPSIGNAL) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr,4,1,9)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; XPROCESSDEF_C(Producer,"Producer",z01_Producer,yPAD_z01_Producer, yVDef_z01_Producer) #ifndef XOPTCHAN XCONST xIdNode yPrsO_z01_Producer[] = {(xIdNode)&yChaR_z02_ProducerLine1, (xIdNode)0}; #endif void yFree_z01_Producer(void *yVarP) { } /*+++++ * GR ref function for process Producer * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr,4,1,17) ++++++*/ #ifdef XBREAKBEFORE char * yRef_z01_Producer (int SymbolNo, xSymbolType *SymbolType) { switch (SymbolNo) { case 0: *SymbolType = xsStart; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),119(65,15),1,1)"; case 1: *SymbolType = xsInput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),143(60,90),1,1)"; case 2: *SymbolType = xsInput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),158(60,140),1,1)"; case 3: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(45,40),1,1)"; case 4: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(45,40),2,1)"; case 5: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(45,40),3,1)"; case 6: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(45,40),4,1)"; case 7: *SymbolType = xsSet; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(45,40),5,1)"; case 8: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),134(65,70),1,1)"; case 9: *SymbolType = xsOutput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),149(35,110),1,1)"; case 10: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),167(60,125),1,1)"; case 11: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),179(45,160),1,1)"; case 12: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),179(45,160),2,1)"; case 13: *SymbolType = xsSet; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),179(45,160),3,1)"; case 14: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),176(65,185),1,1)"; default : *SymbolType = xsNoSuchSymbolType; return ""; } } #endif /*+++++ * Function for process Producer * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr,4,1,17) ++++++*/ YPAD_FUNCTION(yPAD_z01_Producer) { YPAD_YSVARP YPAD_YVARP(yVDef_z01_Producer) YPAD_TEMP_VARS YPRSNAME_VAR("Producer") BEGIN_PAD(yVDef_z01_Producer) LOOP_LABEL switch (yVarP->RestartAddress) { /*----- * START * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),119(65,15),1,1) ------*/ case 0: BEGIN_START_TRANSITION(yPDef_z01_Producer) XAT_FIRST_SYMBOL(0) yAssF_SDL_PId(yVarP->z018_mahPID, SDL_NULL, XASS_MR_ASS_NF); INIT_TIMER_VAR(yVarP->yTim_walkingTime) XBETWEEN_SYMBOLS(3, 879) /*----- * ASSIGNMENT myID := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(45,40),1,1) ------*/ #ifdef XCASELABELS case 3: #endif yAssF_SDL_Integer(yVarP->z016_myID, SDL_INTEGER_LIT(1), XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("myID := ", &(yVarP->z016_myID), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif #ifdef XMSCE xMSCEAssign(VarP, "myID := ", &(yVarP->z016_myID), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif XBETWEEN_STMTS(4, 897) /*----- * ASSIGNMENT numberToWrite := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(45,40),2,1) ------*/ #ifdef XCASELABELS case 4: #endif yAssF_SDL_Integer(yVarP->z017_numberToWrite, SDL_INTEGER_LIT(7), XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("numberToWrite := ", &(yVarP->z017_numberToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif #ifdef XMSCE xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z017_numberToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif XBETWEEN_STMTS(5, 916) /*----- * ASSIGNMENT someTime := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(45,40),3,1) ------*/ #ifdef XCASELABELS case 5: #endif yAssF_SDL_Duration(yVarP->z015_someTime, SDL_DURATION_LIT(1000.0, 1000, 0), XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("someTime := ", &(yVarP->z015_someTime), (tSDLTypeInfo *)&ySDL_SDL_Duration); #endif #ifdef XMSCE xMSCEAssign(VarP, "someTime := ", &(yVarP->z015_someTime), (tSDLTypeInfo *)&ySDL_SDL_Duration); #endif XBETWEEN_STMTS(6, 935) /*----- * ASSIGNMENT mahPID := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(45,40),4,1) ------*/ #ifdef XCASELABELS case 6: #endif yAssF_SDL_PId(yVarP->z018_mahPID, SDL_SELF, XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("mahPID := ", &(yVarP->z018_mahPID), (tSDLTypeInfo *)&ySDL_SDL_PId); #endif #ifdef XMSCE xMSCEAssign(VarP, "mahPID := ", &(yVarP->z018_mahPID), (tSDLTypeInfo *)&ySDL_SDL_PId); #endif XBETWEEN_STMTS(7, 953) /*----- * SET walkingTime * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(45,40),5,1) ------*/ #ifdef XCASELABELS case 7: #endif SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z015_someTime), yVarP-> z015_someTime, walkingTime, ySigN_z014_walkingTime, yVarP->yTim_walkingTime, "walkingTime") XBETWEEN_SYMBOLS(8, 965) /*----- * NEXTSTATE SiDLing * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),134(65,70),1,1) ------*/ #ifdef XCASELABELS case 8: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(SiDLing, z012_SiDLing, "SiDLing") /*----- * INPUT walkingTime * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),143(60,90),1,1) ------*/ case 1: XDEBUG_LABEL(SiDLing_walkingTime) XAT_FIRST_SYMBOL(1) XOS_TRACE_INPUT("walkingTime") INPUT_TIMER_VAR(yVarP->yTim_walkingTime) XBETWEEN_SYMBOLS(9, 986) /*----- * OUTPUT requestWrite * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),149(35,110),1,1) ------*/ #ifdef XCASELABELS case 9: #endif ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io), yPDef_z6_requestWrite) SIGNAL_ALLOC_ERROR yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1, yVarP->z016_myID, XASS_MR_ASS_NF); yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->z017_numberToWrite, XASS_MR_ASS_NF); yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP-> z018_mahPID, XASS_MR_ASS_NF); SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io), sizeof(yPDef_z6_requestWrite), "requestWrite") SIGNAL_ALLOC_ERROR_END XBETWEEN_SYMBOLS(10, 1008) /*----- * NEXTSTATE ForcedToWait * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),167(60,125),1,1) ------*/ #ifdef XCASELABELS case 10: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(ForcedToWait, z013_ForcedToWait, "ForcedToWait") /*----- * INPUT approveWrite * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),158(60,140),1,1) ------*/ case 2: XDEBUG_LABEL(ForcedToWait_approveWrite) XAT_FIRST_SYMBOL(2) XOS_TRACE_INPUT("approveWrite") XBETWEEN_SYMBOLS(11, 1028) /*----- * ASSIGNMENT numberToWrite := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),179(45,160),1,1) ------*/ #ifdef XCASELABELS case 11: #endif yAssF_SDL_Integer(yVarP->z017_numberToWrite, ANY_z010_iLikeToWrite, XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("numberToWrite := ", &(yVarP->z017_numberToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif #ifdef XMSCE xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z017_numberToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif XBETWEEN_STMTS(12, 1047) /*----- * ASSIGNMENT someTime := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),179(45,160),2,1) ------*/ #ifdef XCASELABELS case 12: #endif yAssF_SDL_Duration(yVarP->z015_someTime, ANY_z011_babaAuRum, XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("someTime := ", &(yVarP->z015_someTime), (tSDLTypeInfo *)&ySDL_SDL_Duration); #endif #ifdef XMSCE xMSCEAssign(VarP, "someTime := ", &(yVarP->z015_someTime), (tSDLTypeInfo *)&ySDL_SDL_Duration); #endif XBETWEEN_STMTS(13, 1066) /*----- * SET walkingTime * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),179(45,160),3,1) ------*/ #ifdef XCASELABELS case 13: #endif SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z015_someTime), yVarP-> z015_someTime, walkingTime, ySigN_z014_walkingTime, yVarP->yTim_walkingTime, "walkingTime") XBETWEEN_SYMBOLS(14, 1078) /*----- * NEXTSTATE SiDLing * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),176(65,185),1,1) ------*/ #ifdef XCASELABELS case 14: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(SiDLing, z012_SiDLing, "SiDLing") } } /***** * STATE SiDLing * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),134(65,70),1,1) ******/ static XCONST xInputAction yStaH_z012_SiDLing[] = {xDiscard, xInput, xDiscard}; static XCONST XINPUTREFTYPE yStaI_z012_SiDLing[] = {0, 1, 0}; #ifdef XCOVERAGE static long int yStaC_z012_SiDLing[2+1]; #endif XCONST struct xStateIdStruct yStaR_z012_SiDLing = {xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "SiDLing" XCOMMON_EXTRAS, z012_SiDLing, yStaH_z012_SiDLing, yStaI_z012_SiDLing, 0, 0, 0 xCoverage(yStaC_z012_SiDLing), (xStateIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),134(65,70),1,1)") XSTA_EXTRAS}; /***** * STATE ForcedToWait * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),167(60,125),1,1) ******/ static XCONST xInputAction yStaH_z013_ForcedToWait[] = {xInput, xDiscard, xDiscard}; static XCONST XINPUTREFTYPE yStaI_z013_ForcedToWait[] = {2, 0, 0}; #ifdef XCOVERAGE static long int yStaC_z013_ForcedToWait[2+1]; #endif XCONST struct xStateIdStruct yStaR_z013_ForcedToWait = {xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "ForcedToWait" XCOMMON_EXTRAS, z013_ForcedToWait, yStaH_z013_ForcedToWait, yStaI_z013_ForcedToWait, 0, 0, 0 xCoverage(yStaC_z013_ForcedToWait), (xStateIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),167(60,125),1,1)") XSTA_EXTRAS}; /***** * TIMER walkingTime * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),1,7) ******/ XCONST struct xSignalIdStruct ySigR_z014_walkingTime = {xTimerEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "walkingTime" XCOMMON_EXTRAS, (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),128(135,15),1,7)") xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime, yVDef_z01_Producer) XSIG_EXTRAS}; /***** * DCL someTime * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),3,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z015_someTime = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "someTime" XCOMMON_EXTRAS, &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration, xOffsetOf(yVDef_z01_Producer, z015_someTime), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL myID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),4,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z016_myID = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "myID" XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yVDef_z01_Producer, z016_myID), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL numberToWrite * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),5,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z017_numberToWrite = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "numberToWrite" XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yVDef_z01_Producer, z017_numberToWrite), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL mahPID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),6,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z018_mahPID = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "mahPID" XCOMMON_EXTRAS, &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId, xOffsetOf(yVDef_z01_Producer, z018_mahPID), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * SIGNALROUTE ProducerLine1 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),119(42,42),1,1) ******/ #ifndef XOPTCHAN static XCONST XSIGTYPE yChaS_z02_ProducerLine1[] = {SIGNAL_NAME(requestWrite, &ySigR_z6_requestWrite), (XSIGTYPE)0}; static XCONST XSIGTYPE yChaSR_z02_ProducerLine1[] = {SIGNAL_NAME(approveWrite, &ySigR_z7_approveWrite), (XSIGTYPE)0}; XCONST xIdNode yChaO_z02_ProducerLine1[] = {(xIdNode)&yChaR_z3_ProducerDongle, (xIdNode)0}; XCONST xIdNode yChaOR_z02_ProducerLine1[] = {(xIdNode)&yPrsR_z01_Producer, (xIdNode)0}; XCONST struct xChannelIdStruct yChaR_z02_ProducerLine1 = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine1" XCOMMON_EXTRAS, yChaS_z02_ProducerLine1, yChaO_z02_ProducerLine1, &yChaRR_z02_ProducerLine1 XCHA_EXTRAS}; XCONST struct xChannelIdStruct yChaRR_z02_ProducerLine1 = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine1" XCOMMON_EXTRAS, yChaSR_z02_ProducerLine1, yChaOR_z02_ProducerLine1, &yChaR_z02_ProducerLine1 XCHA_EXTRAS}; #endif /***** * BLOCK ConcuroBlock * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk,4,1,7) ******/ XCONST struct xBlockIdStruct yBloR_z1_ConcuroBlock = {xBlockEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ConcuroBlock" XCOMMON_EXTRAS, (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0, (xViewIndexRec *)0, 1 xTrace(-1) xGRTrace(-1) xMSCETrace(-1) xMSCETrace(0) XBLO_EXTRAS}; #ifndef XOPTCHAN XCONST xIdNode yChaO_z3_ProducerDongle[] = {(xIdNode)&yChaRR_z14_ProduceMe, (xIdNode)0}; XCONST xIdNode yChaOR_z4_ThisWayOrTheHighway[] = {(xIdNode)&yChaRR_z15_LineOut, (xIdNode)0}; XCONST xIdNode yChaO_z5_ConsumerDongle[] = {(xIdNode)&yChaRR_z16_ConsumeMe, (xIdNode)0}; #endif /***** * PROCESS Io * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr,4,1,9) ******/ #ifdef XCOVERAGE long int yPrsC_z13_Io[ySym_z13_Io+1]; #endif XCONST XSIGTYPE yPrsS_z13_Io[] = {SIGNAL_NAME(requestWrite, &ySigR_z6_requestWrite), SIGNAL_NAME(requestRead, &ySigR_z8_requestRead), (XSIGTYPE)0}; XCONST xStateIdNode yPrsT_z13_Io[] = {&xStartStateIdRec, &yStaR_z130_Phase1, &yStaR_z131_Phase2}; static XPRSNODE yPrsA_z13_Io = (XPRSNODE)0; static XPRSNODE yPrsB_z13_Io = (XPRSNODE)0; XCONST struct xPrsIdStruct yPrsR_z13_Io = {xProcessEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "Io" XCOMMON_EXTRAS, yPrsT_z13_Io, yPrsS_z13_Io xService(0) xOptChan(yPrsO_z13_Io), -1 xNrInst(1) xNrInst(1), &yPrsB_z13_Io, (xptrint)sizeof(yVDef_z13_Io) xPrsPrioPar(xDefaultPrioProcess), &yPrsA_z13_Io xTrace(-1) xGRTrace(-1) xBreakB(yRef_z13_Io) xBreakB(ySym_z13_Io) xBreakB(2) xMSCETrace(-1) xCoverage(yPrsC_z13_Io) xCoverage(0) xCoverage(0), yPAD_z13_Io, yFree_z13_Io, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr,4,1,9)") xThreadName(0) xThreadName(0) XPRS_EXTRAS(z13_Io)}; static xSignalNode ySigA_z13_Io = (xSignalNode)0; XCONST struct xSignalIdStruct ySigR_z13_Io = {xStartUpSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock xIdNames("-") XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z13_Io), &ySigA_z13_Io, 0 xFreS(0) SIGCODE(STARTUPSIGNAL) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr,4,1,9)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; XPROCESSDEF_C(Io,"Io",z13_Io,yPAD_z13_Io,yVDef_z13_Io) #ifndef XOPTCHAN XCONST xIdNode yPrsO_z13_Io[] = {(xIdNode)&yChaR_z14_ProduceMe, (xIdNode)&yChaR_z15_LineOut, (xIdNode)&yChaR_z16_ConsumeMe, (xIdNode)0}; #endif void yFree_z13_Io(void *yVarP) { } /*+++++ * GR ref function for process Io * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr,4,1,11) ++++++*/ #ifdef XBREAKBEFORE char * yRef_z13_Io (int SymbolNo, xSymbolType *SymbolType) { switch (SymbolNo) { case 0: *SymbolType = xsStart; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),116(60,20),1,1)"; case 1: *SymbolType = xsInput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),128(30,50),1,1)"; case 2: *SymbolType = xsInput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),146(35,135),1,1)"; case 3: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),122(60,35),1,1)"; case 4: *SymbolType = xsOutput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),137(30,70),1,1)"; case 5: *SymbolType = xsOutput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),182(55,85),1,1)"; case 6: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),134(60,110),1,1)"; case 7: *SymbolType = xsOutput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),170(30,155),1,1)"; case 8: *SymbolType = xsOutput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),191(40,170),1,1)"; case 9: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),176(60,190),1,1)"; default : *SymbolType = xsNoSuchSymbolType; return ""; } } #endif /*+++++ * Function for process Io * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr,4,1,11) ++++++*/ YPAD_FUNCTION(yPAD_z13_Io) { YPAD_YSVARP YPAD_YVARP(yVDef_z13_Io) YPAD_TEMP_VARS YPRSNAME_VAR("Io") BEGIN_PAD(yVDef_z13_Io) LOOP_LABEL switch (yVarP->RestartAddress) { /*----- * START * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),116(60,20),1,1) ------*/ case 0: BEGIN_START_TRANSITION(yPDef_z13_Io) XAT_FIRST_SYMBOL(0) yAssF_SDL_PId(yVarP->z134_writePID, SDL_NULL, XASS_MR_ASS_NF); yAssF_SDL_PId(yVarP->z136_readPID, SDL_NULL, XASS_MR_ASS_NF); XBETWEEN_SYMBOLS(3, 1329) /*----- * NEXTSTATE Phase1 * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),122(60,35),1,1) ------*/ #ifdef XCASELABELS case 3: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(Phase1, z130_Phase1, "Phase1") /*----- * INPUT requestWrite * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),128(30,50),1,1) ------*/ case 1: XDEBUG_LABEL(Phase1_requestWrite) XAT_FIRST_SYMBOL(1) XOS_TRACE_INPUT("requestWrite") yAssF_SDL_Integer(yVarP->z132_numberWritten, ((yPDef_z6_requestWrite *) ySVarP)->Param1, XASS_AR_ASS_FR); yAssF_SDL_Integer(yVarP->z133_writeID, ((yPDef_z6_requestWrite *)ySVarP)-> Param2, XASS_AR_ASS_FR); yAssF_SDL_PId(yVarP->z134_writePID, ((yPDef_z6_requestWrite *)ySVarP)-> Param3, XASS_AR_ASS_FR); XBETWEEN_SYMBOLS(4, 1355) /*----- * OUTPUT producerXWroteItemY * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),137(30,70),1,1) ------*/ #ifdef XCASELABELS case 4: #endif ALLOC_SIGNAL_PAR(producerXWroteItemY, ySigN_zB_producerXWroteItemY, TO_PROCESS(Env, &yEnvR_env), yPDef_zB_producerXWroteItemY) SIGNAL_ALLOC_ERROR yAssF_SDL_Integer(((yPDef_zB_producerXWroteItemY *)OUTSIGNAL_DATA_PTR)->Param1, SDL_INTEGER_LIT(1), XASS_MR_ASS_NF); yAssF_SDL_Integer(((yPDef_zB_producerXWroteItemY *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->z132_numberWritten, XASS_MR_ASS_NF); SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, producerXWroteItemY, ySigN_zB_producerXWroteItemY, TO_PROCESS(Env, &yEnvR_env), sizeof(yPDef_zB_producerXWroteItemY), "producerXWroteItemY") SIGNAL_ALLOC_ERROR_END XBETWEEN_SYMBOLS(5, 1375) /*----- * OUTPUT approveWrite * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),182(55,85),1,1) ------*/ #ifdef XCASELABELS case 5: #endif ALLOC_SIGNAL(approveWrite, ySigN_z7_approveWrite, yVarP->z134_writePID, XSIGNALHEADERTYPE) SIGNAL_ALLOC_ERROR SDL_2OUTPUT(xDefaultPrioSignal, (xIdNode *)0, approveWrite, ySigN_z7_approveWrite, yVarP->z134_writePID, 0, "approveWrite") SIGNAL_ALLOC_ERROR_END XBETWEEN_SYMBOLS(6, 1390) /*----- * NEXTSTATE Phase2 * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),134(60,110),1,1) ------*/ #ifdef XCASELABELS case 6: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(Phase2, z131_Phase2, "Phase2") /*----- * INPUT requestRead * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),146(35,135),1,1) ------*/ case 2: XDEBUG_LABEL(Phase2_requestRead) XAT_FIRST_SYMBOL(2) XOS_TRACE_INPUT("requestRead") yAssF_SDL_Integer(yVarP->z135_readID, ((yPDef_z8_requestRead *)ySVarP)-> Param1, XASS_AR_ASS_FR); yAssF_SDL_PId(yVarP->z136_readPID, ((yPDef_z8_requestRead *)ySVarP)-> Param2, XASS_AR_ASS_FR); XBETWEEN_SYMBOLS(7, 1414) /*----- * OUTPUT consumerXReadItemY * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),170(30,155),1,1) ------*/ #ifdef XCASELABELS case 7: #endif ALLOC_SIGNAL_PAR(consumerXReadItemY, ySigN_zA_consumerXReadItemY, TO_PROCESS(Env, &yEnvR_env), yPDef_zA_consumerXReadItemY) SIGNAL_ALLOC_ERROR yAssF_SDL_Integer(((yPDef_zA_consumerXReadItemY *)OUTSIGNAL_DATA_PTR)->Param1, yVarP->z135_readID, XASS_MR_ASS_NF); yAssF_SDL_Integer(((yPDef_zA_consumerXReadItemY *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->z132_numberWritten, XASS_MR_ASS_NF); SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, consumerXReadItemY, ySigN_zA_consumerXReadItemY, TO_PROCESS(Env, &yEnvR_env), sizeof(yPDef_zA_consumerXReadItemY), "consumerXReadItemY") SIGNAL_ALLOC_ERROR_END XBETWEEN_SYMBOLS(8, 1434) /*----- * OUTPUT approveRead * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),191(40,170),1,1) ------*/ #ifdef XCASELABELS case 8: #endif ALLOC_SIGNAL_PAR(approveRead, ySigN_z9_approveRead, yVarP->z136_readPID, yPDef_z9_approveRead) SIGNAL_ALLOC_ERROR yAssF_SDL_Integer(((yPDef_z9_approveRead *)OUTSIGNAL_DATA_PTR)->Param1, yVarP->z132_numberWritten, XASS_MR_ASS_NF); SDL_2OUTPUT(xDefaultPrioSignal, (xIdNode *)0, approveRead, ySigN_z9_approveRead, yVarP->z136_readPID, sizeof(yPDef_z9_approveRead), "approveRead") SIGNAL_ALLOC_ERROR_END XBETWEEN_SYMBOLS(9, 1452) /*----- * NEXTSTATE Phase1 * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),176(60,190),1,1) ------*/ #ifdef XCASELABELS case 9: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(Phase1, z130_Phase1, "Phase1") } } /***** * STATE Phase1 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),122(60,35),1,1) ******/ static XCONST xInputAction yStaH_z130_Phase1[] = {xInput, xSave, xDiscard}; static XCONST XINPUTREFTYPE yStaI_z130_Phase1[] = {1, 0, 0}; #ifdef XCOVERAGE static long int yStaC_z130_Phase1[2+1]; #endif XCONST struct xStateIdStruct yStaR_z130_Phase1 = {xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "Phase1" XCOMMON_EXTRAS, z130_Phase1, yStaH_z130_Phase1, yStaI_z130_Phase1, 0, 0, 0 xCoverage(yStaC_z130_Phase1), (xStateIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),122(60,35),1,1)") XSTA_EXTRAS}; /***** * STATE Phase2 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),134(60,110),1,1) ******/ static XCONST xInputAction yStaH_z131_Phase2[] = {xSave, xInput, xDiscard}; static XCONST XINPUTREFTYPE yStaI_z131_Phase2[] = {0, 2, 0}; #ifdef XCOVERAGE static long int yStaC_z131_Phase2[2+1]; #endif XCONST struct xStateIdStruct yStaR_z131_Phase2 = {xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "Phase2" XCOMMON_EXTRAS, z131_Phase2, yStaH_z131_Phase2, yStaI_z131_Phase2, 0, 0, 0 xCoverage(yStaC_z131_Phase2), (xStateIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),134(60,110),1,1)") XSTA_EXTRAS}; /***** * DCL numberWritten * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),2,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z132_numberWritten = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "numberWritten" XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yVDef_z13_Io, z132_numberWritten), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL writeID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),3,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z133_writeID = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "writeID" XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yVDef_z13_Io, z133_writeID), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL writePID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),4,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z134_writePID = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "writePID" XCOMMON_EXTRAS, &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId, xOffsetOf(yVDef_z13_Io, z134_writePID), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL readID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),5,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z135_readID = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "readID" XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yVDef_z13_Io, z135_readID), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL readPID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),6,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z136_readPID = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "readPID" XCOMMON_EXTRAS, &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId, xOffsetOf(yVDef_z13_Io, z136_readPID), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * SIGNALROUTE ProduceMe * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),197(95,47),1,1) ******/ #ifndef XOPTCHAN static XCONST XSIGTYPE yChaS_z14_ProduceMe[] = {SIGNAL_NAME(approveWrite, &ySigR_z7_approveWrite), (XSIGTYPE)0}; static XCONST XSIGTYPE yChaSR_z14_ProduceMe[] = {SIGNAL_NAME(requestWrite, &ySigR_z6_requestWrite), (XSIGTYPE)0}; XCONST xIdNode yChaO_z14_ProduceMe[] = {(xIdNode)&yChaRR_z3_ProducerDongle, (xIdNode)0}; XCONST xIdNode yChaOR_z14_ProduceMe[] = {(xIdNode)&yPrsR_z13_Io, (xIdNode)0}; XCONST struct xChannelIdStruct yChaR_z14_ProduceMe = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "ProduceMe" XCOMMON_EXTRAS, yChaS_z14_ProduceMe, yChaO_z14_ProduceMe, &yChaRR_z14_ProduceMe XCHA_EXTRAS}; XCONST struct xChannelIdStruct yChaRR_z14_ProduceMe = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "ProduceMe" XCOMMON_EXTRAS, yChaSR_z14_ProduceMe, yChaOR_z14_ProduceMe, &yChaR_z14_ProduceMe XCHA_EXTRAS}; #endif /***** * SIGNALROUTE LineOut * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),188(45,97),1,1) ******/ #ifndef XOPTCHAN static XCONST XSIGTYPE yChaS_z15_LineOut[] = {SIGNAL_NAME(consumerXReadItemY, &ySigR_zA_consumerXReadItemY), SIGNAL_NAME(producerXWroteItemY, &ySigR_zB_producerXWroteItemY), (XSIGTYPE)0}; static XCONST XSIGTYPE yChaSR_z15_LineOut[] = {(XSIGTYPE)0}; XCONST xIdNode yChaO_z15_LineOut[] = {(xIdNode)&yChaR_z4_ThisWayOrTheHighway, (xIdNode)0}; XCONST xIdNode yChaOR_z15_LineOut[] = {(xIdNode)&yPrsR_z13_Io, (xIdNode)0}; XCONST struct xChannelIdStruct yChaR_z15_LineOut = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "LineOut" XCOMMON_EXTRAS, yChaS_z15_LineOut, yChaO_z15_LineOut, &yChaRR_z15_LineOut XCHA_EXTRAS}; XCONST struct xChannelIdStruct yChaRR_z15_LineOut = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "LineOut" XCOMMON_EXTRAS, yChaSR_z15_LineOut, yChaOR_z15_LineOut, &yChaR_z15_LineOut XCHA_EXTRAS}; #endif /***** * SIGNALROUTE ConsumeMe * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),206(92,157),1,1) ******/ #ifndef XOPTCHAN static XCONST XSIGTYPE yChaS_z16_ConsumeMe[] = {SIGNAL_NAME(approveRead, &ySigR_z9_approveRead), (XSIGTYPE)0}; static XCONST XSIGTYPE yChaSR_z16_ConsumeMe[] = {SIGNAL_NAME(requestRead, &ySigR_z8_requestRead), (XSIGTYPE)0}; XCONST xIdNode yChaO_z16_ConsumeMe[] = {(xIdNode)&yChaRR_z5_ConsumerDongle, (xIdNode)0}; XCONST xIdNode yChaOR_z16_ConsumeMe[] = {(xIdNode)&yPrsR_z13_Io, (xIdNode)0}; XCONST struct xChannelIdStruct yChaR_z16_ConsumeMe = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "ConsumeMe" XCOMMON_EXTRAS, yChaS_z16_ConsumeMe, yChaO_z16_ConsumeMe, &yChaRR_z16_ConsumeMe XCHA_EXTRAS}; XCONST struct xChannelIdStruct yChaRR_z16_ConsumeMe = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "ConsumeMe" XCOMMON_EXTRAS, yChaSR_z16_ConsumeMe, yChaOR_z16_ConsumeMe, &yChaR_z16_ConsumeMe XCHA_EXTRAS}; #endif /***** * BLOCK Consumers * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk,4,1,7) ******/ XCONST struct xBlockIdStruct yBloR_z2_Consumers = {xBlockEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "Consumers" XCOMMON_EXTRAS, (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0, (xViewIndexRec *)0, 1 xTrace(-1) xGRTrace(-1) xMSCETrace(-1) xMSCETrace(0) XBLO_EXTRAS}; #ifndef XOPTCHAN XCONST xIdNode yChaOR_z5_ConsumerDongle[] = {(xIdNode)&yChaRR_z22_ConsumerLine1, (xIdNode)0}; #endif /***** * PROCESS Consumer * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr,4,1,9) ******/ #ifdef XCOVERAGE long int yPrsC_z21_Consumer[ySym_z21_Consumer+1]; #endif XCONST XSIGTYPE yPrsS_z21_Consumer[] = {SIGNAL_NAME(approveRead, &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z212_coolTimes), (XSIGTYPE)0}; XCONST xStateIdNode yPrsT_z21_Consumer[] = {&xStartStateIdRec, &yStaR_z210_SiDLing, &yStaR_z211_ForcedWait}; static XPRSNODE yPrsA_z21_Consumer = (XPRSNODE)0; static XPRSNODE yPrsB_z21_Consumer = (XPRSNODE)0; XCONST struct xPrsIdStruct yPrsR_z21_Consumer = {xProcessEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer" XCOMMON_EXTRAS, yPrsT_z21_Consumer, yPrsS_z21_Consumer xService(0) xOptChan( yPrsO_z21_Consumer), -1 xNrInst(1) xNrInst(1), &yPrsB_z21_Consumer, (xptrint)sizeof(yVDef_z21_Consumer) xPrsPrioPar(xDefaultPrioProcess), &yPrsA_z21_Consumer xTrace(-1) xGRTrace(-1) xBreakB(yRef_z21_Consumer) xBreakB(ySym_z21_Consumer) xBreakB(2) xMSCETrace(-1) xCoverage(yPrsC_z21_Consumer) xCoverage(0) xCoverage(0), yPAD_z21_Consumer, yFree_z21_Consumer, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr,4,1,9)") xThreadName(0) xThreadName(0) XPRS_EXTRAS(z21_Consumer)}; static xSignalNode ySigA_z21_Consumer = (xSignalNode)0; XCONST struct xSignalIdStruct ySigR_z21_Consumer = {xStartUpSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-") XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z21_Consumer), &ySigA_z21_Consumer, 0 xFreS(0) SIGCODE(STARTUPSIGNAL) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr,4,1,9)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; XPROCESSDEF_C(Consumer,"Consumer",z21_Consumer,yPAD_z21_Consumer, yVDef_z21_Consumer) #ifndef XOPTCHAN XCONST xIdNode yPrsO_z21_Consumer[] = {(xIdNode)&yChaR_z22_ConsumerLine1, (xIdNode)0}; #endif void yFree_z21_Consumer(void *yVarP) { } /*+++++ * GR ref function for process Consumer * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr,4,1,17) ++++++*/ #ifdef XBREAKBEFORE char * yRef_z21_Consumer (int SymbolNo, xSymbolType *SymbolType) { switch (SymbolNo) { case 0: *SymbolType = xsStart; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),119(65,20),1,1)"; case 1: *SymbolType = xsInput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),137(65,95),1,1)"; case 2: *SymbolType = xsInput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),155(50,155),1,1)"; case 3: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),1,1)"; case 4: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),2,1)"; case 5: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),3,1)"; case 6: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),4,1)"; case 7: *SymbolType = xsSet; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),5,1)"; case 8: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),131(65,75),1,1)"; case 9: *SymbolType = xsOutput; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),143(50,115),1,1)"; case 10: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),149(65,135),1,1)"; case 11: *SymbolType = xsSet; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),167(45,175),1,1)"; case 12: *SymbolType = xsNextstate; return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),173(65,200),1,1)"; default : *SymbolType = xsNoSuchSymbolType; return ""; } } #endif /*+++++ * Function for process Consumer * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr,4,1,17) ++++++*/ YPAD_FUNCTION(yPAD_z21_Consumer) { YPAD_YSVARP YPAD_YVARP(yVDef_z21_Consumer) YPAD_TEMP_VARS YPRSNAME_VAR("Consumer") BEGIN_PAD(yVDef_z21_Consumer) LOOP_LABEL switch (yVarP->RestartAddress) { /*----- * START * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),119(65,20),1,1) ------*/ case 0: BEGIN_START_TRANSITION(yPDef_z21_Consumer) XAT_FIRST_SYMBOL(0) yAssF_SDL_PId(yVarP->z216_mahPID, SDL_NULL, XASS_MR_ASS_NF); INIT_TIMER_VAR(yVarP->yTim_coolTimes) XBETWEEN_SYMBOLS(3, 1751) /*----- * ASSIGNMENT mahPID := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),1,1) ------*/ #ifdef XCASELABELS case 3: #endif yAssF_SDL_PId(yVarP->z216_mahPID, SDL_SELF, XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("mahPID := ", &(yVarP->z216_mahPID), (tSDLTypeInfo *)&ySDL_SDL_PId); #endif #ifdef XMSCE xMSCEAssign(VarP, "mahPID := ", &(yVarP->z216_mahPID), (tSDLTypeInfo *)&ySDL_SDL_PId); #endif XBETWEEN_STMTS(4, 1769) /*----- * ASSIGNMENT stuffRead := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),2,1) ------*/ #ifdef XCASELABELS case 4: #endif yAssF_SDL_Integer(yVarP->z214_stuffRead, SDL_INTEGER_LIT(0), XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("stuffRead := ", &(yVarP->z214_stuffRead), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif #ifdef XMSCE xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z214_stuffRead), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif XBETWEEN_STMTS(5, 1788) /*----- * ASSIGNMENT myID := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),3,1) ------*/ #ifdef XCASELABELS case 5: #endif yAssF_SDL_Integer(yVarP->z215_myID, SDL_INTEGER_LIT(1), XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("myID := ", &(yVarP->z215_myID), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif #ifdef XMSCE xMSCEAssign(VarP, "myID := ", &(yVarP->z215_myID), (tSDLTypeInfo *)&ySDL_SDL_Integer); #endif XBETWEEN_STMTS(6, 1806) /*----- * ASSIGNMENT theseTimes := ... * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),4,1) ------*/ #ifdef XCASELABELS case 6: #endif yAssF_SDL_Duration(yVarP->z213_theseTimes, SDL_DURATION_LIT(1000.0, 1000, 0), XASS_MR_ASS_FR); #ifdef XTRACE xTraceAssign("theseTimes := ", &(yVarP->z213_theseTimes), (tSDLTypeInfo *)&ySDL_SDL_Duration); #endif #ifdef XMSCE xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z213_theseTimes), (tSDLTypeInfo *)&ySDL_SDL_Duration); #endif XBETWEEN_STMTS(7, 1825) /*----- * SET coolTimes * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),5,1) ------*/ #ifdef XCASELABELS case 7: #endif SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z213_theseTimes), yVarP-> z213_theseTimes, coolTimes, ySigN_z212_coolTimes, yVarP->yTim_coolTimes, "coolTimes") XBETWEEN_SYMBOLS(8, 1837) /*----- * NEXTSTATE SiDLing * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),131(65,75),1,1) ------*/ #ifdef XCASELABELS case 8: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(SiDLing, z210_SiDLing, "SiDLing") /*----- * INPUT coolTimes * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),137(65,95),1,1) ------*/ case 1: XDEBUG_LABEL(SiDLing_coolTimes) XAT_FIRST_SYMBOL(1) XOS_TRACE_INPUT("coolTimes") INPUT_TIMER_VAR(yVarP->yTim_coolTimes) XBETWEEN_SYMBOLS(9, 1858) /*----- * OUTPUT requestRead * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),143(50,115),1,1) ------*/ #ifdef XCASELABELS case 9: #endif ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io), yPDef_z8_requestRead) SIGNAL_ALLOC_ERROR yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1, yVarP->z215_myID, XASS_MR_ASS_NF); yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP-> z216_mahPID, XASS_MR_ASS_NF); SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead, ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io), sizeof(yPDef_z8_requestRead), "requestRead") SIGNAL_ALLOC_ERROR_END XBETWEEN_SYMBOLS(10, 1878) /*----- * NEXTSTATE ForcedWait * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),149(65,135),1,1) ------*/ #ifdef XCASELABELS case 10: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(ForcedWait, z211_ForcedWait, "ForcedWait") /*----- * INPUT approveRead * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),155(50,155),1,1) ------*/ case 2: XDEBUG_LABEL(ForcedWait_approveRead) XAT_FIRST_SYMBOL(2) XOS_TRACE_INPUT("approveRead") yAssF_SDL_Integer(yVarP->z214_stuffRead, ((yPDef_z9_approveRead *)ySVarP)-> Param1, XASS_AR_ASS_FR); XBETWEEN_SYMBOLS(11, 1900) /*----- * SET coolTimes * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),167(45,175),1,1) ------*/ #ifdef XCASELABELS case 11: #endif SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z213_theseTimes), yVarP-> z213_theseTimes, coolTimes, ySigN_z212_coolTimes, yVarP->yTim_coolTimes, "coolTimes") XBETWEEN_SYMBOLS(12, 1912) /*----- * NEXTSTATE SiDLing * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),173(65,200),1,1) ------*/ #ifdef XCASELABELS case 12: #endif XAT_LAST_SYMBOL SDL_NEXTSTATE(SiDLing, z210_SiDLing, "SiDLing") } } /***** * STATE SiDLing * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),131(65,75),1,1) ******/ static XCONST xInputAction yStaH_z210_SiDLing[] = {xDiscard, xInput, xDiscard}; static XCONST XINPUTREFTYPE yStaI_z210_SiDLing[] = {0, 1, 0}; #ifdef XCOVERAGE static long int yStaC_z210_SiDLing[2+1]; #endif XCONST struct xStateIdStruct yStaR_z210_SiDLing = {xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "SiDLing" XCOMMON_EXTRAS, z210_SiDLing, yStaH_z210_SiDLing, yStaI_z210_SiDLing, 0, 0, 0 xCoverage(yStaC_z210_SiDLing), (xStateIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),131(65,75),1,1)") XSTA_EXTRAS}; /***** * STATE ForcedWait * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),149(65,135),1,1) ******/ static XCONST xInputAction yStaH_z211_ForcedWait[] = {xInput, xDiscard, xDiscard}; static XCONST XINPUTREFTYPE yStaI_z211_ForcedWait[] = {2, 0, 0}; #ifdef XCOVERAGE static long int yStaC_z211_ForcedWait[2+1]; #endif XCONST struct xStateIdStruct yStaR_z211_ForcedWait = {xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "ForcedWait" XCOMMON_EXTRAS, z211_ForcedWait, yStaH_z211_ForcedWait, yStaI_z211_ForcedWait, 0, 0, 0 xCoverage(yStaC_z211_ForcedWait), (xStateIdNode)0 xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),149(65,135),1,1)") XSTA_EXTRAS}; /***** * TIMER coolTimes * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),1,7) ******/ XCONST struct xSignalIdStruct ySigR_z212_coolTimes = {xTimerEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "coolTimes" XCOMMON_EXTRAS, (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),125(145,15),1,7)") xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes, yVDef_z21_Consumer) XSIG_EXTRAS}; /***** * DCL theseTimes * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),3,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z213_theseTimes = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "theseTimes" XCOMMON_EXTRAS, &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration, xOffsetOf(yVDef_z21_Consumer, z213_theseTimes), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL stuffRead * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),4,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z214_stuffRead = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "stuffRead" XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yVDef_z21_Consumer, z214_stuffRead), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL myID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),5,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z215_myID = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "myID" XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yVDef_z21_Consumer, z215_myID), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * DCL mahPID * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),6,1) ******/ #ifndef XOPTDCL XCONST struct xVarIdStruct yVarR_z216_mahPID = {xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "mahPID" XCOMMON_EXTRAS, &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId, xOffsetOf(yVDef_z21_Consumer, z216_mahPID), (xptrint)0, 0 XVAR_EXTRAS}; #endif /***** * SIGNALROUTE ConsumerLine1 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),119(37,50),1,1) ******/ #ifndef XOPTCHAN static XCONST XSIGTYPE yChaS_z22_ConsumerLine1[] = {SIGNAL_NAME(requestRead, &ySigR_z8_requestRead), (XSIGTYPE)0}; static XCONST XSIGTYPE yChaSR_z22_ConsumerLine1[] = {SIGNAL_NAME(approveRead, &ySigR_z9_approveRead), (XSIGTYPE)0}; XCONST xIdNode yChaO_z22_ConsumerLine1[] = {(xIdNode)&yChaR_z5_ConsumerDongle, (xIdNode)0}; XCONST xIdNode yChaOR_z22_ConsumerLine1[] = {(xIdNode)&yPrsR_z21_Consumer, (xIdNode)0}; XCONST struct xChannelIdStruct yChaR_z22_ConsumerLine1 = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine1" XCOMMON_EXTRAS, yChaS_z22_ConsumerLine1, yChaO_z22_ConsumerLine1, &yChaRR_z22_ConsumerLine1 XCHA_EXTRAS}; XCONST struct xChannelIdStruct yChaRR_z22_ConsumerLine1 = {xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine1" XCOMMON_EXTRAS, yChaSR_z22_ConsumerLine1, yChaOR_z22_ConsumerLine1, &yChaR_z22_ConsumerLine1 XCHA_EXTRAS}; #endif /***** * CHANNEL ProducerDongle * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),140(130,72),1,1) ******/ #ifndef XOPTCHAN static XCONST XSIGTYPE yChaS_z3_ProducerDongle[] = {SIGNAL_NAME(requestWrite, &ySigR_z6_requestWrite), (XSIGTYPE)0}; static XCONST XSIGTYPE yChaSR_z3_ProducerDongle[] = {SIGNAL_NAME(approveWrite, &ySigR_z7_approveWrite), (XSIGTYPE)0}; XCONST struct xChannelIdStruct yChaR_z3_ProducerDongle = {xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ProducerDongle" XCOMMON_EXTRAS, yChaS_z3_ProducerDongle, yChaO_z3_ProducerDongle, &yChaRR_z3_ProducerDongle XCHA_EXTRAS}; XCONST struct xChannelIdStruct yChaRR_z3_ProducerDongle = {xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ProducerDongle" XCOMMON_EXTRAS, yChaSR_z3_ProducerDongle, yChaOR_z3_ProducerDongle, &yChaR_z3_ProducerDongle XCHA_EXTRAS}; #endif /***** * CHANNEL ThisWayOrTheHighway * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),122(45,102),1,1) ******/ #ifndef XOPTCHAN static XCONST XSIGTYPE yChaS_z4_ThisWayOrTheHighway[] = {SIGNAL_NAME(consumerXReadItemY, &ySigR_zA_consumerXReadItemY), SIGNAL_NAME(producerXWroteItemY, &ySigR_zB_producerXWroteItemY), (XSIGTYPE)0}; static XCONST XSIGTYPE yChaSR_z4_ThisWayOrTheHighway[] = {(XSIGTYPE)0}; #ifndef XMULTIPLESYSTEMS XCONST xIdNode yChaO_z4_ThisWayOrTheHighway[] = {(xIdNode)&yEnvR_env, (xIdNode)0}; #else XCONST xIdNode yChaO_z4_ThisWayOrTheHighway[] = {(xIdNode)&yGateOut_Concuro_ThisWayOrTheHighway, (xIdNode)0}; #endif XCONST struct xChannelIdStruct yChaR_z4_ThisWayOrTheHighway = {xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ThisWayOrTheHighway" XCOMMON_EXTRAS, yChaS_z4_ThisWayOrTheHighway, yChaO_z4_ThisWayOrTheHighway, &yChaRR_z4_ThisWayOrTheHighway XCHA_EXTRAS}; XCONST struct xChannelIdStruct yChaRR_z4_ThisWayOrTheHighway = {xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ThisWayOrTheHighway" XCOMMON_EXTRAS, yChaSR_z4_ThisWayOrTheHighway, yChaOR_z4_ThisWayOrTheHighway, &yChaR_z4_ThisWayOrTheHighway XCHA_EXTRAS}; #ifdef XMULTIPLESYSTEMS XCONST xIdNode yConnIn_Concuro_ThisWayOrTheHighway[] = {(xIdNode)&yChaRR_z4_ThisWayOrTheHighway, (xIdNode)0}; XCONST struct xChannelIdStruct yGateIn_Concuro_ThisWayOrTheHighway= {xGateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro xIdNames("Concuro_ThisWayOrTheHighway") XCOMMON_EXTRAS, yChaSR_z4_ThisWayOrTheHighway, yConnIn_Concuro_ThisWayOrTheHighway, &yGateOut_Concuro_ThisWayOrTheHighway XCHA_EXTRAS}; XCONST struct xChannelIdStruct yGateOut_Concuro_ThisWayOrTheHighway= {xGateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro xIdNames("Concuro_ThisWayOrTheHighway") XCOMMON_EXTRAS, yChaS_z4_ThisWayOrTheHighway, yConnOut_Concuro_ThisWayOrTheHighway, &yGateIn_Concuro_ThisWayOrTheHighway XCHA_EXTRAS}; #endif #endif /***** * CHANNEL ConsumerDongle * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),149(132,152),1,1) ******/ #ifndef XOPTCHAN static XCONST XSIGTYPE yChaS_z5_ConsumerDongle[] = {SIGNAL_NAME(requestRead, &ySigR_z8_requestRead), (XSIGTYPE)0}; static XCONST XSIGTYPE yChaSR_z5_ConsumerDongle[] = {SIGNAL_NAME(approveRead, &ySigR_z9_approveRead), (XSIGTYPE)0}; XCONST struct xChannelIdStruct yChaR_z5_ConsumerDongle = {xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ConsumerDongle" XCOMMON_EXTRAS, yChaS_z5_ConsumerDongle, yChaO_z5_ConsumerDongle, &yChaRR_z5_ConsumerDongle XCHA_EXTRAS}; XCONST struct xChannelIdStruct yChaRR_z5_ConsumerDongle = {xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ConsumerDongle" XCOMMON_EXTRAS, yChaSR_z5_ConsumerDongle, yChaOR_z5_ConsumerDongle, &yChaR_z5_ConsumerDongle XCHA_EXTRAS}; #endif /***** * SIGNAL requestWrite * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),2,1) ******/ static xSignalNode ySigA_z6_requestWrite = (xSignalNode)0; XCONST struct xSignalIdStruct ySigR_z6_requestWrite = {xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "requestWrite" XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z6_requestWrite), &ySigA_z6_requestWrite, 0 xFreS(0) SIGCODE(requestWrite) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),2,1)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; #ifndef XOPTSIGPARA XCONST struct xVarIdStruct ySPaR1_z6_requestWrite = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z6_requestWrite xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yPDef_z6_requestWrite, Param1), (xptrint)0, (xbool)0 XSPA_EXTRAS}; XCONST struct xVarIdStruct ySPaR2_z6_requestWrite = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z6_requestWrite xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yPDef_z6_requestWrite, Param2), (xptrint)0, (xbool)0 XSPA_EXTRAS}; XCONST struct xVarIdStruct ySPaR3_z6_requestWrite = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z6_requestWrite xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId, xOffsetOf(yPDef_z6_requestWrite, Param3), (xptrint)0, (xbool)0 XSPA_EXTRAS}; #endif /***** * SIGNAL approveWrite * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),3,1) ******/ XCONST struct xSignalIdStruct ySigR_z7_approveWrite = {xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "approveWrite" XCOMMON_EXTRAS, (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(approveWrite) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),3,1)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; /***** * SIGNAL requestRead * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),4,1) ******/ static xSignalNode ySigA_z8_requestRead = (xSignalNode)0; XCONST struct xSignalIdStruct ySigR_z8_requestRead = {xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "requestRead" XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z8_requestRead), &ySigA_z8_requestRead, 0 xFreS(0) SIGCODE(requestRead) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),4,1)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; #ifndef XOPTSIGPARA XCONST struct xVarIdStruct ySPaR1_z8_requestRead = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z8_requestRead xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yPDef_z8_requestRead, Param1), (xptrint)0, (xbool)0 XSPA_EXTRAS}; XCONST struct xVarIdStruct ySPaR2_z8_requestRead = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z8_requestRead xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId, xOffsetOf(yPDef_z8_requestRead, Param2), (xptrint)0, (xbool)0 XSPA_EXTRAS}; #endif /***** * SIGNAL approveRead * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),5,1) ******/ static xSignalNode ySigA_z9_approveRead = (xSignalNode)0; XCONST struct xSignalIdStruct ySigR_z9_approveRead = {xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "approveRead" XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z9_approveRead), &ySigA_z9_approveRead, 0 xFreS(0) SIGCODE(approveRead) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),5,1)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; #ifndef XOPTSIGPARA XCONST struct xVarIdStruct ySPaR1_z9_approveRead = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z9_approveRead xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yPDef_z9_approveRead, Param1), (xptrint)0, (xbool)0 XSPA_EXTRAS}; #endif /***** * SIGNAL consumerXReadItemY * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),6,1) ******/ static xSignalNode ySigA_zA_consumerXReadItemY = (xSignalNode)0; XCONST struct xSignalIdStruct ySigR_zA_consumerXReadItemY = {xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "consumerXReadItemY" XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_zA_consumerXReadItemY), &ySigA_zA_consumerXReadItemY, 0 xFreS(0) SIGCODE(consumerXReadItemY) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),6,1)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; #ifndef XOPTSIGPARA XCONST struct xVarIdStruct ySPaR1_zA_consumerXReadItemY = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zA_consumerXReadItemY xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yPDef_zA_consumerXReadItemY, Param1), (xptrint)0, (xbool)0 XSPA_EXTRAS}; XCONST struct xVarIdStruct ySPaR2_zA_consumerXReadItemY = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zA_consumerXReadItemY xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yPDef_zA_consumerXReadItemY, Param2), (xptrint)0, (xbool)0 XSPA_EXTRAS}; #endif /***** * SIGNAL producerXWroteItemY * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),7,1) ******/ static xSignalNode ySigA_zB_producerXWroteItemY = (xSignalNode)0; XCONST struct xSignalIdStruct ySigR_zB_producerXWroteItemY = {xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "producerXWroteItemY" XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_zB_producerXWroteItemY), &ySigA_zB_producerXWroteItemY, 0 xFreS(0) SIGCODE(producerXWroteItemY) xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),7,1)") xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS}; #ifndef XOPTSIGPARA XCONST struct xVarIdStruct ySPaR1_zB_producerXWroteItemY = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zB_producerXWroteItemY xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yPDef_zB_producerXWroteItemY, Param1), (xptrint)0, (xbool)0 XSPA_EXTRAS}; XCONST struct xVarIdStruct ySPaR2_zB_producerXWroteItemY = {xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zB_producerXWroteItemY xIdNames(" ") XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, xOffsetOf(yPDef_zB_producerXWroteItemY, Param2), (xptrint)0, (xbool)0 XSPA_EXTRAS}; #endif /************************************************************************* ** SECTION Initialization ** *************************************************************************/ #ifndef XMULTIPLESYSTEMS extern void yInit (void) { #else extern void yInit_Concuro (void) { #endif int Temp; YINIT_TEMP_VARS BEGIN_YINIT #ifdef XMONITOR xTranslatorVersion = "Program generated by Cbasic 6.0.0 "; #endif xInsertIdNode((xIdNode)&ySysR_z_Concuro); xInsertIdNode((xIdNode)&yBloR_z0_Producers); xInsertIdNode((xIdNode)&yPrsR_z01_Producer); xInsertIdNode((xIdNode)&ySigR_z01_Producer); INIT_PROCESS_TYPE(Producer,z01_Producer,yPrsN_z01_Producer,"z01_Producer",-1, 1,yVDef_z01_Producer,xDefaultPrioProcess,yPAD_z01_Producer) #ifdef SDL_STATIC_CREATE SDL_STATIC_CREATE(Producer,z01_Producer,yPrsN_z01_Producer,"Producer", ySigN_z01_Producer,yPDef_z01_Producer,yVDef_z01_Producer, xDefaultPrioProcess,yPAD_z01_Producer,1) #endif #ifndef XOPTSORT xInsertIdNode((xIdNode)&ySrtR_z010_iLikeToWrite); #endif #ifndef XOPTSORT xInsertIdNode((xIdNode)&ySrtR_z011_babaAuRum); #endif xInsertIdNode((xIdNode)&yStaR_z012_SiDLing); xInsertIdNode((xIdNode)&yStaR_z013_ForcedToWait); xInsertIdNode((xIdNode)&ySigR_z014_walkingTime); #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z015_someTime); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z016_myID); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z017_numberToWrite); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z018_mahPID); #endif #ifndef XOPTCHAN xInsertIdNode((xIdNode)&yChaR_z02_ProducerLine1); xInsertIdNode((xIdNode)&yChaRR_z02_ProducerLine1); #endif xInsertIdNode((xIdNode)&yBloR_z1_ConcuroBlock); xInsertIdNode((xIdNode)&yPrsR_z13_Io); xInsertIdNode((xIdNode)&ySigR_z13_Io); INIT_PROCESS_TYPE(Io,z13_Io,yPrsN_z13_Io,"z13_Io",-1,1,yVDef_z13_Io, xDefaultPrioProcess,yPAD_z13_Io) #ifdef SDL_STATIC_CREATE SDL_STATIC_CREATE(Io,z13_Io,yPrsN_z13_Io,"Io",ySigN_z13_Io,yPDef_z13_Io, yVDef_z13_Io,xDefaultPrioProcess,yPAD_z13_Io,1) #endif xInsertIdNode((xIdNode)&yStaR_z130_Phase1); xInsertIdNode((xIdNode)&yStaR_z131_Phase2); #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z132_numberWritten); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z133_writeID); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z134_writePID); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z135_readID); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z136_readPID); #endif #ifndef XOPTCHAN xInsertIdNode((xIdNode)&yChaR_z14_ProduceMe); xInsertIdNode((xIdNode)&yChaRR_z14_ProduceMe); #endif #ifndef XOPTCHAN xInsertIdNode((xIdNode)&yChaR_z15_LineOut); xInsertIdNode((xIdNode)&yChaRR_z15_LineOut); #endif #ifndef XOPTCHAN xInsertIdNode((xIdNode)&yChaR_z16_ConsumeMe); xInsertIdNode((xIdNode)&yChaRR_z16_ConsumeMe); #endif xInsertIdNode((xIdNode)&yBloR_z2_Consumers); xInsertIdNode((xIdNode)&yPrsR_z21_Consumer); xInsertIdNode((xIdNode)&ySigR_z21_Consumer); INIT_PROCESS_TYPE(Consumer,z21_Consumer,yPrsN_z21_Consumer,"z21_Consumer",-1, 1,yVDef_z21_Consumer,xDefaultPrioProcess,yPAD_z21_Consumer) #ifdef SDL_STATIC_CREATE SDL_STATIC_CREATE(Consumer,z21_Consumer,yPrsN_z21_Consumer,"Consumer", ySigN_z21_Consumer,yPDef_z21_Consumer,yVDef_z21_Consumer, xDefaultPrioProcess,yPAD_z21_Consumer,1) #endif xInsertIdNode((xIdNode)&yStaR_z210_SiDLing); xInsertIdNode((xIdNode)&yStaR_z211_ForcedWait); xInsertIdNode((xIdNode)&ySigR_z212_coolTimes); #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z213_theseTimes); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z214_stuffRead); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z215_myID); #endif #ifndef XOPTDCL xInsertIdNode((xIdNode)&yVarR_z216_mahPID); #endif #ifndef XOPTCHAN xInsertIdNode((xIdNode)&yChaR_z22_ConsumerLine1); xInsertIdNode((xIdNode)&yChaRR_z22_ConsumerLine1); #endif #ifndef XOPTCHAN xInsertIdNode((xIdNode)&yChaR_z3_ProducerDongle); xInsertIdNode((xIdNode)&yChaRR_z3_ProducerDongle); #endif #ifndef XOPTCHAN xInsertIdNode((xIdNode)&yChaR_z4_ThisWayOrTheHighway); xInsertIdNode((xIdNode)&yChaRR_z4_ThisWayOrTheHighway); #endif #ifdef XMULTIPLESYSTEMS xInsertIdNode((xIdNode)&yGateIn_Concuro_ThisWayOrTheHighway); xInsertIdNode((xIdNode)&yGateOut_Concuro_ThisWayOrTheHighway); #endif #ifndef XOPTCHAN xInsertIdNode((xIdNode)&yChaR_z5_ConsumerDongle); xInsertIdNode((xIdNode)&yChaRR_z5_ConsumerDongle); #endif xInsertIdNode((xIdNode)&ySigR_z6_requestWrite); #ifndef XOPTSIGPARA xInsertIdNode((xIdNode)&ySPaR1_z6_requestWrite); xInsertIdNode((xIdNode)&ySPaR2_z6_requestWrite); xInsertIdNode((xIdNode)&ySPaR3_z6_requestWrite); #endif xInsertIdNode((xIdNode)&ySigR_z7_approveWrite); xInsertIdNode((xIdNode)&ySigR_z8_requestRead); #ifndef XOPTSIGPARA xInsertIdNode((xIdNode)&ySPaR1_z8_requestRead); xInsertIdNode((xIdNode)&ySPaR2_z8_requestRead); #endif xInsertIdNode((xIdNode)&ySigR_z9_approveRead); #ifndef XOPTSIGPARA xInsertIdNode((xIdNode)&ySPaR1_z9_approveRead); #endif xInsertIdNode((xIdNode)&ySigR_zA_consumerXReadItemY); #ifndef XOPTSIGPARA xInsertIdNode((xIdNode)&ySPaR1_zA_consumerXReadItemY); xInsertIdNode((xIdNode)&ySPaR2_zA_consumerXReadItemY); #endif xInsertIdNode((xIdNode)&ySigR_zB_producerXWroteItemY); #ifndef XOPTSIGPARA xInsertIdNode((xIdNode)&ySPaR1_zB_producerXWroteItemY); xInsertIdNode((xIdNode)&ySPaR2_zB_producerXWroteItemY); #endif }