1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048 |
- /*
- * opcua_types.h
- *
- * Created on: Jan 07, 2014
- * Author: opcua
- */
- #ifndef OPCUA_TYPES_H_
- #define OPCUA_TYPES_H_
- #include "opcua_builtInDatatypes.h"
- typedef enum
- {
- ApplicationType_SERVER_0,
- ApplicationType_CLIENUA_1,
- ApplicationType_CLIENTANDSERVER_2,
- ApplicationType_DISCOVERYSERVER_3
- }
- UA_AD_ApplicationType;
- /**
- * Index
- * Part: 4
- * Chapter: 7.12
- * Page: 118
- */
- typedef UA_UInt32 UA_AD_Index;
- /**
- * IntegerId
- * Part: 4
- * Chapter: 7.13
- * Page: 118
- */
- typedef UA_UInt32 UA_AD_IntegerId;
- /**
- * ApplicationDescription
- * Part: 4
- * Chapter: 7.1
- * Page: 103
- */
- typedef struct
- {
- UA_String applicationUri;
- UA_String productUri;
- UA_LocalizedText applicationName;
- UA_AD_ApplicationType applicationType;
- UA_String gatewayServerUri;
- UA_String discoveryProfileUri;
- UInt16 noOfDiscoerUrls;
- UA_String* discoverUrls;
- }
- UA_AD_ApplicationDescription;
- /**
- * ApplicationInstanceCertificate
- * Part: 4
- * Chapter: 7.2
- * Page: 104
- */
- typedef struct
- {
- UA_String version;
- UA_ByteString serialNumber;
- UA_String signatureAlgorithm;
- UA_ByteString signature;
- //ToDo struct issuer //????????????? S. 108 table 104
- UA_DateTime validFrom;
- UA_DateTime valdiTo;
- //ToDo struct subject; //????????????? S. 108 table 104
- UA_String applicationUri;
- UInt16 noOfHostnames;
- UA_String* hostnames;
- UA_ByteString pubicKey;
- UInt16 noOfKeyUsages;
- UA_String* keyUsage;
- }
- UA_AD_ApplicationInstanceCertificate;
- /**
- * ContinuationPoint //ToDo
- * Part: 4
- * Chapter: 7.6
- * Page: 114
- */
- typedef struct UA_AD_ContinuationPoint
- {
- }
- UA_AD_ContinuationPoint;
- /**
- * ReferenceDescription
- * Part: 4
- * Chapter: 7.24
- * Page: 131
- */
- typedef struct
- {
- UA_NodeId referenceTypeId;
- Boolean isForward;
- UA_ExpandedNodeId nodeId;
- UA_QualifiedName browseName;
- UA_LocalizedText displayName;
- //ToDo UA_NodeClass nodeClass; //ToDo
- UA_ExpandedNodeId typeDefinition;
- }
- UA_AD_ReferenceDescription;
- /**
- * BrowseResult
- * Part: 4
- * Chapter: 7.3
- * Page: 104
- */
- typedef struct
- {
- UA_StatusCode statusCode;
- UA_AD_ContinuationPoint continuationPoint;
- UInt16 noOfReferences;
- UA_AD_ReferenceDescription *references;
- }
- UA_AD_BrowseResult;
- /**
- * Counter
- * Part: 4
- * Chapter: 7.5
- * Page: 113
- */
- typedef UA_UInt32 UA_Counter;
- /**
- * DataValue
- * Part: 4
- * Chapter: 7.7.1
- * Page: 114
- */
- typedef struct UA_AD_DataValue
- {
- UA_Variant value; // BaseDataType are mapped to a UA_Variant -> part: 6 chapter: 5.1.5 page: 14
- UA_StatusCode statusCode;
- UA_DateTime sourceTimestamp;
- //ToDo UInt //toBeDiscussed: Resolution of PicoSeconds
- UA_DateTime serverTimestamp;
- //ToDo UInt //toBeDiscussed: Resolution of PicoSeconds
- }UA_AD_DataValue;
- /**
- * DiagnosticInfo
- * Part: 4
- * Chapter: 7.9
- * Page: 116
- */
- typedef struct
- {
- //ToDo struct ???? identifier; identifier is only needed for encoding????
- Int32 namespaceUri;
- Int32 symbolicId;
- Int32 locale;
- Int32 localizesText;
- UA_String additionalInfo;
- UA_StatusCode innerStatusCode;
- struct _UA_DiagnosticInfo* innerDiagnosticInfo;
- }
- UA_AD_DiagnosticInfo;
- /**
- * MessageSecurityMode
- * Part: 4
- * Chapter: 7.14
- * Page: 118
- */
- typedef enum
- {
- MessageSecurityMode_INVALID_0 = 0,
- MessageSecurityMode_SIGN_1 = 1,
- MessageSecurityMode_SIGNANDENCRYPUA_2 = 2
- }
- UA_AD_MessageSecurityMode;
- /**
- * UserTokenPolicy
- * Part: 4
- * Chapter: 7.36
- * Page: 142
- */
- typedef struct
- {
- UA_String policyId;
- //ToDo UA_UserIdentityTokenType tokenType;
- UA_String issuedTokenType;
- UA_String issuerEndpointUrl;
- UA_String securityPolicyUri;
- }
- UA_AD_UserTokenPolicy;
- /**
- * EndpointDescription
- * Part: 4
- * Chapter: 7.9
- * Page: 116
- */
- typedef struct
- {
- UA_String endpointUrl;
- UA_AD_ApplicationDescription server;
- UA_AD_ApplicationInstanceCertificate serverCertificate;
- UA_AD_MessageSecurityMode securityMode;
- UA_String securityPolicyUri;
- UInt16 noOfUserIdentyTokens;
- UA_AD_UserTokenPolicy* useridentyTokens;
- UA_String transportProfileUri;
- UA_Byte securtiyLevel;
- }
- UA_AD_EndpointDescription;
- /**
- * ExpandedNodeId
- * Part: 4
- * Chapter: 7.10
- * Page: 117
- */
- typedef struct
- {
- UA_AD_Index serverIndex;
- UA_String namespaceUri;
- UA_AD_Index namespaveIndex;
- //ToDo enum BED_IdentifierType identiferType; //ToDo: Is the enumeration correct?
- //ToDo UA_NodeIdentifier identifier; //ToDo -> Part 3: Address Space Model
- }
- UA_AD_ExpandedNodeId;
- /**
- * ExtensibleParameter
- * Part: 4
- * Chapter: 7.11
- * Page: 117
- */
- typedef struct
- {
- UA_NodeId parameterTypeId;
- //ToDo -- parameterData; //toBeDiscussed
- }
- UA_AD_ExtensibleParameter;
- /**
- * DataChangeFilter
- * Part: 4
- * Chapter: 7.16.2
- * Page: 119
- */
- typedef struct
- {
- //ToDo enum BED_MonitoringFilter trigger = BED_MonitoringFilter.DATA_CHANGE_FILTER;
- UA_UInt32 deadbandType;
- UA_Double deadbandValue;
- }
- UA_AD_DataChangeFilter;
- /**
- * ContentFilter //ToDo
- * Part: 4
- * Chapter: 7.4.1
- * Page: 104
- */
- typedef struct
- {
- //ToDo struct BED_ContentFilterElement elements[]; //ToDo
- //ToDo enum BED_FilterOperand filterOperator; //ToDo table 110
- //ToDo struct BED_ExtensibleParamterFilterOperand filterOperands[]; //ToDo 7.4.4
- }
- UA_AD_ContentFilter;
- /**
- * EventFilter
- * Part: 4
- * Chapter: 7.16.3
- * Page: 120
- */
- typedef struct
- {
- //ToDo SimpleAttributeOperantd selectClauses[]; //ToDo
- //ToDo ContenFilter whereClause; //ToDo
- }
- UA_AD_EventFilter;
- typedef struct
- {
- UA_StatusCode selectClauseResults[3];
- UA_DiagnosticInfo selectClauseDiagnosticInfos[3];
- //ToDo UA_ContentFilterResult whereClauseResult;
- }
- UA_AD_EventFilterResult;
- /**
- * AggregateFilter
- * Part: 4
- * Chapter: 7.16.4
- * Page: 122
- */
- typedef struct
- {
- UA_DateTime startTime;
- UA_NodeId aggregateType;
- UA_Duration processingInterval;
- //ToDo AggregateConfiguration aggregateConfiguration; //ToDo
- Boolean useServerCapabilitiesDafaults;
- Boolean treatUncertainAsBad;
- UA_Byte percentDataBad;
- UA_Byte percentDataGood;
- Boolean steppedSlopedExtrapolation;
- }
- UA_AD_AggregateFilter;
- typedef struct
- {
- UA_DateTime revisedStartTime;
- UA_Duration revisedProcessingInterval;
- }
- UA_AD_AggregateFilterResult;
- /**
- * MonitoringParameters
- * Part: 4
- * Chapter: 7.15
- * Page: 118
- */
- typedef struct
- {
- UA_AD_IntegerId clientHandle;
- //ToDo Duration???? samplingInterval; //ToDo
- //ToDo struct BED_ExtensibleParameterMonitoringFilter filter //ToDo
- UA_Counter queueSize;
- Boolean discardOldest;
- }
- UA_AD_MonitoringParameters;
- //->ExtensibleParameter ->Part:4 Chapter:7.11 Page:117
- typedef struct //ToDo: Ist die Umsetzung des ExtensibleParameter korrekt?
- {
- //ToDo UA_MonitoringFilter parameterTypeId;
- UA_AD_DataChangeFilter dataChangeFilter;
- UA_AD_EventFilter eventFilter;
- UA_AD_AggregateFilter aggregateFilter;
- }
- UA_AD_ExtensibleParameterMonitoringFilter;
- /**
- * MonitoringFilter parameterTypeIds
- * Part: 4
- * Chapter: 7.16.1
- * Page: 119
- */
- typedef enum
- {
- MonitoringFilter_DATA_CHANGE_FILTER = 1,
- MonitoringFilter_EVENUA_FILTER = 2,
- MonitoringFilter_AGGREGATE_FILTER = 3
- }
- UA_AD_MonitoringFilter;
- /**
- * MonitoringMode
- * Part: 4
- * Chapter: 7.17
- * Page: 123
- */
- typedef enum
- {
- MonitoringModeValues_DISABLED_0 = 0, //The item being monitored is not sampled or evaluated, and Notifications are not generated or queued. Notification reporting is disabled.
- MonitoringModeValues_SAMPLING_1 = 1, //The item being monitored is sampled and evaluated, and Notifications are generated and queued. Notification reporting is disabled.
- MonitoringModeValues_REPORTING_2 = 2 //The item being monitored is sampled and evaluated, and Notifications are generated and queued. Notification reporting is enabled.
- }
- UA_AD_MonitoringModeValues;
- /**
- * NodeAttributes parameters
- * Part: 4
- * Chapter: 7.18.1
- * Page: 124
- */
- typedef enum
- {
- NodeAttributesParamterTypeIds_ObjectAttributes, //Defines the Attributes for the Object NodeClass.
- NodeAttributesParamterTypeIds_VariableAttributes, //Defines the Attributes for the Variable NodeClass.
- NodeAttributesParamterTypeIds_MethodAttributes, //Defines the Attributes for the Method NodeClass.
- NodeAttributesParamterTypeIds_ObjectTypeAttributes, //Defines the Attributes for the ObjectType NodeClass.
- NodeAttributesParamterTypeIds_VariableTypeAttributes, //Defines the Attributes for the VariableType NodeClass.
- NodeAttributesParamterTypeIds_ReferenceTypeAttributes,//Defines the Attributes for the ReferenceType NodeClass.
- NodeAttributesParamterTypeIds_DataTypeAttributes, //Defines the Attributes for the DataType NodeClass.
- NodeAttributesParamterTypeIds_ViewAttributes //Defines the Attributes for the View NodeClass.
- }
- UA_AD_NodeAttributesParamterTypeIds;
- typedef enum
- {
- NodeAttributesBitMask_AccessLevel = 1, //Bit: 0 Indicates if the AccessLevel Attribute is set.
- NodeAttributesBitMask_ArrayDimensions = 2, //Bit: 1 Indicates if the ArrayDimensions Attribute is set.
- //Reserved = 4, //Bit: 2 Reserved to be consistent with WriteMask defined in IEC 62541-3.
- NodeAttributesBitMask_ContainsNoLoops = 8, //Bit: 3 Indicates if the ContainsNoLoops Attribute is set.
- NodeAttributesBitMask_DataType = 16, //Bit: 4 Indicates if the DataType Attribute is set.
- NodeAttributesBitMask_Description = 32, //Bit: 5 Indicates if the Description Attribute is set.
- NodeAttributesBitMask_DisplayName = 64, //Bit: 6 Indicates if the DisplayName Attribute is set.
- NodeAttributesBitMask_EventNotifier = 128, //Bit: 7 Indicates if the EventNotifier Attribute is set.
- NodeAttributesBitMask_Executable = 256, //Bit: 8 Indicates if the Executable Attribute is set.
- NodeAttributesBitMask_Historizing = 512, //Bit: 9 Indicates if the Historizing Attribute is set.
- NodeAttributesBitMask_InverseName = 1024, //Bit:10 Indicates if the InverseName Attribute is set.
- NodeAttributesBitMask_IsAbstract = 2048, //Bit:11 Indicates if the IsAbstract Attribute is set.
- NodeAttributesBitMask_MinimumSamplingInterval = 4096, //Bit:12 Indicates if the MinimumSamplingInterval Attribute is set.
- //Reserved = 8192, //Bit:13 Reserved to be consistent with WriteMask defined in IEC 62541-3.
- //Reserved = 16384, //Bit:14 Reserved to be consistent with WriteMask defined in IEC 62541-3.
- NodeAttributesBitMask_Symmetric = 32768, //Bit:15 Indicates if the Symmetric Attribute is set.
- NodeAttributesBitMask_UserAccessLevel = 65536,//Bit:16 Indicates if the UserAccessLevel Attribute is set.
- NodeAttributesBitMask_UserExecutable = 131072,//Bit:17 Indicates if the UserExecutable Attribute is set.
- NodeAttributesBitMask_UserWriteMask = 262144, //Bit:18 Indicates if the UserWriteMask Attribute is set.
- NodeAttributesBitMask_ValueRank = 524288, //Bit:19 Indicates if the ValueRank Attribute is set.
- NodeAttributesBitMask_WriteMask = 1048576, //Bit:20 Indicates if the WriteMask Attribute is set.
- NodeAttributesBitMask_Value = 2097152 //Bit:21 Indicates if the Value Attribute is set.
- //Reserved //Bit:22:32 Reserved for future use. Shall always be zero.
- }
- UA_AD_NodeAttributesBitMask;
- /**
- * ObjectAttributes parameters
- * Part: 4
- * Chapter: 7.18.2
- * Page: 125
- */
- typedef struct
- {
- UA_UInt32 specifiedAttribute; //BitMask corresponding to BED_NodeAttributesBitMask
- UA_LocalizedText displayName;
- UA_LocalizedText description;
- UA_Byte eventNotifier;
- UA_UInt32 writeMask;
- UA_UInt32 userWriteMask;
- }
- UA_AD_ObjectAttributes;
- /**
- * VariableAttributes parameters
- * Part: 4
- * Chapter: 7.18.3
- * Page: 125
- */
- typedef struct
- {
- UA_UInt32 specifiedAttributes; //BitMask corresponding to BED_NodeAttributesBitMask
- UA_LocalizedText displayName;
- UA_LocalizedText description;
- //ToDo DefinedByTheDataTypeAttribte??? value //ToDo
- UA_NodeId dataType;
- Int32 valueRank;
- UInt16 noOfArrayDimensions;
- UA_UInt32* arrayDimensions;
- UA_Byte accessLevel;
- UA_Byte userAccesLevel;
- //ToDo Duration???? minimumSamplingInterval; //ToDo
- Boolean historizing;
- UA_UInt32 writeMask;
- UA_UInt32 userWriteMask;
- }
- UA_AD_VariableAttributes;
- /**
- * MethodAttributes parameters
- * Part: 4
- * Chapter: 7.18.4
- * Page: 125
- */
- typedef struct
- {
- UA_UInt32 specifiedAttributes; //BitMask corresponding to BED_NodeAttributesBitMask
- UA_LocalizedText displayName;
- UA_LocalizedText description;
- Boolean executable;
- Boolean userExecutable;
- UA_UInt32 writeMask;
- UA_UInt32 userWriteMask;
- }
- UA_AD_MethodAttributes;
- /**
- * ObjectTypeAttributes parameters
- * Part: 4
- * Chapter: 7.18.5
- * Page: 125
- */
- typedef struct
- {
- UA_UInt32 specifiedAttributes; //BitMask corresponding to BED_NodeAttributesBitMask
- UA_LocalizedText displayName;
- UA_LocalizedText description;
- Boolean isAbstract;
- UA_UInt32 wirteMask;
- UA_UInt32 userWriteMask;
- }
- UA_AD_ObjectTypeAttributes;
- /**
- * VariableTypeAttributes parameters
- * Part: 4
- * Chapter: 7.18.6
- * Page: 126
- */
- typedef struct
- {
- UA_UInt32 specifiedAttributes; //BitMask corresponding to BED_NodeAttributesBitMask
- UA_LocalizedText displayName;
- UA_LocalizedText description;
- //ToDo DefinedByTheDataTypeAttribte??? value //ToDo
- UA_NodeId dataType;
- Int32 valueRank;
- UInt16 noOfArrayDimensions;
- UA_UInt32* arrayDimesions;
- Boolean isAbstract;
- UA_UInt32 writeMask;
- UA_UInt32 userWriteMask;
- }
- UA_AD_VariableTypeAttributes;
- /**
- * ReferenceTypeAttributes parameters
- * Part: 4
- * Chapter: 7.18.7
- * Page: 126
- */
- typedef struct
- {
- UA_UInt32 specifiedAttributes; //BitMask corresponding to BED_NodeAttributesBitMask
- UA_LocalizedText displayName;
- UA_LocalizedText description;
- Boolean isAbstract;
- Boolean symmetric;
- UA_LocalizedText inverseName;
- UA_UInt32 writeMask;
- UA_UInt32 userWriteMask;
- }
- UA_AD_ReferenceTypeAttributes;
- /**
- * DataTypeAttributes parameters
- * Part: 4
- * Chapter: 7.18.8
- * Page: 126
- */
- typedef struct
- {
- UA_UInt32 specifiedAttributes; //BitMask corresponding to BED_NodeAttributesBitMask
- UA_LocalizedText displayName;
- UA_LocalizedText description;
- Boolean isAbstract;
- UA_UInt32 writeMask;
- UA_UInt32 userWriteMask;
- }
- UA_AD_DataTypeAttributes;
- /**
- * ViewAttributes parameters
- * Part: 4
- * Chapter: 7.18.9
- * Page: 127
- */
- typedef struct
- {
- UA_UInt32 specifiedAttributes; //BitMask corresponding to BED_NodeAttributesBitMask
- UA_LocalizedText displayName;
- UA_LocalizedText description;
- Boolean containsNoLoops;
- UA_Byte eventNotifier;
- UA_UInt32 writeMask;
- UA_UInt32 userWriteMask;
- }
- UA_AD_ViewAttributes;
- /**
- * NotificationData parameters
- * Part: 4
- * Chapter: 7.19
- * Page: 127
- */
- typedef enum
- {
- NotificationDataParameterTypeIds_DATA_CHANGE = 1,
- NotificationDataParameterTypeIds_EVENT = 2,
- NotificationDataParameterTypeIds_STATUS_CHANGE = 3
- }
- UA_AD_NotificationDataParameterTypeIds;
- /**
- * DataChangeNotification parameter
- * Part: 4
- * Chapter: 7.19.2
- * Page: 127
- */
- typedef struct UA_DataChangeNotification
- {
- //ToDo struct BED_MonitoredItemNotification monitoredItems[]; //ToDo
- UA_AD_IntegerId clientHandle;
- UA_DataValue value;
- UInt16 noOfdiagnosticInfos;
- UA_DiagnosticInfo* diagnosticInfos;
- }
- UA_AD_DataChangeNotification;
- /**
- * EventNotificationList parameter
- * Part: 4
- * Chapter: 7.19.3
- * Page: 128
- */
- typedef struct
- {
- //ToDo struct EventFieldList events[]; //ToDo
- UA_AD_IntegerId clientHandle;
- UInt16 noOfEventFields;
- UA_Variant* eventFields; // BaseDataType are mapped to a UA_Variant -> part: 6 chapter: 5.1.5 page: 14
- }
- UA_AD_EventNotificationList;
- /**
- * StatusChangeNotification parameter
- * Part: 4
- * Chapter: 7.19.4
- * Page: 128
- */
- typedef struct
- {
- UA_StatusCode status;
- UA_DiagnosticInfo diagnosticInfo;
- }
- UA_AD_StatusChangeNotification;
- /**
- * NotificationMessage
- * Part: 4
- * Chapter: 7.20
- * Page: 129
- */
- //->ExtensibleParameter ->Part:4 Chapter:7.11 Page:117
- typedef struct //ToDo: Ist die Umsetzung des ExtensibleParameter korrekt?
- {
- UA_AD_NotificationDataParameterTypeIds parameterTypeId;
- UA_AD_DataChangeNotification dataChange;
- UA_AD_EventNotificationList event;
- UA_AD_StatusChangeNotification statusChange;
- }
- UA_AD_ExtensibleParameterNotificationData;
- typedef struct
- {
- UA_Counter sequenceNumber;
- UA_DateTime publishTime;
- UInt16 noOfNotificationData;
- UA_AD_ExtensibleParameterNotificationData* notificationData;
- }
- UA_AD_NotificationMessage;
- /**
- * NumericRange
- * Part: 4
- * Chapter: 7.21
- * Page: 129
- */
- typedef UA_String UA_NumericRange;
- /**
- * QueryDataSet
- * Part: 4
- * Chapter: 7.22
- * Page: 130
- */
- typedef struct
- {
- UA_ExpandedNodeId nodeId;
- UA_ExpandedNodeId typeDefinitionNode;
- UInt16 noOfValues;
- UA_Variant* values; // BaseDataType are mapped to a UA_Variant -> part: 6 chapter: 5.1.5 page: 14
- }
- UA_AD_QueryDataSet;
- /**
- * ReadValueId
- * Part: 4
- * Chapter: 7.23
- * Page: 130
- */
- typedef struct
- {
- UA_NodeId nodeId;
- UA_AD_IntegerId attributeId;
- UA_NumericRange indexRange;
- UA_QualifiedName dataEncoding;
- }
- UA_AD_ReadValueId;
- /**
- * RelativePath
- * Part: 4
- * Chapter: 7.25
- * Page: 131
- */
- typedef struct
- {
- //ToDo struct BED_RelativePathElement elements[]; //ToDo
- UA_NodeId referenceTypeId;
- Boolean isInverse;
- Boolean includeSubtypes;
- UA_QualifiedName targetName;
- }
- UA_AD_RelativePath;
- /**
- * RequestHeader
- * Part: 4
- * Chapter: 7.26
- * Page: 132
- */
- typedef struct
- {
- UA_NodeId authenticationToken;
- UA_DateTime timestamp;
- UA_AD_IntegerId requestHandle;
- UA_UInt32 returnDiagnostics;
- UA_String auditEntryId;
- UA_UInt32 timeoutHint;
- UA_ExtensionObject additionalHeader;
- }
- UA_AD_RequestHeader;
- typedef enum
- {
- RequestReturnDiagnositcs_SERVICE_LEVEL_SYMBOLIC_ID = 1, //Hex 0x01
- RequestReturnDiagnositcs_SERVICE_LEVEL_LOCALIZED_TEXT= 2, //Hex 0x02
- RequestReturnDiagnositcs_SERVICE_LEVEL_ADDITIONAL_INFO = 4, //Hex 0x04
- RequestReturnDiagnositcs_SERVICE_LEVEL_INNER_STATUS_CODE = 8, //Hex 0x08
- RequestReturnDiagnositcs_SERVICE_LEVEL_INNER_DIAGNOSTICS = 16, //Hex 0x10
- RequestReturnDiagnositcs_OPERATION_LEVEL_SYMBOLIC_ID = 32, //Hex 0x20
- RequestReturnDiagnositcs_OPERATION_LEVEL_LOCALIZED_TEXT= 64, //Hex 0x40
- RequestReturnDiagnositcs_OPERATION_LEVEL_ADDITIONAL_INFO = 128, //Hex 0x80
- RequestReturnDiagnositcs_OPERATION_LEVEL_INNER_STATUS_CODE = 256, //Hex 0x100
- RequestReturnDiagnositcs_OPERATION_LEVEL_INNER_DIAGNOSTICS = 512 //Hex 0x200
- }
- UA_AD_RequestReturnDiagnositcs;
- /**
- * ResponseHeader
- * Part: 4
- * Chapter: 7.27
- * Page: 133
- */
- typedef struct UA_AD_ResponseHeader
- {
- UA_DateTime timestamp;
- UA_AD_IntegerId requestHandle;
- UA_StatusCode serviceResult;
- UA_DiagnosticInfo *serviceDiagnostics;
- Int16 noOfStringTable; // Unsigned: -1 == Empty Array
- UA_String** stringTable; // this is an array of strings, i.e. String** or String* ... []
- UA_ExtensionObject *additionalHeader;
- }
- UA_AD_ResponseHeader;
- /**
- * ServiceFault
- * Part: 4
- * Chapter: 7.28
- * Page: 133
- */
- typedef struct
- {
- UA_AD_ResponseHeader responseHeader;
- }
- UA_AD_ServiceFault;
- //ToDo: Own DataType with typeDef?
- /**
- * SessionAuthenticationToken
- * Part: 4
- * Chapter: 7.29
- * Page: 133
- */
- /**
- * SignatureData
- * Part: 4
- * Chapter: 7.30
- * Page: 135
- */
- typedef struct
- {
- UA_ByteString signature;
- UA_String agorithm;
- }
- UA_AD_SignatureData;
- /**
- * SignedSoftwareCertificate
- * Part: 4
- * Chapter: 7.31
- * Page: 135
- */
- typedef struct
- {
- UA_String version;
- UA_ByteString serialNumber;
- UA_String signatureAlgorithm;
- UA_ByteString signature;
- //ToDo struct issuer //ToDo: ??? struct?
- UA_DateTime validFrom;
- UA_DateTime validTo;
- //ToDo struct subject; //ToDo: ??? struct?
- //ToDo struct subjectAltName[]; //ToDo: ??? struct?
- UA_ByteString publicKey;
- UInt16 noOfKeyUsage;
- UA_String* keyUsage;
- UA_ByteString softwareCertificate;
- }
- UA_AD_SignedSoftwareCertificate;
- /**
- * SoftwareCertificate
- * Part: 4
- * Chapter: 7.32
- * Page: 135
- */
- typedef enum
- {
- ComplianceLevel_UNTESTED_0 = 0, //the profiled capability has not been tested successfully.
- ComplianceLevel_PARTIAL_1 = 1, //the profiled capability has been partially tested and has
- //passed critical tests, as defined by the certifying authority.
- ComplianceLevel_SELFTESTED_2 = 2, //the profiled capability has been successfully tested using a
- //self-test system authorized by the certifying authority.
- ComplianceLevel_CERTIFIED_3 = 3 //the profiled capability has been successfully tested by a
- //testing organisation authorized by the certifying authority.
- }
- UA_AD_ComplianceLevel;
- typedef struct
- {
- UA_String oranizationUri;
- UA_String profileId;
- UA_String complianceTool;
- UA_DateTime complianceDate;
- UA_AD_ComplianceLevel complianceLevel;
- UInt16 noOfUnsupportedUnitIds;
- UA_String* unsupportedUnitIds;
- }
- UA_AD_SupportedProfiles;
- typedef struct
- {
- UA_String productName;
- UA_String productUri;
- UA_String vendorName;
- UA_ByteString vendorProductCertificate;
- UA_String softwareVersion;
- UA_String buildNumber;
- UA_DateTime buildDate;
- UA_String issuedBy;
- UA_DateTime issueDate;
- //ToDo UA_ByteString vendorProductCertificate; //Name is double in this struct
- UA_AD_SupportedProfiles supportedProfiles;
- }
- UA_AD_SoftwareCertificate;
- /**
- * StatusCode //ToDo: Do we need them? How do we implement them (enum)?
- * Part: 4
- * Chapter: 7.33
- * Page: 136
- */
- /**
- * TimestampsToReturn
- * Part: 4
- * Chapter: 7.34
- * Page: 140
- */
- typedef enum
- {
- TimestampsToReturn_SOURCE_0 = 1, //Return the source timestamp.
- //If used in HistoryRead the source timestamp is used to determine which historical data values are returned.
- TimestampsToReturn_SERVER_1 = 1, //Return the Server timestamp.
- //If used in HistoryRead the Server timestamp is used to determine which historical data values are returned.
- TimestampsToReturn_BOTH_2 = 2, //Return both the source and Server timestamps.
- //If used in HistoryRead the source timestamp is used to determine which historical data values are returned.
- TimestampsToReturn_NEITHER_3 = 3 //Return neither timestamp.
- //This is the default value for MonitoredItems if a Variable value is not being accessed.
- //For HistoryRead this is not a valid setting.
- }
- UA_AD_TimestampsToReturn;
- /**
- * UserIdentityToken Encrypted Token Format
- * Part: 4
- * Chapter: 7.35.1
- * Page: 140
- */
- typedef struct
- {
- UA_Byte length[4];
- UInt16 noOfTokenData;
- UA_Byte* tokenData;
- UInt16 noOfServerNonce;
- UA_Byte* serverNonce;
- }
- UA_AD_UserIdentityTokenEncryptedTokenFormat;
- /**
- * AnonymousIdentityToken
- * Part: 4
- * Chapter: 7.35.2
- * Page: 141
- */
- typedef struct
- {
- UA_String policyId;
- }
- UA_AD_AnonymousIdentityToken;
- /**
- * UserNameIdentityToken
- * Part: 4
- * Chapter: 7.35.3
- * Page: 141
- */
- typedef struct
- {
- UA_String policyId;
- UA_String userName;
- UA_ByteString password;
- UA_String encryptionAlogrithm;
- }
- UA_AD_UserNameIdentityToken;
- /**
- * X509IdentityTokens
- * Part: 4
- * Chapter: 7.35.4
- * Page: 141
- */
- typedef struct
- {
- UA_String policyId;
- UA_ByteString certificateData;
- }
- UA_AD_X509IdentityTokens;
- /**
- * IssuedIdentityToken
- * Part: 4
- * Chapter: 7.35.5
- * Page: 142
- */
- typedef struct
- {
- UA_String policyId;
- UA_ByteString tokenData;
- UA_String encryptionAlgorithm;
- }
- UA_AD_IssuedIdentityToken;
- /**
- * ViewDescription
- * Part: 4
- * Chapter: 7.37
- * Page: 143
- */
- typedef struct
- {
- UA_NodeId viewId;
- UA_DateTime timestamp;
- UA_UInt32 viewVersion;
- }
- UA_AD_ViewDescription;
- #endif /* OPCUA_TYPES_H_ */
|