30 #define RESOLUTION_NONE 0
31 #define RESOLUTION_DCP 1
32 #define RESOLUTION_DNS 2
41 APP_BOOL bIsFirstForConnect;
42 APP_BOOL bIsMulticastComm;
43 APP_BOOL bApplRdyDone;
44 }PACK_ALIGNEMENT(ST_CMDEV), APP_FAR * LPST_CMDEV;
46 #define GET_AREP_CMDEV_STATE(a) (a)->stCmdev.wState
47 #define SET_AREP_CMDEV_STATE(a,b) (a)->stCmdev.wState = b
49 #define SET_AREP_CMDEV_APP_RDY_RCV(a) (a)->stCmdev.bApplRdyDone = APP_TRUE
50 #define SET_AREP_CMDEV_APP_RDY_NOT_RCV(a) (a)->stCmdev.bApplRdyDone = APP_FALSE
51 #define GET_AREP_CMDEV_APP_RDY_RVC(a) (a)->stCmdev.bApplRdyDone
53 #define SET_AREP_CMDEV_FIRST(a) (a)->stCmdev.bIsFirstForConnect = APP_TRUE
54 #define SET_AREP_CMDEV_NOT_FIRST(a) (a)->stCmdev.bIsFirstForConnect = APP_FALSE
55 #define GET_AREP_CMDEV_IS_FIRST(a) (a)->stCmdev.bIsFirstForConnect
57 #define SET_AREP_CMDEV_MULTICAST(a) (a)->stCmdev.bIsMulticastComm = APP_TRUE
58 #define SET_AREP_CMDEV_NOT_MULTICAST(a) (a)->stCmdev.bIsMulticastComm = APP_FALSE
59 #define GET_AREP_CMDEV_IS_MULTICAST(a) (a)->stCmdev.bIsMulticastComm
61 #define SET_AREP_CMDEV_CMI_TIMEOUT_CB(a,b) (a)->stCmdev.lpstCMI_Timeout = b
62 #define GET_AREP_CMDEV_CMI_TIMEOUT_CB(a) (a)->stCmdev.lpstCMI_Timeout
68 }PACK_ALIGNEMENT(ST_BLOCVERSION);
71 ST_BLOCVERSION ARBlocVers;
72 ST_BLOCVERSION IOCRBlocVers;
73 ST_BLOCVERSION ALRMBlocVers;
74 ST_BLOCVERSION SUBMODBlocVers;
75 ST_BLOCVERSION PRMSRVBlocVers;
76 }PACK_ALIGNEMENT(ST_APPLICATION_RELATION), APP_FAR * LPST_APPLICATION_RELATION;
77 #define ST_APPLICATION_RELATION_SIZEOF 10
84 }PACK_ALIGNEMENT(ST_UNIQUE_SUBMODULE_ID), APP_FAR * LPST_UNIQUE_SUBMODULE_ID;
88 ST_POOL stPoolOfExpectedConfiguration;
89 ST_IOCR_BLOCK_REQ stIOCR;
91 }PACK_ALIGNEMENT(ST_CR), APP_FAR * LPST_CR;
104 LPST_CR CommunicationRelation;
105 LPST_CR CommunicationRelationIOCS;
112 APP_WORD moduleState;
117 APP_WORD subModuleState;
122 APP_DWORD subModuleArInfo;
129 APP_DWORD ModuleDiffModuleIdentNumber;
130 APP_DWORD ModuleDiffSubModuleIdentNumber;
132 APP_DWORD ModuleIdentNumber;
133 APP_DWORD SubModuleIdentNumber;
134 APP_WORD ModuleProperties;
135 APP_WORD SubModuleProperties;
137 APP_WORD IODataObjectFrameOffsetInput;
138 APP_WORD IODataObjectFrameOffsetOutput;
139 APP_WORD IOCSObjectFrameOffsetInput;
140 APP_WORD IOCSObjectFrameOffsetOutput;
143 ST_DATADESCRIPTION_BLOCK_REQ stDataDesInput;
144 ST_DATADESCRIPTION_BLOCK_REQ stDataDesOutput;
147 }PACK_ALIGNEMENT(ST_EXPECTED_CONFIGURATION), APP_FAR * LPST_EXPECTED_CONFIGURATION;
151 APP_DWORD ModuleIdentNumber;
152 APP_DWORD SubModuleIdentNumber;
155 }PACK_ALIGNEMENT(ST_REAL_CONFIGURATION), APP_FAR * LPST_REAL_CONFIGURATION;
158 LPST_EXPECTED_CONFIGURATION lpstEC;
159 ST_UNIQUE_SUBMODULE_ID stTemporaryUniqueId;
160 }PACK_ALIGNEMENT(ST_TEMPORARY_EC), APP_FAR * LPST_TEMPORARY_EC;
163 ST_UNIQUE_SUBMODULE_ID stUniqueId;
164 LPST_REAL_CONFIGURATION lpstRC;
166 LPST_EXPECTED_CONFIGURATION lpArrayOfstEc[(MAX_INSTANCE_PER_DEVICE * MAX_CONNEXION_PER_INSTANCE)];
169 APP_WORD wPlugTypeAlr;
170 APP_BYTE bStatusInHasBeenGood;
171 APP_BYTE bStatusOutHasBeenGood;
172 APP_BYTE byCurrentStatusIn;
173 APP_BYTE byCurrentStatusOut;
174 APP_BYTE byNbAlmRetry;
175 }PACK_ALIGNEMENT(ST_CONFIGURATION_STORAGE), APP_FAR * LPST_CONFIGURATION_STORAGE;
180 APP_LPVOID lpstArepTarget;
182 APP_DWORD Record_Data_Length;
183 APP_LPBYTE lpbyRecordData;
185 APP_WORD Slot_Number;
186 APP_WORD Subslot_Number;
188 APP_BYTE BlockVersionHigh;
189 APP_BYTE BlockVersionLow;
190 }PACK_ALIGNEMENT(ST_ACYN_READ_WRITE), APP_FAR * LPST_ACYN_READ_WRITE;
195 APP_DWORD dwOffsetData;
196 APP_DWORD dwOffsetStatus;
197 APP_DWORD dwOffsetOverRun;
198 APP_DWORD dwOffsetProtect;
199 }PACK_ALIGNEMENT(ST_SHARED_MEMORY), APP_FAR * LPST_SHARED_MEMORY;
206 APP_DWORD dwQueueL[ALARM_MAX_QUEUE_LEVEL];
207 APP_BYTE byQueueHigh;
208 APP_DWORD dwQueueH[ALARM_MAX_QUEUE_LEVEL];
209 }PACK_ALIGNEMENT(ST_QUEUE_ALM), APP_FAR * LPST_QUEUE_ALM;
217 APP_DWORD dwARContextInd;
224 ST_AR_BLOCK_REQ stARBlock;
226 ST_ALARM_CR_BLOCK_REQ stAlarmBloc;
227 ST_PRMSERVER_CR_BLOCK_REQ stPrmServerBloc;
228 ST_MCR_CR_BLOCK_REQ stMcrBlockReq;
231 APP_WORD wSeqAlarmNumber;
232 APP_WORD wOldSeqAlarmNumber;
236 APP_DWORD dwRpcReqSize;
238 LPST_RPC_CALL lpstCurrRPCCall;
239 LPST_RPC_CALL listOflpstRPCCall[MAX_RPCCLIENT];
241 LPST_RPC_REQ lpstRPCReq;
242 APP_WORD wRpcServerPort;
243 APP_DWORD dwControllerIp;
249 ST_ACYN_READ_WRITE stAcynReadWrite;
252 #ifdef SHARED_MEMORY_MODE
256 ST_SHARED_MEMORY lpSharedMemoryIn [MAX_CR_IN_PER_AR];
257 ST_SHARED_MEMORY lpSharedMemoryOut[MAX_CR_OUT_PER_AR];
260 ST_APPLICATION_RELATION stBlocVersion;
262 ST_POOL stPoolOfTmpExpectedConfiguration;
269 }PACK_ALIGNEMENT(ST_AREP), APP_FAR * LPST_AREP;
271 #include "os_unpck.h"
274 #define RESET_AREP_QUEUE_ALM_LOW(lpstArep) (lpstArep)->qstAlm.byQueueLow = 0;OS_MEMSET((lpstArep)->qstAlm.dwQueueL, APP_NULL, sizeof(APP_DWORD)*ALARM_MAX_QUEUE_LEVEL)
275 #define RESET_AREP_QUEUE_ALM_HIGH(lpstArep) (lpstArep)->qstAlm.byQueueHigh = 0;OS_MEMSET((lpstArep)->qstAlm.dwQueueH, APP_NULL, sizeof(APP_DWORD)*ALARM_MAX_QUEUE_LEVEL)
277 #define GET_AREP_QUEUE_ALM_LOW(lpstArep) (lpstArep)->qstAlm.byQueueLow
278 #define GET_AREP_QUEUE_ALM_HIGH(lpstArep) (lpstArep)->qstAlm.byQueueHigh
280 #define GET_AREP_PENDING_ALM_LOW(lpstArep) (lpstArep)->qstAlm.dwQueueL
281 #define GET_AREP_PENDING_ALM_HIGH(lpstArep) (lpstArep)->qstAlm.dwQueueH
283 #define INC_AREP_QUEUE_ALM_LOW(lpstArep) ((lpstArep)->qstAlm.byQueueLow)++
284 #define INC_AREP_QUEUE_ALM_HIGH(lpstArep) ((lpstArep)->qstAlm.byQueueHigh)++
285 #define DEC_AREP_QUEUE_ALM_LOW(lpstArep) ((lpstArep)->qstAlm.byQueueLow)--
286 #define DEC_AREP_QUEUE_ALM_HIGH(lpstArep) ((lpstArep)->qstAlm.byQueueHigh)--
288 #define SET_AREP_CONTEXT_IND(lpstArep, dwContextInd) (lpstArep)->dwARContextInd = (dwContextInd)
289 #define GET_AREP_CONTEXT_IND(lpstArep) (lpstArep)->dwARContextInd
292 #define SET_AREP_REQ_RPC_STATUS(arep,v) SET_REQ_RPC_STATUS((arep)->lpstRPCReq,v)
293 #define SET_AREP_RPC_MAX_LEN(lpArep, len) (lpArep)->dwRpcReqSize = (len)
294 #define GET_AREP_RPC_MAX_LEN(lpArep) (lpArep)->dwRpcReqSize
296 #define SET_AREP_IP_CONTROLLER(lpArep, dwIPAddressCaller) (lpArep)->dwControllerIp = (dwIPAddressCaller)
297 #define GET_AREP_IP_CONTROLLER(lpArep) (lpArep)->dwControllerIp
299 #define GET_RPC_SERVER_PORT(arep) gwServerPort
301 #define GET_AREP_RPC_CALL_X(arep, index) ((arep)->listOflpstRPCCall[index])
302 #define GET_AREP_CALL_DATA_X(arep, index) CALL_DATA( ((arep)->listOflpstRPCCall[index]) )
305 #define GET_AREP_RPC_CALL(arep) ((arep)->lpstCurrRPCCall)
306 #define SET_AREP_RPC_CALL(arep, lpstCurrRPCCall) ((arep)->lpstCurrRPCCall) = (lpstCurrRPCCall)
307 #define GET_AREP_RPC_REQ(arep) (arep)->lpstRPCReq
308 #define SET_AREP_RPC_REQ(arep,v) (arep)->lpstRPCReq = (v)
310 #define GET_AREP_REQ_DATA(arep) REQ_DATA((arep)->lpstRPCReq)
311 #define GET_AREP_CALL_DATA(arep) CALL_DATA( ((arep)->lpstCurrRPCCall) )
314 #define SET_AREP_REQ_RPC_STATUS(arep,v) SET_REQ_RPC_STATUS((arep)->lpstRPCReq,v)
315 #define GET_AREP_REQ_RPC_STATUS(arep) GET_REQ_RPC_STATUS((arep)->lpstRPCReq)
319 #define GET_AREP_ACY_RW_AREP_TARGET(lparep) lparep->stAcynReadWrite.lpstArepTarget
320 #define SET_AREP_ACY_RW_AREP_TARGET(lparep,a) lparep->stAcynReadWrite.lpstArepTarget = a
322 #define GET_AREP_ACY_RW_API(lparep) lparep->stAcynReadWrite.Api
323 #define SET_AREP_ACY_RW_API(lparep,a) lparep->stAcynReadWrite.Api = a
325 #define GET_AREP_ACY_RW_LEN(lparep) lparep->stAcynReadWrite.Record_Data_Length
326 #define SET_AREP_ACY_RW_LEN(lparep,a) lparep->stAcynReadWrite.Record_Data_Length = a
328 #define GET_AREP_ACY_RW_DATAPTR(lparep) lparep->stAcynReadWrite.lpbyRecordData
329 #define SET_AREP_ACY_RW_DATAPTR(lparep,a) lparep->stAcynReadWrite.lpbyRecordData = a
331 #define GET_AREP_ACY_RW_SLOT(lparep) lparep->stAcynReadWrite.Slot_Number
332 #define SET_AREP_ACY_RW_SLOT(lparep,a) lparep->stAcynReadWrite.Slot_Number = a
334 #define GET_AREP_ACY_RW_SUBSLOT(lparep) lparep->stAcynReadWrite.Subslot_Number
335 #define SET_AREP_ACY_RW_SUBSLOT(lparep,a) lparep->stAcynReadWrite.Subslot_Number = a
337 #define GET_AREP_ACY_RW_INDEX(lparep) lparep->stAcynReadWrite.Index
338 #define SET_AREP_ACY_RW_INDEX(lparep,a) lparep->stAcynReadWrite.Index = a
340 #define GET_AREP_ACY_RW_SEQNUMBER(lparep) lparep->stAcynReadWrite.SeqNumber
341 #define SET_AREP_ACY_RW_SEQNUMBER(lparep,a) lparep->stAcynReadWrite.SeqNumber = a
343 #define GET_AREP_ACY_RW_BLOCK_VERSION_HIGH(lparep) lparep->stAcynReadWrite.BlockVersionHigh
344 #define SET_AREP_ACY_RW_BLOCK_VERSION_HIGH(lparep,a) lparep->stAcynReadWrite.BlockVersionHigh = a
346 #define GET_AREP_ACY_RW_BLOCK_VERSION_LOW(lparep) lparep->stAcynReadWrite.BlockVersionLow
347 #define SET_AREP_ACY_RW_BLOCK_VERSION_LOW(lparep,a) lparep->stAcynReadWrite.BlockVersionLow = a
352 APP_VOID find_arep_from_rpc_req (LPST_AREP APP_FAR *lpstArep, APP_LPBYTE lpData, LPST_RPC_REQ lpstRPCReq);
353 APP_VOID find_arep_from_uuid (LPST_AREP APP_FAR *lpstArep, APP_LPBYTE lpDataUUID,LPST_RPC_REQ lpstRPCReq);
355 APP_VOID find_free_arep_from_rpc_req(LPST_AREP APP_FAR *lpstArep, LPST_RPC_REQ lpstRPCReq);
356 APP_VOID getArepImplicit (LPST_AREP APP_FAR *lpstArep, LPST_RPC_REQ lpstRPCReq);
358 APP_BOOL checkArepRpcCall (LPST_AREP lpstArep, LPST_RPC_CALL lpstRPCCall);
359 APP_VOID set_arep_call_ObjectUUID(LPST_AREP lpstArep, ST_CLR_RPC_UUID CMInitiatorObjectUUID);
362 #define AREP_IS_USED(lpstArep) (0 != lpstArep->stARBlock.StationNameLength)
364 #define FIND_FREE_AREP_FROM_RPC_REQ(lpstDrep,lpstRPCReq) find_free_arep_from_rpc_req(&(lpstDrep), lpstRPCReq)
365 #define FIND_AREP_FROM_RPC_REQ(lpstArep, lpData, lpstRPCReq) find_arep_from_rpc_req( &(lpstArep), lpData, lpstRPCReq)
368 #define GET_AREP_IMPLICIT(lpArep, lpstRPCReq) getArepImplicit(lpArep, lpstRPCReq)
370 #define AREP_IS_IMPLICIT(lpArep) lpArep == &((AREP_GET_DREP(lpArep))->stIrep[0].stArepImplicit[0])
371 #define AREP_IMPLICIT_IS_USED(lpArep) (0 != lpArep->stARBlock.StationNameLength)
372 #define SET_AREP_IMPLICIT_USED(lpArep) lpArep->stARBlock.StationNameLength = 1
373 #define SET_AREP_IMPLICIT_UNUSED(lpArep) lpArep->stARBlock.StationNameLength = 0
375 APP_VOID Init_Arep (APP_LPVOID lpstIrep, LPST_AREP lpstarep);
376 APP_VOID Exit_Arep (LPST_AREP lpstArep);
377 APP_VOID Init_Arep_Implicit(APP_LPVOID lpstIrep, LPST_AREP lpstArep);
378 APP_VOID Exit_Arep_Implicit(LPST_AREP lpstArep);
379 APP_BOOL arepIsImplicit(LPST_AREP lpArep);
382 APP_BOOL SET_AREP_RPC(LPST_AREP lpArep, APP_WORD wInstance, APP_WORD wDeviceId, APP_WORD wVendorId , LPST_CLR_RPC_UUID lpuuidPROFINETIOConstantValue,APP_WORD wRPCPort);
385 APP_WORD getExpectedSubSlot(APP_DWORD dwAPI, APP_WORD wSlot, APP_WORD wSubSlot, LPST_AREP lpstArep, APP_LPBYTE *lppbySubSlot);
386 APP_WORD getExpectedSlot(APP_DWORD dwAPI, APP_WORD wSlot, LPST_AREP lpstArep, APP_LPBYTE *lppbySlot);
389 #ifdef PLATFORM_LITTLE_ENDIAN
390 #define GET_AREP_LITTLEENDIAN(arep) (APP_TRUE)
393 #ifndef PLATFORM_LITTLE_ENDIAN
394 #define GET_AREP_LITTLEENDIAN(arep) (APP_FALSE)
398 #define AREP_GET_AR_REQ(lpArep) &((lpArep)->stARBlock)
399 #define AREP_GET_IOCR_INPUT_REQ(lpArep) &(lpArep)->ListOfIOCRInputBlockReq
400 #define AREP_GET_IOCR_OUTPUT_REQ(lpArep) &(lpArep)->ListOfIOCROutpuBlockReq
401 #define AREP_GET_ALARM_REQ(lpArep) &(lpArep)->stAlarmBloc
402 #define AREP_GET_PRM_SERVER_REQ(lpArep) &(lpArep)->stPrmServerBloc
403 #define AREP_GET_MCR_SERVER_REQ(lpArep) &(lpArep)->stMcrBlockReq
407 #define AREP_GET_AR_ARTYPE(lpArep) ((lpArep)->stARBlock).ARType
408 #define AREP_GET_ARUUID(lpArep) (lpArep)->stARBlock.ARUUID
409 #define AREP_GET_AR_SESSION_KEY(lpArep) (lpArep)->stARBlock.SessionKey
410 #define AREP_GET_CMIOUUID(lpArep) (lpArep)->stARBlock.CMInitiatorObjectUUID
411 #define AREP_GET_AR_INITIATOR_MAC(lpArep) (lpArep)->stARBlock.CMInitiatorMacAdd
412 #define AREP_GET_AR_INITIATOR_TIMEOUT_FACTOR(lpArep) (lpArep)->stARBlock.CMInitiatorActivityTimeoutFactor
413 #define AREP_GET_AR_INITIATOR_NAME(lpArep) (lpArep)->stARBlock.CMInitiatorStationName
414 #define AREP_GET_AR_INITIATOR_NAME_LEN(lpArep) (lpArep)->stARBlock.StationNameLength
415 #define AREP_GET_CONTROLLER_IP(lpArep) (lpArep)->dwControllerIp
417 #define AREP_GET_AR_PROPERTIES(lpArep) (ALIGNED_DWORD_VALUE((lpArep)->stARBlock.ARProperties))
422 #define AREP_GET_DEVICE_SRC_ALARM_REFERENCE(lpArep) lpArep->stAlarmBloc.LocalAlarmReference
423 #define AREP_GET_DEVICE_ALARM_REFERENCE(lpArep) 0x0000
424 #define AREP_GET_DEVICE_MAX_ALARM_LEN(lpArep) MAX_ALARM_LENGTH_MIN_VALUE
425 #define AREP_GET_ALARM_RTA_TIMEOUT(lpArep) lpArep->stAlarmBloc.RTATimeoutFactor
426 #define AREP_GET_ALARM_RTA_RETRY(lpArep) lpArep->stAlarmBloc.RTARetries
427 #define AREP_GET_ALARM_PROPERTIES(lpArep) ALIGNED_DWORD_VALUE(lpArep->stAlarmBloc.AlarmCRProperties)
428 #define SUPPORT_ONLY_LOW_ALARMS 0X1
430 #define AREP_GET_PULL_ALARM_ALLOWED(lpArep) ( ( (ALIGNED_DWORD_VALUE((lpArep)->stARBlock.ARProperties))>>7 ) & 1 )
432 #define AREP_INIT(lpArep) (lpArep)->stPoolOfTmpExpectedConfiguration.lpFirstElement = APP_NULL; \
433 (lpArep)->stPoolOfTmpExpectedConfiguration.wSize = 0; \
434 (lpArep)->stPoolOfTmpExpectedConfiguration.wSizeElt = sizeof(ST_TEMPORARY_EC); \
435 (lpArep)->stPoolOfTmpExpectedConfiguration.wMaxElt = ( (HASH_KEY_MAX_API) * (HASH_KEY_MAX_SSLOT) * (HASH_KEY_MAX_SLOT) ); \
436 (lpArep)->stPoolOfCr.lpFirstElement = APP_NULL; \
437 (lpArep)->stPoolOfCr.wSize = 0; \
438 (lpArep)->stPoolOfCr.wSizeElt = sizeof(ST_CR); \
439 (lpArep)->stPoolOfCr.wMaxElt = MAX_CR_PER_AR; \
440 (lpArep)->wSeqAlarmNumber = 0; \
441 (lpArep)->wOldSeqAlarmNumber = 0;
445 #define INSERT_EC_INTO_CONFIG_STORAGE(lpstConfigStorage, lpstEc, dwStatus){\
447 dwStatus = OS_NOT_OK;\
448 for(dwI = 0; dwI < ((MAX_INSTANCE_PER_DEVICE * MAX_CONNEXION_PER_INSTANCE)); dwI++){\
449 if(APP_NULL == (lpstConfigStorage)->lpArrayOfstEc[dwI]){\
450 (lpstConfigStorage)->lpArrayOfstEc[dwI] = (lpstEc);\
457 #define GET_NB_EC_INTO_CONFIG_STORAGE(lpstConfigStorage, dwNbEc){\
460 for(dwI = 0; dwI < ((MAX_INSTANCE_PER_DEVICE * MAX_CONNEXION_PER_INSTANCE)); dwI++){\
461 if(APP_NULL != (lpstConfigStorage)->lpArrayOfstEc[dwI]){\
469 #define GET_INDEX_CR_FROM_CONFIG_STORAGE(lpstConfigStorage, lpstCr, dwIndex){\
471 dwIndex = ((APP_DWORD)-1);\
472 for(dwI = 0; dwI < ((MAX_INSTANCE_PER_DEVICE * MAX_CONNEXION_PER_INSTANCE)); dwI++){\
473 if(APP_NULL != (lpstConfigStorage)->lpArrayOfstEc[dwI]){\
474 HASH_TRACE("lpstCr (to find) 0x%lx \n", lpstCr);\
475 HASH_TRACE("lpstCr2 (comm) 0x%lx \n", ((lpstConfigStorage)->lpArrayOfstEc[dwI]->CommunicationRelation));\
476 HASH_TRACE("lpstCr3 (IOCR) 0x%lx \n", ((lpstConfigStorage)->lpArrayOfstEc[dwI]->CommunicationRelationIOCS));\
477 if( ((lpstConfigStorage)->lpArrayOfstEc[dwI]->CommunicationRelation) == lpstCr){\
479 HASH_TRACE("dwIndex %ld \n", dwIndex);\
482 if( ((lpstConfigStorage)->lpArrayOfstEc[dwI]->CommunicationRelationIOCS) == lpstCr){\
484 HASH_TRACE("dwIndex %ld \n", dwIndex);\
488 HASH_TRACE("End of list\n");\
494 #define REMOVE_AND_SHIFT_EC(lpstConfigStorage, dwIndex){\
496 for(dwI = dwIndex; dwI < (((MAX_INSTANCE_PER_DEVICE * MAX_CONNEXION_PER_INSTANCE)-1)); dwI++){\
497 (lpstConfigStorage)->lpArrayOfstEc[dwI] = (lpstConfigStorage)->lpArrayOfstEc[dwI+1];\
499 (lpstConfigStorage)->lpArrayOfstEc[dwI] = APP_NULL;\
504 APP_WORD CleanArep(LPST_AREP lpstArep, LPST_POOL lpstPoolEc, LPST_POOL lpstPoolTmpEc);
505 APP_WORD CleanIOSARArep(LPST_AREP lpstArep);
508 #define GET_AR_VERS(parep) &(parep)->stBlocVersion
509 #define GET_AR_VERS_HIGH(parep) (parep)->stBlocVersion.ARBlocVers.High
510 #define GET_AR_VERS_LOW(parep) (parep)->stBlocVersion.ARBlocVers.Low
511 #define SET_AR_VERS_HIGH(parep, version) (parep)->stBlocVersion.ARBlocVers.High = version
512 #define SET_AR_VERS_LOW(parep, version ) (parep)->stBlocVersion.ARBlocVers.Low = version
514 #define GET_IOCR_VERS_HIGH(parep) (parep)->stBlocVersion.IOCRBlocVers.High
515 #define GET_IOCR_VERS_LOW(parep) (parep)->stBlocVersion.IOCRBlocVers.Low
516 #define SET_IOCR_VERS_HIGH(parep, version) (parep)->stBlocVersion.IOCRBlocVers.High = version
517 #define SET_IOCR_VERS_LOW(parep, version ) (parep)->stBlocVersion.IOCRBlocVers.Low = version
519 #define GET_ALARM_VERS_HIGH(parep) (parep)->stBlocVersion.ALRMBlocVers.High
520 #define GET_ALARM_VERS_LOW(parep) (parep)->stBlocVersion.ALRMBlocVers.Low
521 #define SET_ALARM_VERS_HIGH(parep, version) (parep)->stBlocVersion.ALRMBlocVers.High = version
522 #define SET_ALARM_VERS_LOW(parep, version ) (parep)->stBlocVersion.ALRMBlocVers.Low = version
524 #define AREP_ARRPC_AVAILABLE(lpArep) APP_FALSE
525 #define AREP_GET_ARRPC_RESPONDER_SERVER_PORT(lpArep) 0x0000
527 #define GET_ARRPC_VERS_HIGH(parep) 1
528 #define GET_ARRPC_VERS_LOW(parep) 0
529 #define SET_ARRPC_VERS_HIGH(parep, version)
530 #define SET_ARRPC_VERS_LOW(parep, version )
536 #define AREP_SAVE_ALARM_SPECIFIER(lpArep) (lpArep)->wOldSeqAlarmNumber = (lpArep)->wSeqAlarmNumber
537 #define AREP_GET_OLD_ALARM_SPECIFIER(lpArep) (lpArep)->wOldSeqAlarmNumber
538 #define AREP_GET_ALARM_SPECIFIER(lpArep) (lpArep)->wSeqAlarmNumber
539 #define AREP_INCREMENT_ALARM_SPECIFIER(lpArep) if((lpArep)->wSeqAlarmNumber >= MAX_ALARM_SPECIFIER) {(lpArep)->wSeqAlarmNumber =0;} else {(lpArep)->wSeqAlarmNumber++;}
545 #define CHECK_AR_TYPE(a) APP_TRUE
550 #define AREP_ADD_CREP_PPM(lpstArep, lpCrep) arep_add_crep(lpstArep,lpCrep, IOCR_INPUT_CR)
552 #define AREP_ADD_CREP_CPM(lpstArep, lpCrep) arep_add_crep(lpstArep,lpCrep, IOCR_OUTPUT_CR)
556 #define AREP_LAST_CREP_IN(lpstArep) (arep_last_crep(lpstArep, IOCR_INPUT_CR ))
557 #define AREP_LAST_CREP_OUT(lpstArep)(arep_last_crep(lpstArep, IOCR_OUTPUT_CR))
560 APP_WORD arep_add_crep(LPST_AREP lpstArep, APP_HANDLE CREP, APP_DWORD dwIOCRType);
561 APP_WORD arep_last_crep(LPST_AREP lpstArep, APP_DWORD dwIOCRType);
562 LPST_CR arep_get_CR(LPST_AREP lpstArep, APP_DWORD dwIOCRType);
563 APP_WORD arep_check_IOCRReference_is_unique(LPST_AREP lpstArep, APP_WORD IOCRReference, APP_LPVOID lpvstIOCR);
565 APP_BOOL get_temporary_expected_conf(APP_DWORD dwApi,
568 LPST_EXPECTED_CONFIGURATION * lpstEC,
570 LPST_POOL lpstPoolEC,
571 LPST_POOL lpstPoolTmpEC);
574 APP_BOOL temporary_expected_conf_exist(APP_DWORD dwApi,
579 #define COMPARE_UNIQUE_STACK_ID(API, SLOT, SUB_SLOT, lpstUniqueStackID) ( (API == lpstUniqueStackID->dwAPI) && (SLOT == lpstUniqueStackID->wSlot) && (SUB_SLOT == lpstUniqueStackID->wSubSlot) )
580 #define GET_AREP_POOL_OF_CR(lpstAREP) (&((lpstAREP)->stPoolOfCr))
581 #define GET_AREP_POOL_OF_TMP_EC(lpstAREP) (&((lpstAREP)->stPoolOfTmpExpectedConfiguration))
586 #define GET_TEMPORARY_EXPECTED_CONF(API, SLOT, SUB_SLOT, EC, AREP, POOL_EC, POOL_TMP_EC) get_temporary_expected_conf(API, SLOT, SUB_SLOT, EC, AREP, POOL_EC, POOL_TMP_EC)
Definition: schedule.h:40