20#ifndef SOPC_BUILTINTYPES_H_
21#define SOPC_BUILTINTYPES_H_
34#include "s2opc_common_export.h"
41#define SOPC_GoodGenericStatus 0x00000000
46#define SOPC_GoodStatusOppositeMask 0xC0000000
59#define SOPC_UncertainStatusMask 0x40000000
60#define SOPC_BadStatusMask 0x80000000
65#define SOPC_DataValueOverflowStatusMask 0x00000480
136#define SOPC_BUILTINID_MAX 25
399#define SOPC_VARIANT_GET_ARRAY_VALUES_PTR(pVar, eltTypeName) \
400 (SOPC_VariantArrayType_Array == pVar->ArrayType \
401 ? pVar->Value.Array.Content.eltTypeName##Arr \
402 : (SOPC_VariantArrayType_Matrix == pVar->ArrayType ? pVar->Value.Matrix.Content.eltTypeName##Arr : NULL))
404#define SECURITY_POLICY_NONE "http://opcfoundation.org/UA/SecurityPolicy#None"
405#define SECURITY_POLICY_BASIC128RSA15 "http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"
406#define SECURITY_POLICY_BASIC256 "http://opcfoundation.org/UA/SecurityPolicy#Basic256"
407#define SECURITY_POLICY_BASIC256SHA256 "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
641 int32_t* comparison);
760 int32_t* comparison);
801 int32_t* comparison);
858#define SOPC_NS0_NUMERIC_NODEID(opcUaId) \
860 SOPC_IdentifierType_Numeric, 0, .Data.Numeric = opcUaId \
871 int32_t* comparison);
893 int32_t* comparison);
906 int32_t* comparison);
921 int32_t* comparison);
971 char** supportedLocaleIds,
991 char** preferredLocaleIds,
996 char** preferredLocaleIds,
997 int32_t nbLocalizedText,
1020 int32_t* comparison);
1060 int32_t* compResult);
1118 const void* compCustomContext,
1121 int32_t* comparison);
1125 int32_t* comparison);
1128 const void* compCustomContext,
1132 int32_t* comparison);
1210 int32_t* comparison);
1219 void* eltsArrayDest,
1220 const void* eltsArraySrc,
1224 const void* eltsArrayLeft,
1225 const void* eltsArrayRight,
1228 int32_t* comparisonResult);
1230 const void* eltsArrayLeft,
1231 const void* eltsArrayRight,
1234 const void* customCompContext,
1236 int32_t* comparisonResult);
#define S2OPC_COMMON_EXPORT
Definition s2opc_common_export.h:33
void SOPC_Variant_InitializeAux(void *value)
void SOPC_StatusCode_Clear(SOPC_StatusCode *status)
bool SOPC_ByteString_Equal(const SOPC_ByteString *left, const SOPC_ByteString *right)
Compare the content of two specific builtintype pointer and return true or false according to the res...
S2OPC_COMMON_EXPORT const SOPC_NodeId * SOPC_BuiltInTypeId_To_DataTypeNodeId[26]
void SOPC_Variant_ClearAux(void *value)
SOPC_String SOPC_XmlElement
Definition sopc_builtintypes.h:154
SOPC_ReturnStatus SOPC_DateTime_Compare(const SOPC_DateTime *left, const SOPC_DateTime *right, int32_t *comparison)
void SOPC_UInt16_Initialize(uint16_t *uint)
SOPC_ReturnStatus SOPC_UInt64_CopyAux(void *dest, const void *src)
SOPC_ReturnStatus SOPC_Null_CompareAux(const void *dest, const void *src, int32_t *comparison)
void SOPC_QualifiedName_Clear(SOPC_QualifiedName *qname)
void SOPC_DiagnosticInfo_InitializeAux(void *value)
struct SOPC_BuiltInType_Handling SOPC_BuiltInType_Handling
Built-in type handling. Provides all the generic service functions associated with a built-in type (e...
void SOPC_NodeId_Clear(SOPC_NodeId *nodeId)
void SOPC_UInt32_Clear(uint32_t *uint)
SOPC_ReturnStatus SOPC_Variant_Copy(SOPC_Variant *dest, const SOPC_Variant *src)
void SOPC_Int64_ClearAux(void *value)
void SOPC_Byte_Clear(SOPC_Byte *byte)
void SOPC_ExpandedNodeId_Initialize(SOPC_ExpandedNodeId *expNodeId)
char * SOPC_Guid_ToCString(const SOPC_Guid *guid)
_SOPC_IdentifierType
This enum provides fundamental identifier type.
Definition sopc_builtintypes.h:178
@ SOPC_IdentifierType_String
Definition sopc_builtintypes.h:180
@ SOPC_IdentifierType_ByteString
Definition sopc_builtintypes.h:182
@ SOPC_IdentifierType_Guid
Definition sopc_builtintypes.h:181
@ SOPC_IdentifierType_Numeric
Definition sopc_builtintypes.h:179
SOPC_ReturnStatus SOPC_Int32_CopyAux(void *dest, const void *src)
const char * SOPC_String_GetRawCString(const SOPC_String *string)
Retrieve the raw C-String of a SOPC_String pointer or '\0' for a SOPC_String with length <= 0.
SOPC_ReturnStatus SOPC_DataValue_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_QualifiedName_Initialize(SOPC_QualifiedName *qname)
void SOPC_NodeId_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_UInt32_CopyAux(void *dest, const void *src)
void SOPC_Int16_Clear(int16_t *intv)
void SOPC_DataValue_Initialize(SOPC_DataValue *dataValue)
SOPC_NodeId * SOPC_Variant_Get_DataType(const SOPC_Variant *var)
Returns the DataType identifier of the given variant as a newly allocated NodeId For built-in types e...
_SOPC_VariantArrayType
Definition sopc_builtintypes.h:288
@ SOPC_VariantArrayType_SingleValue
Definition sopc_builtintypes.h:289
@ SOPC_VariantArrayType_Array
Definition sopc_builtintypes.h:290
@ SOPC_VariantArrayType_Matrix
Definition sopc_builtintypes.h:291
void SOPC_UInt32_ClearAux(void *value)
int32_t SOPC_Variant_Get_ValueRank(const SOPC_Variant *var)
union SOPC_VariantValue SOPC_VariantValue
This union provides all possible contents for Variant, depending on their SOPC_BuiltinId.
SOPC_ReturnStatus SOPC_SByte_CopyAux(void *dest, const void *src)
SOPC_ReturnStatus SOPC_ExpandedNodeId_Copy(SOPC_ExpandedNodeId *dest, const SOPC_ExpandedNodeId *src)
void SOPC_Double_ClearAux(void *value)
SOPC_ReturnStatus SOPC_String_Compare(const SOPC_String *left, const SOPC_String *right, bool ignoreCase, int32_t *comparison)
Compare the content of a String pointer to another one and set the result in the comparison parameter...
void SOPC_NodeId_ClearAux(void *value)
_SOPC_ExtObjectBodyEncoding
This enum provides additional information on which data type format transported.
Definition sopc_builtintypes.h:250
@ SOPC_ExtObjBodyEncoding_XMLElement
Definition sopc_builtintypes.h:253
@ SOPC_ExtObjBodyEncoding_ByteString
Definition sopc_builtintypes.h:252
@ SOPC_ExtObjBodyEncoding_Object
Definition sopc_builtintypes.h:254
@ SOPC_ExtObjBodyEncoding_None
Definition sopc_builtintypes.h:251
int8_t SOPC_SByte
Definition sopc_builtintypes.h:142
SOPC_ReturnStatus SOPC_DiagnosticInfo_Compare(const SOPC_DiagnosticInfo *left, const SOPC_DiagnosticInfo *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_DiagnosticInfo_CompareAux(const void *left, const void *right, int32_t *comparison)
struct SOPC_ExpandedNodeId SOPC_ExpandedNodeId
ExpandedNodeId allows the namespace to be specified explicitly as a string or with an index in the Se...
#define SOPC_BUILTINID_MAX
Definition sopc_builtintypes.h:136
SOPC_ReturnStatus SOPC_NodeId_InitializeFromCString(SOPC_NodeId *pNid, const char *cString, int32_t len)
Initializes a NodeId from a normalized C string. See SOPC_String_InitializeFromCString.
SOPC_ReturnStatus SOPC_String_AttachFromCstring(SOPC_String *dest, const char *src)
Create a shallow copy of src (C-String) into dest. The src string must not be freed/modified before d...
void SOPC_Clear_Array(int32_t *noOfElts, void **eltsArray, size_t sizeOfElt, SOPC_EncodeableObject_PfnClear *clearFct)
SOPC_ReturnStatus SOPC_DataValue_Compare(const SOPC_DataValue *left, const SOPC_DataValue *right, int32_t *comparison)
enum _SOPC_VariantArrayTypeFlag SOPC_VariantArrayTypeFlag
void SOPC_Int16_ClearAux(void *value)
SOPC_ReturnStatus SOPC_Null_CopyAux(void *dest, const void *src)
SOPC_String * SOPC_String_Create(void)
void SOPC_Boolean_Initialize(SOPC_Boolean *b)
Initialize a pointer for a specific builtintype (Boolean, String, Int16...)
void SOPC_Guid_Clear(SOPC_Guid *guid)
SOPC_ReturnStatus SOPC_Boolean_CopyAux(void *dest, const void *src)
Copy the content of a generic pointer to another one.
SOPC_ReturnStatus SOPC_Guid_CopyAux(void *dest, const void *src)
void SOPC_Byte_ClearAux(void *value)
SOPC_ReturnStatus SOPC_ExtensionObject_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_DiagnosticInfo_Clear(SOPC_DiagnosticInfo *diagInfo)
uint8_t SOPC_Byte
Definition sopc_builtintypes.h:138
SOPC_ReturnStatus SOPC_XmlElement_Compare(const SOPC_XmlElement *left, const SOPC_XmlElement *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_ExtensionObject_CopyAux(void *dest, const void *src)
void SOPC_DateTime_Clear(SOPC_DateTime *dateTime)
void SOPC_NodeId_Hash(const SOPC_NodeId *nodeId, uint64_t *hash)
void SOPC_StatusCode_ClearAux(void *value)
void SOPC_ByteString_ClearAux(void *value)
void SOPC_ExtensionObject_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_QualifiedName_Compare(const SOPC_QualifiedName *left, const SOPC_QualifiedName *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_Byte_CopyAux(void *dest, const void *src)
char * SOPC_String_GetCString(const SOPC_String *string)
Retrieve the C-String of a SOPC_String pointer or '\0' for a SOPC_String with length <= 0.
struct SOPC_DataValue SOPC_DataValue
Each attribute in OPC UA has a DataValue caracterized by the following structure.
struct SOPC_NodeId SOPC_NodeId
This structure describes a basic NodeID in OPC UA.
void SOPC_UInt32_Initialize(uint32_t *uint)
struct SOPC_QualifiedName SOPC_QualifiedName
void SOPC_LocalizedText_ClearAux(void *value)
SOPC_ReturnStatus SOPC_Variant_SetRange(SOPC_Variant *dst, const SOPC_Variant *src, const SOPC_NumericRange *range)
void SOPC_Byte_InitializeAux(void *value)
void SOPC_Variant_Print(const SOPC_Variant *variant)
void SOPC_NodeId_Initialize(SOPC_NodeId *nodeId)
SOPC_ReturnStatus SOPC_ExtensionObject_Compare(const SOPC_ExtensionObject *left, const SOPC_ExtensionObject *right, int32_t *comparison)
void SOPC_Guid_ClearAux(void *value)
bool SOPC_Variant_Initialize_Array(SOPC_Variant *var, SOPC_BuiltinId builtInId, int32_t length)
Initialize a Variant as an array of given length. Do not initialize existing variants without clearin...
SOPC_ReturnStatus SOPC_UInt32_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_Int64_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_Variant * SOPC_Variant_Create(void)
allocates and return a SOPC_Variant
SOPC_ReturnStatus SOPC_DateTime_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_SByte_Initialize(SOPC_SByte *sbyte)
SOPC_ReturnStatus SOPC_DataValue_Copy(SOPC_DataValue *dest, const SOPC_DataValue *src)
void SOPC_ByteString_Delete(SOPC_ByteString *bstring)
Free a specific builtintype pointer thus it will transform it into an invalid pointer.
void SOPC_ByteString_Clear(SOPC_ByteString *bstring)
SOPC_ReturnStatus SOPC_Variant_ShallowCopy(SOPC_Variant *dst, const SOPC_Variant *src)
SOPC_ReturnStatus SOPC_Variant_Dump(SOPC_Buffer *buf, const SOPC_Variant *variant)
Print the variant into the buffer data bytes from the buffer position (adapting buffer position and l...
SOPC_Byte SOPC_Boolean
Definition sopc_builtintypes.h:140
void SOPC_Float_Clear(float *f)
SOPC_ReturnStatus SOPC_QualifiedName_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_LocalizedText_CopyToArray(SOPC_LocalizedText **dstArray, int32_t *nbElts, const SOPC_LocalizedText *srcSetOfLt)
Copy into a new LocalizedText array the content of a LocalizedText set (or single value).
SOPC_ReturnStatus SOPC_Int32_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_Float_CopyAux(void *dest, const void *src)
void SOPC_Double_Clear(double *d)
void SOPC_Int16_InitializeAux(void *value)
char ** SOPC_String_GetCStringArray(int32_t nbOfStrings, SOPC_String *stringArray)
Returns a NULL terminated C-string array copying the strings.
void SOPC_Variant_Delete(SOPC_Variant *variant)
SOPC_ReturnStatus SOPC_LocalizedText_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_DataValue_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_NodeId_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_Variant_GetRange(SOPC_Variant *dst, const SOPC_Variant *src, const SOPC_NumericRange *range)
SOPC_ReturnStatus SOPC_StatusCode_CopyAux(void *dest, const void *src)
SOPC_ReturnStatus SOPC_SByte_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_ExpandedNodeId_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_ExpandedNodeId_Compare(const SOPC_ExpandedNodeId *left, const SOPC_ExpandedNodeId *right, int32_t *comparison)
void SOPC_UInt64_ClearAux(void *value)
SOPC_ReturnStatus SOPC_ByteString_Compare(const SOPC_ByteString *left, const SOPC_ByteString *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_QualifiedName_ParseCString(SOPC_QualifiedName *qname, const char *str)
int64_t SOPC_DateTime
OPC UA timestamp format which is 100 nanoseconds from 1601/01/01 00:00:00 UTC.
Definition sopc_builtintypes.h:160
SOPC_ByteString * SOPC_ByteString_Create(void)
Create a valid specific builtintype pointer.
struct SOPC_LocalizedText SOPC_LocalizedText
struct SOPC_ExtensionObject SOPC_ExtensionObject
An ExtensionObject is a container for any Structured DataTypes which cannot be encoded as one of the ...
SOPC_ReturnStatus SOPC_UInt16_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_ByteString_CopyAux(void *dest, const void *src)
SOPC_ReturnStatus SOPC_String_AttachFrom(SOPC_String *dest, SOPC_String *src)
Create a shallow copy of src into dest. The src string must not be cleared before dest is cleared.
void SOPC_Guid_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_LocalizedText_Compare(const SOPC_LocalizedText *left, const SOPC_LocalizedText *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_String_CopyFromCString(SOPC_String *string, const char *cString)
Copy a C-String to the Data field of the SOPC_String object.
void SOPC_String_ClearAux(void *value)
void SOPC_DateTime_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_UInt16_CopyAux(void *dest, const void *src)
SOPC_ReturnStatus SOPC_ByteString_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_LocalizedText_CopyAux(void *dest, const void *src)
bool SOPC_NodeId_Equal(const SOPC_NodeId *left, const SOPC_NodeId *right)
SOPC_ReturnStatus SOPC_Int16_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_Float_Initialize(float *f)
void SOPC_LocalizedText_Clear(SOPC_LocalizedText *localizedText)
SOPC_ReturnStatus SOPC_Comp_Array(int32_t noOfElts, const void *eltsArrayLeft, const void *eltsArrayRight, size_t sizeOfElt, SOPC_EncodeableObject_PfnComp *compFct, int32_t *comparisonResult)
SOPC_ReturnStatus SOPC_LocalizedText_GetPreferredLocale(SOPC_LocalizedText *dest, char **preferredLocaleIds, const SOPC_LocalizedText *srcSetOfLt)
Set the single localized text dest with preferred locale from the multiple localized texts contained ...
void SOPC_Float_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_Double_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_DateTime_ClearAux(void *value)
void SOPC_ExpandedNodeId_ClearAux(void *value)
void SOPC_Variant_Clear(SOPC_Variant *variant)
void SOPC_Guid_Initialize(SOPC_Guid *guid)
SOPC_ReturnStatus SOPC_Int64_CopyAux(void *dest, const void *src)
void SOPC_ExpandedNodeId_Clear(SOPC_ExpandedNodeId *expNodeId)
SOPC_Dict * SOPC_NodeId_Dict_Create(bool free_keys, SOPC_Dict_Free_Fct value_free)
Creates a dictionary which keys are NodeId.
void SOPC_DiagnosticInfo_Initialize(SOPC_DiagnosticInfo *diagInfo)
void SOPC_DateTime_Initialize(SOPC_DateTime *dateTime)
struct SOPC_String SOPC_String
This structure provides string encapsulation.
void SOPC_Int32_Clear(int32_t *intv)
void SOPC_Int64_Initialize(int64_t *intv)
void SOPC_XmlElement_Clear(SOPC_XmlElement *xmlElt)
SOPC_ReturnStatus SOPC_Int16_CopyAux(void *dest, const void *src)
void SOPC_UInt64_InitializeAux(void *value)
void SOPC_Int64_Clear(int64_t *intv)
SOPC_ReturnStatus SOPC_VariantValue_PfnCompCustom(const void *customContext, SOPC_BuiltinId builtInTypeId, const void *left, const void *right, int32_t *compResult)
Generic comparison function type for values contained in a variant.
Definition sopc_builtintypes.h:1056
void SOPC_StatusCode_Initialize(SOPC_StatusCode *status)
SOPC_ReturnStatus SOPC_CompCustom_Array(int32_t noOfElts, const void *eltsArrayLeft, const void *eltsArrayRight, size_t sizeOfElt, SOPC_VariantValue_PfnCompCustom *compCustomFct, const void *customCompContext, SOPC_BuiltinId builtInId, int32_t *comparisonResult)
enum _SOPC_ExtObjectBodyEncoding SOPC_ExtObjectBodyEncoding
This enum provides additional information on which data type format transported.
enum _SOPC_BuiltinId SOPC_BuiltinId
SOPC_ReturnStatus SOPC_String_Copy(SOPC_String *dest, const SOPC_String *src)
Create a copy of src into dest.
uint32_t SOPC_StatusCode
Definition sopc_builtintypes.h:36
void SOPC_UInt16_InitializeAux(void *value)
int32_t SOPC_Variant_GetArrayOrMatrixLength(const SOPC_Variant *var)
Returns the number of values contained in a Variant with Array or Matrix value type....
SOPC_ReturnStatus SOPC_QualifiedName_Copy(SOPC_QualifiedName *dest, const SOPC_QualifiedName *src)
SOPC_ReturnStatus SOPC_Float_CompareAux(const void *left, const void *right, int32_t *comparison)
enum _SOPC_VariantArrayType SOPC_VariantArrayType
SOPC_ReturnStatus SOPC_Variant_Compare(const SOPC_Variant *left, const SOPC_Variant *right, int32_t *comparison)
char * SOPC_QualifiedName_ToCString(const SOPC_QualifiedName *qname)
void SOPC_String_Delete(SOPC_String *bstring)
SOPC_ReturnStatus SOPC_Variant_CompareCustom(SOPC_VariantValue_PfnCompCustom *compCustom, const void *compCustomContext, const SOPC_Variant *left, const SOPC_Variant *right, int32_t *comparison)
const char ** SOPC_String_GetRawCStringArray(int32_t nbOfStrings, SOPC_String *stringArray)
Returns a NULL terminated C-string array without copying the strings. The caller is responsible to NO...
void SOPC_LocalizedText_Initialize(SOPC_LocalizedText *localizedText)
struct SOPC_Guid SOPC_Guid
SOPC_ReturnStatus SOPC_Guid_Copy(SOPC_Guid *dest, const SOPC_Guid *src)
void SOPC_String_Clear(SOPC_String *bstring)
void SOPC_DataValue_ClearAux(void *value)
S2OPC_COMMON_EXPORT const SOPC_BuiltInType_Handling SOPC_BuiltInType_HandlingTable[SOPC_BUILTINID_MAX+1]
Table of all built-in type handlers. To be indexed with a SOPC_BuiltinId. Provides all the generic se...
void SOPC_QualifiedName_ClearAux(void *value)
SOPC_ReturnStatus SOPC_Variant_CompareCustomRange(SOPC_VariantValue_PfnCompCustom *compCustom, const void *compCustomContext, const SOPC_Variant *left, const SOPC_Variant *right, const SOPC_NumericRange *range, int32_t *comparison)
bool SOPC_ValueRank_IsAssignableInto(int32_t dest_ValueRank, int32_t src_valueRank)
void SOPC_UInt64_Initialize(uint64_t *uint)
union SOPC_VariantArrayValue SOPC_VariantArrayValue
This union provides all possible contents for Variant arrays, depending on their SOPC_BuiltinId.
SOPC_StatusCode SOPC_StatusCode_ToTcpErrorCode(SOPC_StatusCode status)
Restricts and converts the status code to the only status code authorized for TCP error code.
void SOPC_Variant_Move(SOPC_Variant *dest, SOPC_Variant *src)
void SOPC_Double_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_ByteString_InitializeFixedSize(SOPC_ByteString *bstring, uint32_t size)
Allocate a number of size bytes and initialize its content to "0", this allocation looks like calloc ...
struct SOPC_Variant SOPC_Variant
This structure provides variant encapsulation.
SOPC_ReturnStatus SOPC_LocalizedText_Copy(SOPC_LocalizedText *dest, const SOPC_LocalizedText *src)
void SOPC_UInt32_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_DateTime_CopyAux(void *dest, const void *src)
struct SOPC_DiagnosticInfo SOPC_DiagnosticInfo
This structure provides vendor specific diagnostic information.
SOPC_String SOPC_ByteString
Definition sopc_builtintypes.h:155
void SOPC_DataValue_Clear(SOPC_DataValue *dataValue)
SOPC_ReturnStatus SOPC_Boolean_CompareAux(const void *left, const void *right, int32_t *comparison)
Compare the content of a generic pointer to another one and set the result in the comparison paramete...
SOPC_ReturnStatus SOPC_Variant_CompareRange(const SOPC_Variant *left, const SOPC_Variant *right, const SOPC_NumericRange *range, int32_t *comparison)
SOPC_ReturnStatus SOPC_Copy_Array(int32_t noOfElts, void *eltsArrayDest, const void *eltsArraySrc, size_t sizeOfElt, SOPC_EncodeableObject_PfnCopy *opFct)
void SOPC_UInt16_ClearAux(void *value)
void SOPC_ExtensionObject_Clear(SOPC_ExtensionObject *extObj)
void SOPC_UInt16_Clear(uint16_t *uint)
void SOPC_Variant_Initialize(SOPC_Variant *variant)
Initialize a Variant. Do not initialize existing variants without clearing them first.
SOPC_ReturnStatus SOPC_StatusCode_CompareAux(const void *left, const void *right, int32_t *comparison)
const void * SOPC_Variant_Get_SingleValue(const SOPC_Variant *var, SOPC_BuiltinId builtInTypeId)
SOPC_ReturnStatus SOPC_XmlElement_Copy(SOPC_XmlElement *dest, const SOPC_XmlElement *src)
_SOPC_AttributeId
Enumerated for all possible OPC UA attribute ids.
Definition sopc_builtintypes.h:71
@ SOPC_AttributeId_Executable
Definition sopc_builtintypes.h:93
@ SOPC_AttributeId_Symmetric
Definition sopc_builtintypes.h:81
@ SOPC_AttributeId_DataType
Definition sopc_builtintypes.h:86
@ SOPC_AttributeId_AccessLevelEx
Definition sopc_builtintypes.h:99
@ SOPC_AttributeId_IsAbstract
Definition sopc_builtintypes.h:80
@ SOPC_AttributeId_NodeClass
Definition sopc_builtintypes.h:74
@ SOPC_AttributeId_UserExecutable
Definition sopc_builtintypes.h:94
@ SOPC_AttributeId_DataTypeDefinition
Definition sopc_builtintypes.h:95
@ SOPC_AttributeId_ValueRank
Definition sopc_builtintypes.h:87
@ SOPC_AttributeId_MinimumSamplingInterval
Definition sopc_builtintypes.h:91
@ SOPC_AttributeId_RolePermissions
Definition sopc_builtintypes.h:96
@ SOPC_AttributeId_Description
Definition sopc_builtintypes.h:77
@ SOPC_AttributeId_EventNotifier
Definition sopc_builtintypes.h:84
@ SOPC_AttributeId_Historizing
Definition sopc_builtintypes.h:92
@ SOPC_AttributeId_ArrayDimensions
Definition sopc_builtintypes.h:88
@ SOPC_AttributeId_BrowseName
Definition sopc_builtintypes.h:75
@ SOPC_AttributeId_UserAccessLevel
Definition sopc_builtintypes.h:90
@ SOPC_AttributeId_NodeId
Definition sopc_builtintypes.h:73
@ SOPC_AttributeId_UserWriteMask
Definition sopc_builtintypes.h:79
@ SOPC_AttributeId_AccessLevel
Definition sopc_builtintypes.h:89
@ SOPC_AttributeId_WriteMask
Definition sopc_builtintypes.h:78
@ SOPC_AttributeId_AccessRestrictions
Definition sopc_builtintypes.h:98
@ SOPC_AttributeId_InverseName
Definition sopc_builtintypes.h:82
@ SOPC_AttributeId_Value
Definition sopc_builtintypes.h:85
@ SOPC_AttributeId_DisplayName
Definition sopc_builtintypes.h:76
@ SOPC_AttributeId_Invalid
Definition sopc_builtintypes.h:72
@ SOPC_AttributeId_UserRolePermissions
Definition sopc_builtintypes.h:97
@ SOPC_AttributeId_ContainsNoLoops
Definition sopc_builtintypes.h:83
void SOPC_SByte_InitializeAux(void *value)
char * SOPC_NodeId_ToCString(const SOPC_NodeId *nodeId)
Allocates a C string containing the normalized representation of a NodeId. Must be freed by caller af...
void SOPC_SByte_ClearAux(void *value)
SOPC_ReturnStatus SOPC_ExtensionObject_CreateObject(SOPC_ExtensionObject *extObject, SOPC_EncodeableType *encTyp, void **encObject)
Create an encodeable object of the given encodeable type and set it in the given extension object.
SOPC_ReturnStatus SOPC_NodeId_CopyAux(void *dest, const void *src)
const void * SOPC_Variant_Get_ArrayValue(const SOPC_Variant *var, SOPC_BuiltinId builtInTypeId, int32_t index)
enum _SOPC_IdentifierType SOPC_IdentifierType
This enum provides fundamental identifier type.
void SOPC_XmlElement_Initialize(SOPC_XmlElement *xmlElt)
SOPC_ReturnStatus SOPC_LocalizedTextArray_GetPreferredLocale(SOPC_LocalizedText *dest, char **preferredLocaleIds, int32_t nbLocalizedText, const SOPC_LocalizedText *srcArray)
void SOPC_Boolean_Clear(SOPC_Boolean *b)
Clear the content of a specific builtintype pointer.
void SOPC_Float_ClearAux(void *value)
bool SOPC_NodeId_IsNull(const SOPC_NodeId *nodeId)
void SOPC_ExtensionObject_ClearAux(void *value)
SOPC_ReturnStatus SOPC_String_CopyAux(void *dest, const void *src)
SOPC_ReturnStatus SOPC_ExtensionObject_Copy(SOPC_ExtensionObject *dest, const SOPC_ExtensionObject *src)
SOPC_ReturnStatus SOPC_Guid_Compare(const SOPC_Guid *left, const SOPC_Guid *right, int32_t *comparison)
void SOPC_Int32_InitializeAux(void *value)
void SOPC_XmlElement_ClearAux(void *value)
void SOPC_XmlElement_InitializeAux(void *value)
void SOPC_ByteString_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_String_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_Int32_ClearAux(void *value)
SOPC_ReturnStatus SOPC_DiagnosticInfo_Copy(SOPC_DiagnosticInfo *dest, const SOPC_DiagnosticInfo *src)
SOPC_ReturnStatus SOPC_Variant_HasRange(const SOPC_Variant *variant, const SOPC_NumericRange *range, bool fullRange, bool *hasRange)
Checks if the given range is valid for the given variant:
SOPC_ReturnStatus SOPC_ByteString_CopyFromBytes(SOPC_ByteString *dest, const SOPC_Byte *bytes, int32_t length)
Return a deep copy of a Byte array.
SOPC_ReturnStatus SOPC_QualifiedName_CopyAux(void *dest, const void *src)
void SOPC_StatusCode_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_LocalizedText_CopyFromArray(SOPC_LocalizedText *destSetOfLt, int32_t nbElts, const SOPC_LocalizedText *srcArrayOfLt)
Copy into the given empty localized text an array of localized text to create a LocalizedText set....
SOPC_ReturnStatus SOPC_ExtensionObject_Move(SOPC_ExtensionObject *dest, SOPC_ExtensionObject *src)
SOPC_NodeId * SOPC_NodeId_FromCString(const char *cString, int32_t len)
Alloacates and initializes a NodeId from a normalized C string. See SOPC_String_InitializeFromCString...
void SOPC_Boolean_InitializeAux(void *value)
Initialize a generic pointer using cast method.
bool SOPC_IsGoodStatus(SOPC_StatusCode status)
Evaluates if the provided status is Good.
SOPC_ReturnStatus SOPC_Double_CopyAux(void *dest, const void *src)
SOPC_ReturnStatus SOPC_Guid_FromCString(SOPC_Guid *guid, const char *str, size_t len)
void SOPC_ByteString_Initialize(SOPC_ByteString *bstring)
SOPC_ReturnStatus SOPC_XmlElement_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_UInt64_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_Double_Initialize(double *d)
bool SOPC_Variant_CopyInto_ArrayValueAt(SOPC_Variant *dest, SOPC_BuiltinId builtInTypeId, int32_t index, const void *value)
SOPC_ReturnStatus SOPC_String_InitializeFromCString(SOPC_String *string, const char *cString)
Initialize the content of a specific builtintype pointer with a C-String.
SOPC_ReturnStatus SOPC_XmlElement_CopyAux(void *dest, const void *src)
void SOPC_Initialize_Array(int32_t noOfElts, void *eltsArray, size_t sizeOfElt, SOPC_EncodeableObject_PfnInitialize *initFct)
SOPC_ReturnStatus SOPC_DiagnosticInfo_CopyAux(void *dest, const void *src)
void SOPC_QualifiedName_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_Guid_CompareAux(const void *left, const void *right, int32_t *comparison)
_SOPC_VariantArrayTypeFlag
Definition sopc_builtintypes.h:281
@ SOPC_VariantArrayValueFlag
Definition sopc_builtintypes.h:282
@ SOPC_VariantArrayDimensionsFlag
Definition sopc_builtintypes.h:283
SOPC_ReturnStatus SOPC_LocalizedText_AddOrSetLocale(SOPC_LocalizedText *destSetOfLt, char **supportedLocaleIds, const SOPC_LocalizedText *src)
Add a src LocalizedText to the LocalizedText list of dest. If locale already exists overwrite it,...
SOPC_ReturnStatus SOPC_NodeId_Compare(const SOPC_NodeId *left, const SOPC_NodeId *right, int32_t *comparison)
void SOPC_SByte_Clear(SOPC_SByte *sbyte)
SOPC_ReturnStatus SOPC_ExpandedNodeId_CopyAux(void *dest, const void *src)
void SOPC_Int32_Initialize(int32_t *intv)
void SOPC_LocalizedText_InitializeAux(void *value)
void SOPC_Int16_Initialize(int16_t *intv)
SOPC_ReturnStatus SOPC_Byte_CompareAux(const void *left, const void *right, int32_t *comparison)
void SOPC_DiagnosticInfo_ClearAux(void *value)
void SOPC_ExpandedNodeId_InitializeAux(void *value)
void SOPC_Null_ClearAux(void *value)
void SOPC_String_Initialize(SOPC_String *string)
void SOPC_UInt64_Clear(uint64_t *uint)
void SOPC_Byte_Initialize(SOPC_Byte *byte)
SOPC_ReturnStatus SOPC_Variant_CompareAux(const void *left, const void *right, int32_t *comparison)
SOPC_ReturnStatus SOPC_ByteString_Copy(SOPC_ByteString *dest, const SOPC_ByteString *src)
Return a deep copy of another ByteString. See SOPC_ByteString_CopyFromBytes.
_SOPC_BuiltinId
Definition sopc_builtintypes.h:108
@ SOPC_Int16_Id
Definition sopc_builtintypes.h:113
@ SOPC_ExtensionObject_Id
Definition sopc_builtintypes.h:131
@ SOPC_UInt16_Id
Definition sopc_builtintypes.h:114
@ SOPC_SByte_Id
Definition sopc_builtintypes.h:111
@ SOPC_Double_Id
Definition sopc_builtintypes.h:120
@ SOPC_Float_Id
Definition sopc_builtintypes.h:119
@ SOPC_Null_Id
Definition sopc_builtintypes.h:109
@ SOPC_Int64_Id
Definition sopc_builtintypes.h:117
@ SOPC_NodeId_Id
Definition sopc_builtintypes.h:126
@ SOPC_UInt64_Id
Definition sopc_builtintypes.h:118
@ SOPC_DateTime_Id
Definition sopc_builtintypes.h:122
@ SOPC_QualifiedName_Id
Definition sopc_builtintypes.h:129
@ SOPC_ByteString_Id
Definition sopc_builtintypes.h:124
@ SOPC_Byte_Id
Definition sopc_builtintypes.h:112
@ SOPC_LocalizedText_Id
Definition sopc_builtintypes.h:130
@ SOPC_String_Id
Definition sopc_builtintypes.h:121
@ SOPC_Guid_Id
Definition sopc_builtintypes.h:123
@ SOPC_UInt32_Id
Definition sopc_builtintypes.h:116
@ SOPC_StatusCode_Id
Definition sopc_builtintypes.h:128
@ SOPC_DiagnosticInfo_Id
Definition sopc_builtintypes.h:134
@ SOPC_Int32_Id
Definition sopc_builtintypes.h:115
@ SOPC_Variant_Id
Definition sopc_builtintypes.h:133
@ SOPC_DataValue_Id
Definition sopc_builtintypes.h:132
@ SOPC_XmlElement_Id
Definition sopc_builtintypes.h:125
@ SOPC_ExpandedNodeId_Id
Definition sopc_builtintypes.h:127
@ SOPC_Boolean_Id
Definition sopc_builtintypes.h:110
enum _SOPC_AttributeId SOPC_AttributeId
Enumerated for all possible OPC UA attribute ids.
bool SOPC_String_Equal(const SOPC_String *left, const SOPC_String *right)
SOPC_ReturnStatus SOPC_DataValue_CompareRange(const SOPC_DataValue *left, const SOPC_DataValue *right, const SOPC_NumericRange *range, int32_t *comparison)
void SOPC_ExtensionObject_Initialize(SOPC_ExtensionObject *extObj)
void SOPC_Int64_InitializeAux(void *value)
void SOPC_Boolean_ClearAux(void *value)
Clear the content of a generic pointer.
SOPC_ReturnStatus SOPC_Variant_CopyAux(void *dest, const void *src)
void SOPC_String_InitializeAux(void *value)
SOPC_ReturnStatus SOPC_NodeId_Copy(SOPC_NodeId *dest, const SOPC_NodeId *src)
SOPC_ReturnStatus SOPC_DataValue_CopyAux(void *dest, const void *src)
A dictionary implementation.
void SOPC_Dict_Free_Fct(uintptr_t data)
Type of functions used to free keys and values.
Definition sopc_dict.h:37
struct _SOPC_Dict SOPC_Dict
Definition sopc_dict.h:32
EncodeableType and services on encodeable object.
SOPC_ReturnStatus SOPC_EncodeableObject_PfnComp(const void *left, const void *right, int32_t *comp)
Compare function generic signature for an encodeable object.
Definition sopc_encodeabletype.h:122
void SOPC_EncodeableObject_PfnInitialize(void *value)
Initialization function generic signature for an encodeable object.
Definition sopc_encodeabletype.h:56
void SOPC_EncodeableObject_PfnClear(void *value)
Clear function generic signature for an encodeable object.
Definition sopc_encodeabletype.h:61
SOPC_ReturnStatus SOPC_EncodeableObject_PfnCopy(void *dest, const void *src)
Copy function generic signature for an encodeable object.
Definition sopc_encodeabletype.h:104
enum _SOPC_ReturnStatus SOPC_ReturnStatus
Common enumerations for S2OPC.
A singly linked list based on elements with unique identifiers and dynamically allocated.
struct SOPC_SLinkedList SOPC_SLinkedList
Singly linked list structure.
Definition sopc_singly_linked_list.h:36
Bytes buffer structure.
Definition sopc_buffer.h:38
Built-in type handling. Provides all the generic service functions associated with a built-in type (e...
Definition sopc_builtintypes.h:1246
SOPC_EncodeableObject_PfnInitialize * initialize
Definition sopc_builtintypes.h:1248
size_t size
Definition sopc_builtintypes.h:1247
SOPC_EncodeableObject_PfnCopy * copy
Definition sopc_builtintypes.h:1250
SOPC_EncodeableObject_PfnClear * clear
Definition sopc_builtintypes.h:1249
SOPC_EncodeableObject_PfnComp * compare
Definition sopc_builtintypes.h:1251
Each attribute in OPC UA has a DataValue caracterized by the following structure.
Definition sopc_builtintypes.h:385
SOPC_DateTime SourceTimestamp
Definition sopc_builtintypes.h:388
SOPC_StatusCode Status
Definition sopc_builtintypes.h:387
SOPC_DateTime ServerTimestamp
Definition sopc_builtintypes.h:389
uint16_t SourcePicoSeconds
Definition sopc_builtintypes.h:390
SOPC_Variant Value
Definition sopc_builtintypes.h:386
uint16_t ServerPicoSeconds
Definition sopc_builtintypes.h:391
This structure provides vendor specific diagnostic information.
Definition sopc_builtintypes.h:217
SOPC_StatusCode InnerStatusCode
Definition sopc_builtintypes.h:223
int32_t NamespaceUri
Definition sopc_builtintypes.h:219
SOPC_String AdditionalInfo
Definition sopc_builtintypes.h:222
int32_t Locale
Definition sopc_builtintypes.h:220
int32_t SymbolicId
Definition sopc_builtintypes.h:218
struct SOPC_DiagnosticInfo * InnerDiagnosticInfo
Definition sopc_builtintypes.h:224
int32_t LocalizedText
Definition sopc_builtintypes.h:221
Encodeable object type structure definition. It provides all the services functions associated with t...
Definition sopc_encodeabletype.h:177
ExpandedNodeId allows the namespace to be specified explicitly as a string or with an index in the Se...
Definition sopc_builtintypes.h:207
SOPC_NodeId NodeId
Definition sopc_builtintypes.h:208
uint32_t ServerIndex
Definition sopc_builtintypes.h:210
SOPC_String NamespaceUri
Definition sopc_builtintypes.h:209
An ExtensionObject is a container for any Structured DataTypes which cannot be encoded as one of the ...
Definition sopc_builtintypes.h:262
struct SOPC_ExtensionObject::@8::@9 Object
SOPC_ExtObjectBodyEncoding Encoding
Definition sopc_builtintypes.h:264
union SOPC_ExtensionObject::@8 Body
SOPC_XmlElement Xml
Definition sopc_builtintypes.h:269
SOPC_ExpandedNodeId TypeId
Definition sopc_builtintypes.h:263
SOPC_ByteString Bstring
Definition sopc_builtintypes.h:268
SOPC_EncodeableType * ObjType
Definition sopc_builtintypes.h:273
void * Value
Definition sopc_builtintypes.h:272
Definition sopc_builtintypes.h:163
uint16_t Data2
Definition sopc_builtintypes.h:169
uint16_t Data3
Definition sopc_builtintypes.h:170
SOPC_Byte Data4[8]
Definition sopc_builtintypes.h:171
uint32_t Data1
Definition sopc_builtintypes.h:168
Definition sopc_builtintypes.h:234
SOPC_String defaultLocale
Definition sopc_builtintypes.h:237
SOPC_SLinkedList * localizedTextList
Definition sopc_builtintypes.h:243
SOPC_String defaultText
Definition sopc_builtintypes.h:238
This structure describes a basic NodeID in OPC UA.
Definition sopc_builtintypes.h:189
uint16_t Namespace
Definition sopc_builtintypes.h:191
union SOPC_NodeId::@7 Data
SOPC_Guid * Guid
Definition sopc_builtintypes.h:197
uint32_t Numeric
Definition sopc_builtintypes.h:195
SOPC_String String
Definition sopc_builtintypes.h:196
SOPC_IdentifierType IdentifierType
Definition sopc_builtintypes.h:190
SOPC_ByteString Bstring
Definition sopc_builtintypes.h:198
Definition sopc_builtintypes.h:228
uint16_t NamespaceIndex
Definition sopc_builtintypes.h:229
SOPC_String Name
Definition sopc_builtintypes.h:230
This structure provides string encapsulation.
Definition sopc_builtintypes.h:148
SOPC_Byte * Data
Definition sopc_builtintypes.h:151
int32_t Length
Definition sopc_builtintypes.h:149
bool DoNotClear
Definition sopc_builtintypes.h:150
This structure provides variant encapsulation.
Definition sopc_builtintypes.h:374
SOPC_VariantValue Value
Definition sopc_builtintypes.h:378
SOPC_VariantArrayType ArrayType
Definition sopc_builtintypes.h:377
SOPC_BuiltinId BuiltInTypeId
Definition sopc_builtintypes.h:376
bool DoNotClear
Definition sopc_builtintypes.h:375
Definition sopc_numeric_range.h:35
This union provides all possible contents for Variant arrays, depending on their SOPC_BuiltinId.
Definition sopc_builtintypes.h:298
SOPC_NodeId * NodeIdArr
Definition sopc_builtintypes.h:315
SOPC_Guid * GuidArr
Definition sopc_builtintypes.h:312
SOPC_ExpandedNodeId * ExpNodeIdArr
Definition sopc_builtintypes.h:316
int16_t * Int16Arr
Definition sopc_builtintypes.h:302
int64_t * Int64Arr
Definition sopc_builtintypes.h:306
uint32_t * Uint32Arr
Definition sopc_builtintypes.h:305
SOPC_QualifiedName * QnameArr
Definition sopc_builtintypes.h:318
SOPC_ByteString * BstringArr
Definition sopc_builtintypes.h:313
SOPC_Boolean * BooleanArr
Definition sopc_builtintypes.h:299
SOPC_LocalizedText * LocalizedTextArr
Definition sopc_builtintypes.h:319
SOPC_ExtensionObject * ExtObjectArr
Definition sopc_builtintypes.h:320
SOPC_SByte * SbyteArr
Definition sopc_builtintypes.h:300
double * DoublevArr
Definition sopc_builtintypes.h:309
SOPC_String * StringArr
Definition sopc_builtintypes.h:310
SOPC_Byte * ByteArr
Definition sopc_builtintypes.h:301
struct SOPC_Variant * VariantArr
Definition sopc_builtintypes.h:322
SOPC_DateTime * DateArr
Definition sopc_builtintypes.h:311
SOPC_DiagnosticInfo * DiagInfoArr
Definition sopc_builtintypes.h:323
float * FloatvArr
Definition sopc_builtintypes.h:308
uint64_t * Uint64Arr
Definition sopc_builtintypes.h:307
uint16_t * Uint16Arr
Definition sopc_builtintypes.h:303
int32_t * Int32Arr
Definition sopc_builtintypes.h:304
SOPC_XmlElement * XmlEltArr
Definition sopc_builtintypes.h:314
SOPC_StatusCode * StatusArr
Definition sopc_builtintypes.h:317
struct SOPC_DataValue * DataValueArr
Definition sopc_builtintypes.h:321
This union provides all possible contents for Variant, depending on their SOPC_BuiltinId.
Definition sopc_builtintypes.h:330
SOPC_ByteString Bstring
Definition sopc_builtintypes.h:345
SOPC_String String
Definition sopc_builtintypes.h:342
SOPC_ExtensionObject * ExtObject
Definition sopc_builtintypes.h:352
SOPC_Guid * Guid
Definition sopc_builtintypes.h:344
float Floatv
Definition sopc_builtintypes.h:340
SOPC_DateTime Date
Definition sopc_builtintypes.h:343
struct SOPC_DataValue * DataValue
Definition sopc_builtintypes.h:353
uint64_t Uint64
Definition sopc_builtintypes.h:339
SOPC_QualifiedName * Qname
Definition sopc_builtintypes.h:350
double Doublev
Definition sopc_builtintypes.h:341
SOPC_DiagnosticInfo * DiagInfo
Definition sopc_builtintypes.h:354
int32_t Length
Definition sopc_builtintypes.h:357
SOPC_ExpandedNodeId * ExpNodeId
Definition sopc_builtintypes.h:348
SOPC_VariantArrayValue Content
Definition sopc_builtintypes.h:358
uint32_t Uint32
Definition sopc_builtintypes.h:337
struct SOPC_VariantValue::@11 Matrix
uint16_t Uint16
Definition sopc_builtintypes.h:335
int32_t Int32
Definition sopc_builtintypes.h:336
int64_t Int64
Definition sopc_builtintypes.h:338
int32_t * ArrayDimensions
Definition sopc_builtintypes.h:364
SOPC_Byte Byte
Definition sopc_builtintypes.h:333
struct SOPC_VariantValue::@10 Array
SOPC_NodeId * NodeId
Definition sopc_builtintypes.h:347
SOPC_StatusCode Status
Definition sopc_builtintypes.h:349
SOPC_XmlElement XmlElt
Definition sopc_builtintypes.h:346
SOPC_SByte Sbyte
Definition sopc_builtintypes.h:332
int32_t Dimensions
Definition sopc_builtintypes.h:362
SOPC_LocalizedText * LocalizedText
Definition sopc_builtintypes.h:351
SOPC_Boolean Boolean
Definition sopc_builtintypes.h:331
int16_t Int16
Definition sopc_builtintypes.h:334