-- C module extracted from ITU-T Z.165 (03/2011)

/* 7.2.1 Abstract type mapping */ typedef BinaryString TriAddress; typedef struct TriAddressList { TriAddress** addrList; long int length; } TriAddressList; /* NOTE 1 – No special values mark the end of addrList[]. The length field shall be used to traverse this array properly. */ typedef struct TriComponentId { BinaryString compInst; String compName; QualifiedName compType; } TriComponentId; /* NOTE 2 – compInst is for component instance. */ typedef struct TriComponentIdList { TriComponentId** compIdList; long int length; } TriComponentIdList; /* NOTE 3 – No special values mark the end of compIdList[]. The length field shall be used to traverse this array properly. */ typedef BinaryString TriException; typedef QualifiedName TriFunctionId; typedef BinaryString TriMessage; typedef struct TriParameterList { TriParameter** parList; long int length; } TriParameterList; /* NOTE 4 – No special values mark the end of parList. The length field shall be used to traverse this array properly. */ typedef struct TriParameter { BinaryString par; TriParameterPassingMode mode; } TriParameter; typedef enum { TRI_IN = 0, TRI_INOUT = 1, TRI_OUT = 2 } TriParameterPassingMode; /* NOTE 5 – The values of instances of this type shall reflect the parameter passing mode defined in the corresponding TTCN3 procedure signatures. */ typedef struct TriPortIdList { TriPortId** portIdList; long int length; } TriPortIdList; /* NOTE 6 – No special values mark the end of portIdList[]. The length field shall be used to traverse this array properly. */ typedef struct TriPortId { TriComponentId compInst; char* portName; long int portIndex; QualifiedName portType; void* aux; } TriPortId; /* NOTE 7 – compInst is for component instance. NOTE 8 – For a singular (nonarray) declaration, the portIndex value should be –1. NOTE 9 – The aux field is for future extensibility of TRI functionality. */ typedef QualifiedName TriSignatureId; typedef long int TriStatus; #define TRI_ERROR 1 #define TRI_OK 0 /* NOTE 10 – All negative values are reserved for future extension of TRI functionality. */ typedef QualifiedName TriTestCaseId; typedef Double TriTimerDuration; typedef BinaryString TriTimerId; /* NOTE 11 – Pending ETSI statement on timer and snapshot semantics may influence future representation! */ /* 7.2.2 ANSI C type definitions */ typedef struct BinaryString { unsigned char* data; long int bits; void* aux; } BinaryString; /* NOTE 1 – data is a nonnullterminated string. NOTE 2 – bits is the number of bits used in data. bits value –1 is used to denote omitted value. NOTE 3 – The aux field is for future extensibility of TRI functionality. */ typedef struct QualifiedName { char* moduleName; char* objectName; void* aux; } QualifiedName; /* NOTE 4 – The moduleName and objectName fields are the TTCN3 identifiers literally. NOTE 5 – The aux field is for future extensibility of TRI functionality. */ /* 7.2.3 IDL type mapping */ /* From OMG IDL to C++ mapping */ typedef unsigned char Boolean; /* From OMG IDL to C++ mapping */ typedef char* String; /* 7.2.4 TRI operation mapping */ TriStatus triSAReset(); TriStatus triExecuteTestCase (const TriTestCaseId* testCaseId, const TriPortIdList* tsiPortList); TriStatus triMap (const TriPortId* compPortId, const TriPortId* tsiPortId); TriStatus triUnmap (const TriPortId* compPortId, const TriPortId* tsiPortId); TriStatus triEndTestCase(); TriStatus triSend (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriAddress* sutAddress, const TriMessage* sendMessage); TriStatus triSendBC (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriMessage* sendMessage); TriStatus triSendMC (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriAddressList* sutAddresses, const TriMessage* sendMessage); void triEnqueueMsg (const TriPortId* tsiPortId, const TriAddress* sutAddress, const TriComponentId* componentId, const TriMessage* receivedMessage); TriStatus triCall (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriAddress* sutAddress, const TriSignatureId* signatureId, const TriParameterList* parameterList); TriStatus triCallBC (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriSignatureId* signatureId, const TriParameterList* parameterList); TriStatus triCallMC (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriAddressList* sutAddresses, const TriSignatureId* signatureId, const TriParameterList* parameterList); TriStatus triReply (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriAddress* sutAddress, const TriSignatureId* signatureId, const TriParameterList* parameterList, const TriParameter* returnValue); TriStatus triReplyBC (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriSignatureId* signatureId, const TriParameterList* parameterList, const TriParameter* returnValue); TriStatus triReplyMC (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriAddressList* sutAddresses, const TriSignatureId* signatureId, const TriParameterList* parameterList, const TriParameter* returnValue); TriStatus triRaise (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriAddress* sutAddress, const TriSignatureId* signatureId, const TriException* exception); TriStatus triRaiseBC (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriSignatureId* signatureId, const TriException* exception); TriStatus triRaiseMC (const TriComponentId* componentId, const TriPortId* tsiPortId, const TriAddressList* sutAddresses, const TriSignatureId* signatureId, const TriException* exception); void triEnqueueCall (const TriPortId* tsiPortId, const TriAddress* sutAddress, const TriComponentId* componentId, const TriSignatureId* signatureId, const TriParameterList* parameterList); void triEnqueueReply (const TriPortId* tsiPortId, const TriAddress* sutAddress, const TriComponentId* componentId, const TriSignatureId* signatureId, const TriParameterList* parameterList, const TriParameter* returnValue); void triEnqueueException (const TriPortId* tsiPortId, const TriAddress* sutAddress, const TriComponentId* componentId, const TriSignatureId* signatureId, const TriException* exception); TriStatus triSUTActionInformal (const char* description); TriStatus triPAReset(); TriStatus triStartTimer (const TriTimerId* timerId, TriTimerDuration timerDuration); TriStatus triStopTimer (const TriTimerId* timerId); TriStatus triReadTimer (const TriTimerId* timerId, TriTimerDuration* elapsedTime); TriStatus triTimerRunning (const TriTimerId* timerId, unsigned char* running); void triTimeout (const TriTimerId* timerId); TriStatus triExternalFunction (const TriFunctionId* functionId, TriParameterList* parameterList, TriParameter* returnValue);