S2OPC OPCUA Toolkit
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
sopc_builtintypes.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <time.h>
#include "sopc_dict.h"
#include "sopc_encodeabletype.h"
#include "sopc_enums.h"
#include "sopc_numeric_range.h"
#include "sopc_singly_linked_list.h"
#include "s2opc_common_export.h"

Go to the source code of this file.

Data Structures

struct  SOPC_String
 This structure provides string encapsulation. More...
 
struct  SOPC_Guid
 
struct  SOPC_NodeId
 This structure describes a basic NodeID in OPC UA. More...
 
struct  SOPC_ExpandedNodeId
 ExpandedNodeId allows the namespace to be specified explicitly as a string or with an index in the Server’s namespace table. More...
 
struct  SOPC_DiagnosticInfo
 This structure provides vendor specific diagnostic information. More...
 
struct  SOPC_QualifiedName
 
struct  SOPC_LocalizedText
 
struct  SOPC_ExtensionObject
 An ExtensionObject is a container for any Structured DataTypes which cannot be encoded as one of the other built-in data types. it contains fields that describes which data is transported and how it is described. More...
 
union  SOPC_VariantArrayValue
 This union provides all possible contents for Variant arrays, depending on their SOPC_BuiltinId. More...
 
union  SOPC_VariantValue
 This union provides all possible contents for Variant, depending on their SOPC_BuiltinId. More...
 
struct  SOPC_Variant
 This structure provides variant encapsulation. More...
 
struct  SOPC_DataValue
 Each attribute in OPC UA has a DataValue caracterized by the following structure. More...
 
struct  SOPC_BuiltInType_Handling
 Built-in type handling. Provides all the generic service functions associated with a built-in type (except encoders and decoders which are declared in struct SOPC_BuiltInType_Encoders). Also define the allocation size of objects of a built-in type. More...
 

Macros

#define SOPC_GoodGenericStatus   0x00000000
 A generic Good status code. More...
 
#define SOPC_GoodStatusOppositeMask   0xC0000000
 An opposite mask for Good status code: Good status <=> (status & SOPC_GoodStatusOppositeMask) == 0. More...
 
#define SOPC_UncertainStatusMask   0x40000000
 Masks to check status for Uncertain/Bad/Reserved status code: X status <=> (status & SOPC_<X>StatusMask) != 0. More...
 
#define SOPC_BadStatusMask   0x80000000
 
#define SOPC_DataValueOverflowStatusMask   0x00000480
 Mask to check status contains the DataValue overflow bit set (InfoType DataValue bit + Overflow bit) More...
 
#define SOPC_BUILTINID_MAX   25
 
#define SOPC_VARIANT_GET_ARRAY_VALUES_PTR(pVar, eltTypeName)
 
#define SECURITY_POLICY_NONE   "http://opcfoundation.org/UA/SecurityPolicy#None"
 
#define SECURITY_POLICY_BASIC128RSA15   "http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"
 
#define SECURITY_POLICY_BASIC256   "http://opcfoundation.org/UA/SecurityPolicy#Basic256"
 
#define SECURITY_POLICY_BASIC256SHA256   "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
 
#define SOPC_NS0_NUMERIC_NODEID(opcUaId)
 

Typedefs

typedef uint32_t SOPC_StatusCode
 
typedef enum SOPC_BuiltinId SOPC_BuiltinId
 
typedef uint8_t SOPC_Byte
 
typedef SOPC_Byte SOPC_Boolean
 
typedef int8_t SOPC_SByte
 
typedef struct SOPC_String SOPC_String
 This structure provides string encapsulation. More...
 
typedef SOPC_String SOPC_XmlElement
 
typedef SOPC_String SOPC_ByteString
 
typedef int64_t SOPC_DateTime
 
typedef struct SOPC_Guid SOPC_Guid
 
typedef enum SOPC_IdentifierType SOPC_IdentifierType
 This enum provides fundamental identifier type. More...
 
typedef struct SOPC_NodeId SOPC_NodeId
 This structure describes a basic NodeID in OPC UA. More...
 
typedef struct SOPC_ExpandedNodeId SOPC_ExpandedNodeId
 ExpandedNodeId allows the namespace to be specified explicitly as a string or with an index in the Server’s namespace table. More...
 
typedef struct SOPC_DiagnosticInfo SOPC_DiagnosticInfo
 This structure provides vendor specific diagnostic information. More...
 
typedef struct SOPC_QualifiedName SOPC_QualifiedName
 
typedef struct SOPC_LocalizedText SOPC_LocalizedText
 
typedef enum SOPC_ExtObjectBodyEncoding SOPC_ExtObjectBodyEncoding
 This enum provides additional information on which data type format transported. More...
 
typedef struct SOPC_ExtensionObject SOPC_ExtensionObject
 An ExtensionObject is a container for any Structured DataTypes which cannot be encoded as one of the other built-in data types. it contains fields that describes which data is transported and how it is described. More...
 
typedef enum SOPC_VariantArrayTypeFlag SOPC_VariantArrayTypeFlag
 
typedef enum SOPC_VariantArrayType SOPC_VariantArrayType
 
typedef union SOPC_VariantArrayValue SOPC_VariantArrayValue
 This union provides all possible contents for Variant arrays, depending on their SOPC_BuiltinId. More...
 
typedef union SOPC_VariantValue SOPC_VariantValue
 This union provides all possible contents for Variant, depending on their SOPC_BuiltinId. More...
 
typedef struct SOPC_Variant SOPC_Variant
 This structure provides variant encapsulation. More...
 
typedef struct SOPC_DataValue SOPC_DataValue
 Each attribute in OPC UA has a DataValue caracterized by the following structure. More...
 
typedef 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. More...
 
typedef struct SOPC_BuiltInType_Handling SOPC_BuiltInType_Handling
 Built-in type handling. Provides all the generic service functions associated with a built-in type (except encoders and decoders which are declared in struct SOPC_BuiltInType_Encoders). Also define the allocation size of objects of a built-in type. More...
 

Enumerations

enum  SOPC_AttributeId {
  SOPC_AttributeId_Invalid = 0, SOPC_AttributeId_NodeId = 1, SOPC_AttributeId_NodeClass = 2, SOPC_AttributeId_BrowseName = 3,
  SOPC_AttributeId_DisplayName = 4, SOPC_AttributeId_Description = 5, SOPC_AttributeId_WriteMask = 6, SOPC_AttributeId_UserWriteMask = 7,
  SOPC_AttributeId_IsAbstract = 8, SOPC_AttributeId_Symmetric = 9, SOPC_AttributeId_InverseName = 10, SOPC_AttributeId_ContainsNoLoops = 11,
  SOPC_AttributeId_EventNotifier = 12, SOPC_AttributeId_Value = 13, SOPC_AttributeId_DataType = 14, SOPC_AttributeId_ValueRank = 15,
  SOPC_AttributeId_ArrayDimensions = 16, SOPC_AttributeId_AccessLevel = 17, SOPC_AttributeId_UserAccessLevel = 18, SOPC_AttributeId_MinimumSamplingInterval = 19,
  SOPC_AttributeId_Historizing = 20, SOPC_AttributeId_Executable = 21, SOPC_AttributeId_UserExecutable = 22, SOPC_AttributeId_DataTypeDefinition = 23,
  SOPC_AttributeId_RolePermissions = 24, SOPC_AttributeId_UserRolePermissions = 25, SOPC_AttributeId_AccessRestrictions = 26, SOPC_AttributeId_AccessLevelEx = 27
}
 Enumerated for all possible OPC UA attribute ids. More...
 
enum  SOPC_BuiltinId {
  SOPC_Null_Id = 0, SOPC_Boolean_Id = 1, SOPC_SByte_Id = 2, SOPC_Byte_Id = 3,
  SOPC_Int16_Id = 4, SOPC_UInt16_Id = 5, SOPC_Int32_Id = 6, SOPC_UInt32_Id = 7,
  SOPC_Int64_Id = 8, SOPC_UInt64_Id = 9, SOPC_Float_Id = 10, SOPC_Double_Id = 11,
  SOPC_String_Id = 12, SOPC_DateTime_Id = 13, SOPC_Guid_Id = 14, SOPC_ByteString_Id = 15,
  SOPC_XmlElement_Id = 16, SOPC_NodeId_Id = 17, SOPC_ExpandedNodeId_Id = 18, SOPC_StatusCode_Id = 19,
  SOPC_QualifiedName_Id = 20, SOPC_LocalizedText_Id = 21, SOPC_ExtensionObject_Id = 22, SOPC_DataValue_Id = 23,
  SOPC_Variant_Id = 24, SOPC_DiagnosticInfo_Id = 25
}
 
enum  SOPC_IdentifierType { SOPC_IdentifierType_Numeric = 0x00, SOPC_IdentifierType_String = 0x01, SOPC_IdentifierType_Guid = 0x02, SOPC_IdentifierType_ByteString = 0x03 }
 This enum provides fundamental identifier type. More...
 
enum  SOPC_ExtObjectBodyEncoding { SOPC_ExtObjBodyEncoding_None = 0x00, SOPC_ExtObjBodyEncoding_ByteString = 0x01, SOPC_ExtObjBodyEncoding_XMLElement = 0x02, SOPC_ExtObjBodyEncoding_Object = 0x03 }
 This enum provides additional information on which data type format transported. More...
 
enum  SOPC_VariantArrayTypeFlag { SOPC_VariantArrayValueFlag = 128, SOPC_VariantArrayDimensionsFlag = 64 }
 
enum  SOPC_VariantArrayType { SOPC_VariantArrayType_SingleValue = 0x0, SOPC_VariantArrayType_Array = 0x1, SOPC_VariantArrayType_Matrix = 0x2 }
 

Functions

bool SOPC_IsGoodStatus (SOPC_StatusCode status)
 Evaluates if the provided status is Good. More...
 
SOPC_StatusCode SOPC_StatusCode_ToTcpErrorCode (SOPC_StatusCode status)
 Restricts and converts the status code to the only status code authorized for TCP error code. More...
 
void SOPC_Boolean_Initialize (SOPC_Boolean *b)
 Initialize a pointer for a specific builtintype (Boolean, String, Int16...) More...
 
void SOPC_Boolean_InitializeAux (void *value)
 Initialize a generic pointer using cast method. More...
 
SOPC_ReturnStatus SOPC_Boolean_CopyAux (void *dest, const void *src)
 Copy the content of a generic pointer to another one. More...
 
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 parameter. More...
 
void SOPC_Boolean_Clear (SOPC_Boolean *b)
 Clear the content of a specific builtintype pointer. More...
 
void SOPC_Boolean_ClearAux (void *value)
 Clear the content of a generic pointer. More...
 
void SOPC_SByte_Initialize (SOPC_SByte *sbyte)
 
void SOPC_SByte_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_SByte_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_SByte_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_SByte_Clear (SOPC_SByte *sbyte)
 
void SOPC_SByte_ClearAux (void *value)
 
void SOPC_Byte_Initialize (SOPC_Byte *byte)
 
void SOPC_Byte_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_Byte_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_Byte_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_Byte_Clear (SOPC_Byte *byte)
 
void SOPC_Byte_ClearAux (void *value)
 
void SOPC_Int16_Initialize (int16_t *intv)
 
void SOPC_Int16_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_Int16_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_Int16_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_Int16_Clear (int16_t *intv)
 
void SOPC_Int16_ClearAux (void *value)
 
void SOPC_UInt16_Initialize (uint16_t *uint)
 
void SOPC_UInt16_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_UInt16_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_UInt16_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_UInt16_Clear (uint16_t *uint)
 
void SOPC_UInt16_ClearAux (void *value)
 
void SOPC_Int32_Initialize (int32_t *intv)
 
void SOPC_Int32_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_Int32_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_Int32_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_Int32_Clear (int32_t *intv)
 
void SOPC_Int32_ClearAux (void *value)
 
void SOPC_UInt32_Initialize (uint32_t *uint)
 
void SOPC_UInt32_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_UInt32_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_UInt32_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_UInt32_Clear (uint32_t *uint)
 
void SOPC_UInt32_ClearAux (void *value)
 
void SOPC_Int64_Initialize (int64_t *intv)
 
void SOPC_Int64_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_Int64_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_Int64_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_Int64_Clear (int64_t *intv)
 
void SOPC_Int64_ClearAux (void *value)
 
void SOPC_UInt64_Initialize (uint64_t *uint)
 
void SOPC_UInt64_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_UInt64_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_UInt64_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_UInt64_Clear (uint64_t *uint)
 
void SOPC_UInt64_ClearAux (void *value)
 
void SOPC_Float_Initialize (float *f)
 
void SOPC_Float_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_Float_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_Float_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_Float_Clear (float *f)
 
void SOPC_Float_ClearAux (void *value)
 
void SOPC_Double_Initialize (double *d)
 
void SOPC_Double_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_Double_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_Double_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_Double_Clear (double *d)
 
void SOPC_Double_ClearAux (void *value)
 
void SOPC_ByteString_Initialize (SOPC_ByteString *bstring)
 
void SOPC_ByteString_InitializeAux (void *value)
 
SOPC_ByteStringSOPC_ByteString_Create (void)
 Create a valid specific builtintype pointer. More...
 
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 function. More...
 
SOPC_ReturnStatus SOPC_ByteString_CopyFromBytes (SOPC_ByteString *dest, const SOPC_Byte *bytes, int32_t length)
 Return a deep copy of a Byte array. More...
 
SOPC_ReturnStatus SOPC_ByteString_Copy (SOPC_ByteString *dest, const SOPC_ByteString *src)
 Return a deep copy of another ByteString. See SOPC_ByteString_CopyFromBytes. More...
 
SOPC_ReturnStatus SOPC_ByteString_CopyAux (void *dest, const void *src)
 
void SOPC_ByteString_Clear (SOPC_ByteString *bstring)
 
void SOPC_ByteString_ClearAux (void *value)
 
void SOPC_ByteString_Delete (SOPC_ByteString *bstring)
 Free a specific builtintype pointer thus it will transform it into an invalid pointer. More...
 
SOPC_ReturnStatus SOPC_ByteString_Compare (const SOPC_ByteString *left, const SOPC_ByteString *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_ByteString_CompareAux (const void *left, const void *right, int32_t *comparison)
 
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 result. More...
 
void SOPC_String_Initialize (SOPC_String *string)
 
void SOPC_String_InitializeAux (void *value)
 
SOPC_StringSOPC_String_Create (void)
 
SOPC_ReturnStatus SOPC_String_CopyFromCString (SOPC_String *string, const char *cString)
 Copy a C-String to the Data field of the SOPC_String object. More...
 
SOPC_ReturnStatus SOPC_String_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_String_InitializeFromCString (SOPC_String *string, const char *cString)
 Initialize the content of a specific builtintype pointer with a C-String. More...
 
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. More...
 
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. More...
 
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. More...
 
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 dest is cleared. More...
 
SOPC_ReturnStatus SOPC_String_Copy (SOPC_String *dest, const SOPC_String *src)
 Create a copy of src into dest. More...
 
void SOPC_String_Clear (SOPC_String *bstring)
 
void SOPC_String_ClearAux (void *value)
 
void SOPC_String_Delete (SOPC_String *bstring)
 
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. More...
 
SOPC_ReturnStatus SOPC_String_CompareAux (const void *left, const void *right, int32_t *comparison)
 
bool SOPC_String_Equal (const SOPC_String *left, const SOPC_String *right)
 
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 NOT modify the content of the returned array and to call SOPC_Free on the array (and NOT the array content) after use. More...
 
char ** SOPC_String_GetCStringArray (int32_t nbOfStrings, SOPC_String *stringArray)
 Returns a NULL terminated C-string array copying the strings. More...
 
void SOPC_XmlElement_Initialize (SOPC_XmlElement *xmlElt)
 
void SOPC_XmlElement_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_XmlElement_Copy (SOPC_XmlElement *dest, const SOPC_XmlElement *src)
 
SOPC_ReturnStatus SOPC_XmlElement_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_XmlElement_Compare (const SOPC_XmlElement *left, const SOPC_XmlElement *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_XmlElement_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_XmlElement_Clear (SOPC_XmlElement *xmlElt)
 
void SOPC_XmlElement_ClearAux (void *value)
 
void SOPC_DateTime_Initialize (SOPC_DateTime *dateTime)
 
void SOPC_DateTime_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_DateTime_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_DateTime_Compare (const SOPC_DateTime *left, const SOPC_DateTime *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_DateTime_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_DateTime_Clear (SOPC_DateTime *dateTime)
 
void SOPC_DateTime_ClearAux (void *value)
 
void SOPC_Guid_Initialize (SOPC_Guid *guid)
 
void SOPC_Guid_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_Guid_FromCString (SOPC_Guid *guid, const char *str, size_t len)
 
char * SOPC_Guid_ToCString (const SOPC_Guid *guid)
 
SOPC_ReturnStatus SOPC_Guid_Copy (SOPC_Guid *dest, const SOPC_Guid *src)
 
SOPC_ReturnStatus SOPC_Guid_CompareAux (const void *left, const void *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_Guid_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_Guid_Compare (const SOPC_Guid *left, const SOPC_Guid *right, int32_t *comparison)
 
void SOPC_Guid_Clear (SOPC_Guid *guid)
 
void SOPC_Guid_ClearAux (void *value)
 
void SOPC_NodeId_Initialize (SOPC_NodeId *nodeId)
 
void SOPC_NodeId_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_NodeId_Copy (SOPC_NodeId *dest, const SOPC_NodeId *src)
 
SOPC_ReturnStatus SOPC_NodeId_CopyAux (void *dest, const void *src)
 
void SOPC_NodeId_Clear (SOPC_NodeId *nodeId)
 
void SOPC_NodeId_ClearAux (void *value)
 
SOPC_ReturnStatus SOPC_NodeId_Compare (const SOPC_NodeId *left, const SOPC_NodeId *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_NodeId_CompareAux (const void *left, const void *right, int32_t *comparison)
 
bool SOPC_NodeId_Equal (const SOPC_NodeId *left, const SOPC_NodeId *right)
 
bool SOPC_NodeId_IsNull (const SOPC_NodeId *nodeId)
 
void SOPC_NodeId_Hash (const SOPC_NodeId *nodeId, uint64_t *hash)
 
char * SOPC_NodeId_ToCString (const SOPC_NodeId *nodeId)
 Allocates a C string containing the normalized representation of a NodeId. Must be freed by caller after use. More...
 
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. More...
 
SOPC_NodeIdSOPC_NodeId_FromCString (const char *cString, int32_t len)
 Alloacates and initializes a NodeId from a normalized C string. See SOPC_String_InitializeFromCString. More...
 
SOPC_DictSOPC_NodeId_Dict_Create (bool free_keys, SOPC_Dict_Free_Fct value_free)
 Creates a dictionary which keys are NodeId. More...
 
void SOPC_ExpandedNodeId_Initialize (SOPC_ExpandedNodeId *expNodeId)
 
void SOPC_ExpandedNodeId_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_ExpandedNodeId_Copy (SOPC_ExpandedNodeId *dest, const SOPC_ExpandedNodeId *src)
 
SOPC_ReturnStatus SOPC_ExpandedNodeId_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_ExpandedNodeId_Compare (const SOPC_ExpandedNodeId *left, const SOPC_ExpandedNodeId *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_ExpandedNodeId_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_ExpandedNodeId_Clear (SOPC_ExpandedNodeId *expNodeId)
 
void SOPC_ExpandedNodeId_ClearAux (void *value)
 
void SOPC_StatusCode_Initialize (SOPC_StatusCode *status)
 
void SOPC_StatusCode_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_StatusCode_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_StatusCode_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_StatusCode_Clear (SOPC_StatusCode *status)
 
void SOPC_StatusCode_ClearAux (void *value)
 
void SOPC_DiagnosticInfo_Initialize (SOPC_DiagnosticInfo *diagInfo)
 
void SOPC_DiagnosticInfo_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_DiagnosticInfo_Copy (SOPC_DiagnosticInfo *dest, const SOPC_DiagnosticInfo *src)
 
SOPC_ReturnStatus SOPC_DiagnosticInfo_CopyAux (void *dest, const void *src)
 
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)
 
void SOPC_DiagnosticInfo_Clear (SOPC_DiagnosticInfo *diagInfo)
 
void SOPC_DiagnosticInfo_ClearAux (void *value)
 
void SOPC_QualifiedName_Initialize (SOPC_QualifiedName *qname)
 
void SOPC_QualifiedName_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_QualifiedName_Copy (SOPC_QualifiedName *dest, const SOPC_QualifiedName *src)
 
SOPC_ReturnStatus SOPC_QualifiedName_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_QualifiedName_Compare (const SOPC_QualifiedName *left, const SOPC_QualifiedName *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_QualifiedName_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_QualifiedName_Clear (SOPC_QualifiedName *qname)
 
void SOPC_QualifiedName_ClearAux (void *value)
 
SOPC_ReturnStatus SOPC_QualifiedName_ParseCString (SOPC_QualifiedName *qname, const char *str)
 
void SOPC_LocalizedText_Initialize (SOPC_LocalizedText *localizedText)
 
void SOPC_LocalizedText_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_LocalizedText_Copy (SOPC_LocalizedText *dest, const SOPC_LocalizedText *src)
 
SOPC_ReturnStatus SOPC_LocalizedText_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_LocalizedText_Compare (const SOPC_LocalizedText *left, const SOPC_LocalizedText *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_LocalizedText_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_LocalizedText_Clear (SOPC_LocalizedText *localizedText)
 
void SOPC_LocalizedText_ClearAux (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. Note: array is considered to contain only LocalizedText single values (other values than default fields are ignored) More...
 
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). More...
 
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, if it is a NULL LocalizedText clear all localized text stored Note: src shall not contain a list of localized text, only default localized text fields. More...
 
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 in src. The preferred locale is selected using the preferred locale Ids array localeIds (ordered by preference priority). More...
 
SOPC_ReturnStatus SOPC_LocalizedTextArray_GetPreferredLocale (SOPC_LocalizedText *dest, char **preferredLocaleIds, int32_t nbLocalizedText, const SOPC_LocalizedText *srcArray)
 
void SOPC_ExtensionObject_Initialize (SOPC_ExtensionObject *extObj)
 
void SOPC_ExtensionObject_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_ExtensionObject_Copy (SOPC_ExtensionObject *dest, const SOPC_ExtensionObject *src)
 
SOPC_ReturnStatus SOPC_ExtensionObject_Move (SOPC_ExtensionObject *dest, SOPC_ExtensionObject *src)
 
SOPC_ReturnStatus SOPC_ExtensionObject_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_ExtensionObject_Compare (const SOPC_ExtensionObject *left, const SOPC_ExtensionObject *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_ExtensionObject_CompareAux (const void *left, const void *right, int32_t *comparison)
 
void SOPC_ExtensionObject_Clear (SOPC_ExtensionObject *extObj)
 
void SOPC_ExtensionObject_ClearAux (void *value)
 
SOPC_VariantSOPC_Variant_Create (void)
 allocates and return a SOPC_Variant More...
 
void SOPC_Variant_Initialize (SOPC_Variant *variant)
 Initialize a Variant. Do not initialize existing variants without clearing them first. More...
 
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 clearing them first. More...
 
void SOPC_Null_ClearAux (void *value)
 
SOPC_ReturnStatus SOPC_Null_CompareAux (const void *dest, const void *src, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_Null_CopyAux (void *dest, const void *src)
 
void SOPC_Variant_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_Variant_Copy (SOPC_Variant *dest, const SOPC_Variant *src)
 
SOPC_ReturnStatus SOPC_Variant_CopyAux (void *dest, const void *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: More...
 
SOPC_ReturnStatus SOPC_Variant_GetRange (SOPC_Variant *dst, const SOPC_Variant *src, const SOPC_NumericRange *range)
 
SOPC_ReturnStatus SOPC_Variant_SetRange (SOPC_Variant *dst, const SOPC_Variant *src, const SOPC_NumericRange *range)
 
SOPC_ReturnStatus SOPC_Variant_ShallowCopy (SOPC_Variant *dst, const SOPC_Variant *src)
 
void SOPC_Variant_Move (SOPC_Variant *dest, SOPC_Variant *src)
 
SOPC_ReturnStatus SOPC_Variant_Compare (const SOPC_Variant *left, const SOPC_Variant *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_Variant_CompareAux (const void *left, const void *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_Variant_CompareCustom (SOPC_VariantValue_PfnCompCustom *compCustom, const void *compCustomContext, const SOPC_Variant *left, const SOPC_Variant *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_Variant_CompareRange (const SOPC_Variant *left, const SOPC_Variant *right, const SOPC_NumericRange *range, int32_t *comparison)
 
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)
 
void SOPC_Variant_Clear (SOPC_Variant *variant)
 
void SOPC_Variant_ClearAux (void *value)
 
void SOPC_Variant_Delete (SOPC_Variant *variant)
 
void SOPC_Variant_Print (SOPC_Variant *variant)
 
int32_t SOPC_Variant_GetArrayOrMatrixLength (const SOPC_Variant *var)
 Returns the number of values contained in a Variant with Array or Matrix value type. It might be used in combination with SOPC_VARIANT_GET_ARRAY_VALUES_PTR macro to iterate over all values in a generic way for array and matrix variants of a known variant type. More...
 
const void * SOPC_Variant_Get_SingleValue (const SOPC_Variant *var, SOPC_BuiltinId builtInTypeId)
 
const void * SOPC_Variant_Get_ArrayValue (const SOPC_Variant *var, SOPC_BuiltinId builtInTypeId, int32_t index)
 
bool SOPC_Variant_CopyInto_ArrayValueAt (const SOPC_Variant *var, SOPC_BuiltinId builtInTypeId, int32_t index, const void *value)
 
SOPC_NodeIdSOPC_Variant_Get_DataType (const SOPC_Variant *var)
 Returns the DataType identifier of the given variant as a newly allocated NodeId For built-in types except for ExtensionObject variant: built-in type NodeId is returned (single value / array) For ExtensionObject built-in type: More...
 
int32_t SOPC_Variant_Get_ValueRank (const SOPC_Variant *var)
 
bool SOPC_ValueRank_IsAssignableInto (int32_t dest_ValueRank, int32_t src_valueRank)
 
void SOPC_DataValue_Initialize (SOPC_DataValue *dataValue)
 
void SOPC_DataValue_InitializeAux (void *value)
 
SOPC_ReturnStatus SOPC_DataValue_Copy (SOPC_DataValue *dest, const SOPC_DataValue *src)
 
SOPC_ReturnStatus SOPC_DataValue_CopyAux (void *dest, const void *src)
 
SOPC_ReturnStatus SOPC_DataValue_Compare (const SOPC_DataValue *left, const SOPC_DataValue *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_DataValue_CompareAux (const void *left, const void *right, int32_t *comparison)
 
SOPC_ReturnStatus SOPC_DataValue_CompareRange (const SOPC_DataValue *left, const SOPC_DataValue *right, const SOPC_NumericRange *range, int32_t *comparison)
 
void SOPC_DataValue_Clear (SOPC_DataValue *dataValue)
 
void SOPC_DataValue_ClearAux (void *value)
 
void SOPC_Initialize_Array (int32_t noOfElts, void *eltsArray, size_t sizeOfElt, SOPC_EncodeableObject_PfnInitialize *initFct)
 
SOPC_ReturnStatus SOPC_Copy_Array (int32_t noOfElts, void *eltsArrayDest, const void *eltsArraySrc, size_t sizeOfElt, SOPC_EncodeableObject_PfnCopy *opFct)
 
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_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)
 
void SOPC_Clear_Array (int32_t *noOfElts, void **eltsArray, size_t sizeOfElt, SOPC_EncodeableObject_PfnClear *clearFct)
 

Variables

S2OPC_COMMON_EXPORT const SOPC_NodeIdSOPC_BuiltInTypeId_To_DataTypeNodeId [26]
 
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 service functions associated with each built-in type. More...
 

Macro Definition Documentation

◆ SOPC_GoodGenericStatus

#define SOPC_GoodGenericStatus   0x00000000

A generic Good status code.

◆ SOPC_GoodStatusOppositeMask

#define SOPC_GoodStatusOppositeMask   0xC0000000

An opposite mask for Good status code: Good status <=> (status & SOPC_GoodStatusOppositeMask) == 0.

◆ SOPC_UncertainStatusMask

#define SOPC_UncertainStatusMask   0x40000000

Masks to check status for Uncertain/Bad/Reserved status code: X status <=> (status & SOPC_<X>StatusMask) != 0.

◆ SOPC_BadStatusMask

#define SOPC_BadStatusMask   0x80000000

◆ SOPC_DataValueOverflowStatusMask

#define SOPC_DataValueOverflowStatusMask   0x00000480

Mask to check status contains the DataValue overflow bit set (InfoType DataValue bit + Overflow bit)

◆ SOPC_BUILTINID_MAX

#define SOPC_BUILTINID_MAX   25

◆ SOPC_VARIANT_GET_ARRAY_VALUES_PTR

#define SOPC_VARIANT_GET_ARRAY_VALUES_PTR (   pVar,
  eltTypeName 
)
Value:
(SOPC_VariantArrayType_Array == pVar->ArrayType \
? pVar->Value.Array.Content.eltTypeName##Arr \
: (SOPC_VariantArrayType_Matrix == pVar->ArrayType ? pVar->Value.Matrix.Content.eltTypeName##Arr : NULL))

◆ SECURITY_POLICY_NONE

#define SECURITY_POLICY_NONE   "http://opcfoundation.org/UA/SecurityPolicy#None"

◆ SECURITY_POLICY_BASIC128RSA15

#define SECURITY_POLICY_BASIC128RSA15   "http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"

◆ SECURITY_POLICY_BASIC256

#define SECURITY_POLICY_BASIC256   "http://opcfoundation.org/UA/SecurityPolicy#Basic256"

◆ SECURITY_POLICY_BASIC256SHA256

#define SECURITY_POLICY_BASIC256SHA256   "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"

◆ SOPC_NS0_NUMERIC_NODEID

#define SOPC_NS0_NUMERIC_NODEID (   opcUaId)
Value:
{ \
SOPC_IdentifierType_Numeric, 0, .Data.Numeric = opcUaId \
}

Typedef Documentation

◆ SOPC_StatusCode

typedef uint32_t SOPC_StatusCode

◆ SOPC_BuiltinId

◆ SOPC_Byte

typedef uint8_t SOPC_Byte

◆ SOPC_Boolean

◆ SOPC_SByte

typedef int8_t SOPC_SByte

◆ SOPC_String

typedef struct SOPC_String SOPC_String

This structure provides string encapsulation.

◆ SOPC_XmlElement

◆ SOPC_ByteString

◆ SOPC_DateTime

typedef int64_t SOPC_DateTime

◆ SOPC_Guid

typedef struct SOPC_Guid SOPC_Guid

◆ SOPC_IdentifierType

This enum provides fundamental identifier type.

◆ SOPC_NodeId

typedef struct SOPC_NodeId SOPC_NodeId

This structure describes a basic NodeID in OPC UA.

◆ SOPC_ExpandedNodeId

ExpandedNodeId allows the namespace to be specified explicitly as a string or with an index in the Server’s namespace table.

◆ SOPC_DiagnosticInfo

This structure provides vendor specific diagnostic information.

◆ SOPC_QualifiedName

◆ SOPC_LocalizedText

◆ SOPC_ExtObjectBodyEncoding

This enum provides additional information on which data type format transported.

◆ SOPC_ExtensionObject

An ExtensionObject is a container for any Structured DataTypes which cannot be encoded as one of the other built-in data types. it contains fields that describes which data is transported and how it is described.

◆ SOPC_VariantArrayTypeFlag

◆ SOPC_VariantArrayType

◆ SOPC_VariantArrayValue

This union provides all possible contents for Variant arrays, depending on their SOPC_BuiltinId.

◆ SOPC_VariantValue

This union provides all possible contents for Variant, depending on their SOPC_BuiltinId.

◆ SOPC_Variant

typedef struct SOPC_Variant SOPC_Variant

This structure provides variant encapsulation.

◆ SOPC_DataValue

Each attribute in OPC UA has a DataValue caracterized by the following structure.

◆ SOPC_VariantValue_PfnCompCustom

typedef 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.

Parameters
customContextThe custom context provided to the custom comparison function
builtInTypeIdThe value type of left and right comparison operands
leftThe left operand for which type is defined by builtInTypeId
rightThe right operand for which type is defined by builtInTypeId
[out]Thecomparison result set when status returned is SOPC_STATUS_OK. When result is set it is expected to be:
  • (-1) if left < right
  • (0) if left == right
  • (+1) if left > right
Returns
SOPC_STATUS_OK if the comparison succeeded, SOPC_STATUS_UNSUPPORTED if the type is not supported.

◆ SOPC_BuiltInType_Handling

Built-in type handling. Provides all the generic service functions associated with a built-in type (except encoders and decoders which are declared in struct SOPC_BuiltInType_Encoders). Also define the allocation size of objects of a built-in type.

Enumeration Type Documentation

◆ SOPC_AttributeId

Enumerated for all possible OPC UA attribute ids.

Enumerator
SOPC_AttributeId_Invalid 
SOPC_AttributeId_NodeId 
SOPC_AttributeId_NodeClass 
SOPC_AttributeId_BrowseName 
SOPC_AttributeId_DisplayName 
SOPC_AttributeId_Description 
SOPC_AttributeId_WriteMask 
SOPC_AttributeId_UserWriteMask 
SOPC_AttributeId_IsAbstract 
SOPC_AttributeId_Symmetric 
SOPC_AttributeId_InverseName 
SOPC_AttributeId_ContainsNoLoops 
SOPC_AttributeId_EventNotifier 
SOPC_AttributeId_Value 
SOPC_AttributeId_DataType 
SOPC_AttributeId_ValueRank 
SOPC_AttributeId_ArrayDimensions 
SOPC_AttributeId_AccessLevel 
SOPC_AttributeId_UserAccessLevel 
SOPC_AttributeId_MinimumSamplingInterval 
SOPC_AttributeId_Historizing 
SOPC_AttributeId_Executable 
SOPC_AttributeId_UserExecutable 
SOPC_AttributeId_DataTypeDefinition 
SOPC_AttributeId_RolePermissions 
SOPC_AttributeId_UserRolePermissions 
SOPC_AttributeId_AccessRestrictions 
SOPC_AttributeId_AccessLevelEx 

◆ SOPC_BuiltinId

Enumerator
SOPC_Null_Id 
SOPC_Boolean_Id 
SOPC_SByte_Id 
SOPC_Byte_Id 
SOPC_Int16_Id 
SOPC_UInt16_Id 
SOPC_Int32_Id 
SOPC_UInt32_Id 
SOPC_Int64_Id 
SOPC_UInt64_Id 
SOPC_Float_Id 
SOPC_Double_Id 
SOPC_String_Id 
SOPC_DateTime_Id 
SOPC_Guid_Id 
SOPC_ByteString_Id 
SOPC_XmlElement_Id 
SOPC_NodeId_Id 
SOPC_ExpandedNodeId_Id 
SOPC_StatusCode_Id 
SOPC_QualifiedName_Id 
SOPC_LocalizedText_Id 
SOPC_ExtensionObject_Id 
SOPC_DataValue_Id 
SOPC_Variant_Id 
SOPC_DiagnosticInfo_Id 

◆ SOPC_IdentifierType

This enum provides fundamental identifier type.

Enumerator
SOPC_IdentifierType_Numeric 
SOPC_IdentifierType_String 
SOPC_IdentifierType_Guid 
SOPC_IdentifierType_ByteString 

◆ SOPC_ExtObjectBodyEncoding

This enum provides additional information on which data type format transported.

Enumerator
SOPC_ExtObjBodyEncoding_None 
SOPC_ExtObjBodyEncoding_ByteString 
SOPC_ExtObjBodyEncoding_XMLElement 
SOPC_ExtObjBodyEncoding_Object 

◆ SOPC_VariantArrayTypeFlag

Enumerator
SOPC_VariantArrayValueFlag 
SOPC_VariantArrayDimensionsFlag 

◆ SOPC_VariantArrayType

Enumerator
SOPC_VariantArrayType_SingleValue 
SOPC_VariantArrayType_Array 
SOPC_VariantArrayType_Matrix 

Function Documentation

◆ SOPC_IsGoodStatus()

bool SOPC_IsGoodStatus ( SOPC_StatusCode  status)

Evaluates if the provided status is Good.

Parameters
statusThe status to evaluate
Returns
True if the provided status is Good, false otherwise

◆ SOPC_StatusCode_ToTcpErrorCode()

SOPC_StatusCode SOPC_StatusCode_ToTcpErrorCode ( SOPC_StatusCode  status)

Restricts and converts the status code to the only status code authorized for TCP error code.

◆ SOPC_Boolean_Initialize()

void SOPC_Boolean_Initialize ( SOPC_Boolean b)

Initialize a pointer for a specific builtintype (Boolean, String, Int16...)

Note
The functions which have prototype as : SOPC_BUILTINTYPE_Initialize() will get the same description.
Warning
This kind of function must be used to prevent indeterminist behavior for any builtintypes.
Parameters
bThe pointer related to the specific builtintype will be initialized to "0".

◆ SOPC_Boolean_InitializeAux()

void SOPC_Boolean_InitializeAux ( void *  value)

Initialize a generic pointer using cast method.

Note
The functions which have prototype as: SOPC_BUILTINTYPE_InitializeAux() will get the same description.
Parameters
valueThe pointer will be initialized to "0".

◆ SOPC_Boolean_CopyAux()

SOPC_ReturnStatus SOPC_Boolean_CopyAux ( void *  dest,
const void *  src 
)

Copy the content of a generic pointer to another one.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_CopyAux() will get the same description.
Parameters
desta generic pointer that will be casted in specific builtintype pointer to receive src content.
srca generic pointer that will be casted in specific builtintype pointer and its content will be copied in dest.
Returns
SOPC_STATUS_OK in case of success, otherwise SOPC_STATUS_INVALID_PARAMETERS

◆ SOPC_Boolean_CompareAux()

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 parameter.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_CompareAux() will get the same description.
Parameters
lefta generic pointer that will be casted in specific builtintype pointer
righta generic pointer that will be casted in specific builtintype pointer
comparisonthese possible values are:
  • 1 : left pointer < right pointer
  • 0 : left pointer == right pointer
  • -1 : right pointer < left pointer
Returns
SOPC_STATUS_OK in case of success, otherwise SOPC_STATUS_INVALID_PARAMETERS

◆ SOPC_Boolean_Clear()

void SOPC_Boolean_Clear ( SOPC_Boolean b)

Clear the content of a specific builtintype pointer.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_Clear() will get the same description.
Parameters
bThe specific builtintype pointer content will be cleared to "0,false,Free": depending on if it is a String, Boolean, integer, etc.

◆ SOPC_Boolean_ClearAux()

void SOPC_Boolean_ClearAux ( void *  value)

Clear the content of a generic pointer.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_ClearAux() will get the same description.
Parameters
valueThe generic pointer content will be casted in specific builtintype pointer and its content will be cleared to "0,false,Free" depending on if it is a String, Boolean, integer, etc.

◆ SOPC_SByte_Initialize()

void SOPC_SByte_Initialize ( SOPC_SByte sbyte)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_SByte_InitializeAux()

void SOPC_SByte_InitializeAux ( void *  value)

◆ SOPC_SByte_CopyAux()

SOPC_ReturnStatus SOPC_SByte_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_SByte_CompareAux()

SOPC_ReturnStatus SOPC_SByte_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_SByte_Clear()

void SOPC_SByte_Clear ( SOPC_SByte sbyte)

◆ SOPC_SByte_ClearAux()

void SOPC_SByte_ClearAux ( void *  value)

◆ SOPC_Byte_Initialize()

void SOPC_Byte_Initialize ( SOPC_Byte byte)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_Byte_InitializeAux()

void SOPC_Byte_InitializeAux ( void *  value)

◆ SOPC_Byte_CopyAux()

SOPC_ReturnStatus SOPC_Byte_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Byte_CompareAux()

SOPC_ReturnStatus SOPC_Byte_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_Byte_Clear()

void SOPC_Byte_Clear ( SOPC_Byte byte)

◆ SOPC_Byte_ClearAux()

void SOPC_Byte_ClearAux ( void *  value)

◆ SOPC_Int16_Initialize()

void SOPC_Int16_Initialize ( int16_t *  intv)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_Int16_InitializeAux()

void SOPC_Int16_InitializeAux ( void *  value)

◆ SOPC_Int16_CopyAux()

SOPC_ReturnStatus SOPC_Int16_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Int16_CompareAux()

SOPC_ReturnStatus SOPC_Int16_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_Int16_Clear()

void SOPC_Int16_Clear ( int16_t *  intv)

◆ SOPC_Int16_ClearAux()

void SOPC_Int16_ClearAux ( void *  value)

◆ SOPC_UInt16_Initialize()

void SOPC_UInt16_Initialize ( uint16_t *  uint)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_UInt16_InitializeAux()

void SOPC_UInt16_InitializeAux ( void *  value)

◆ SOPC_UInt16_CopyAux()

SOPC_ReturnStatus SOPC_UInt16_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_UInt16_CompareAux()

SOPC_ReturnStatus SOPC_UInt16_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_UInt16_Clear()

void SOPC_UInt16_Clear ( uint16_t *  uint)

◆ SOPC_UInt16_ClearAux()

void SOPC_UInt16_ClearAux ( void *  value)

◆ SOPC_Int32_Initialize()

void SOPC_Int32_Initialize ( int32_t *  intv)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_Int32_InitializeAux()

void SOPC_Int32_InitializeAux ( void *  value)

◆ SOPC_Int32_CopyAux()

SOPC_ReturnStatus SOPC_Int32_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Int32_CompareAux()

SOPC_ReturnStatus SOPC_Int32_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_Int32_Clear()

void SOPC_Int32_Clear ( int32_t *  intv)

◆ SOPC_Int32_ClearAux()

void SOPC_Int32_ClearAux ( void *  value)

◆ SOPC_UInt32_Initialize()

void SOPC_UInt32_Initialize ( uint32_t *  uint)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_UInt32_InitializeAux()

void SOPC_UInt32_InitializeAux ( void *  value)

◆ SOPC_UInt32_CopyAux()

SOPC_ReturnStatus SOPC_UInt32_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_UInt32_CompareAux()

SOPC_ReturnStatus SOPC_UInt32_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_UInt32_Clear()

void SOPC_UInt32_Clear ( uint32_t *  uint)

◆ SOPC_UInt32_ClearAux()

void SOPC_UInt32_ClearAux ( void *  value)

◆ SOPC_Int64_Initialize()

void SOPC_Int64_Initialize ( int64_t *  intv)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_Int64_InitializeAux()

void SOPC_Int64_InitializeAux ( void *  value)

◆ SOPC_Int64_CopyAux()

SOPC_ReturnStatus SOPC_Int64_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Int64_CompareAux()

SOPC_ReturnStatus SOPC_Int64_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_Int64_Clear()

void SOPC_Int64_Clear ( int64_t *  intv)

◆ SOPC_Int64_ClearAux()

void SOPC_Int64_ClearAux ( void *  value)

◆ SOPC_UInt64_Initialize()

void SOPC_UInt64_Initialize ( uint64_t *  uint)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_UInt64_InitializeAux()

void SOPC_UInt64_InitializeAux ( void *  value)

◆ SOPC_UInt64_CopyAux()

SOPC_ReturnStatus SOPC_UInt64_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_UInt64_CompareAux()

SOPC_ReturnStatus SOPC_UInt64_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_UInt64_Clear()

void SOPC_UInt64_Clear ( uint64_t *  uint)

◆ SOPC_UInt64_ClearAux()

void SOPC_UInt64_ClearAux ( void *  value)

◆ SOPC_Float_Initialize()

void SOPC_Float_Initialize ( float *  f)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_Float_InitializeAux()

void SOPC_Float_InitializeAux ( void *  value)

◆ SOPC_Float_CopyAux()

SOPC_ReturnStatus SOPC_Float_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Float_CompareAux()

SOPC_ReturnStatus SOPC_Float_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_Float_Clear()

void SOPC_Float_Clear ( float *  f)

◆ SOPC_Float_ClearAux()

void SOPC_Float_ClearAux ( void *  value)

◆ SOPC_Double_Initialize()

void SOPC_Double_Initialize ( double *  d)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_Double_InitializeAux()

void SOPC_Double_InitializeAux ( void *  value)

◆ SOPC_Double_CopyAux()

SOPC_ReturnStatus SOPC_Double_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Double_CompareAux()

SOPC_ReturnStatus SOPC_Double_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_Double_Clear()

void SOPC_Double_Clear ( double *  d)

◆ SOPC_Double_ClearAux()

void SOPC_Double_ClearAux ( void *  value)

◆ SOPC_ByteString_Initialize()

void SOPC_ByteString_Initialize ( SOPC_ByteString bstring)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_ByteString_InitializeAux()

void SOPC_ByteString_InitializeAux ( void *  value)

◆ SOPC_ByteString_Create()

SOPC_ByteString* SOPC_ByteString_Create ( void  )

Create a valid specific builtintype pointer.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_Create() will get the same description.
Warning
This kind of function do x-bytes of allocation memory, so the pointer must be freed by invoking SOPC_BUILTINTYPE_Delete() function.
Returns
A valid pointer otherwise it returns NULL pointer if allocation failed.

◆ SOPC_ByteString_InitializeFixedSize()

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 function.

Warning
This function do x-bytes of allocation memory, so the pointer must be freed by invoking SOPC_ByteString_Delete() function.
Parameters
bstringThe ByteString pointer which will be initialized.
sizenumber of bytes to be allocate.
Returns
A valid pointer otherwise it returns NULL pointer if allocation failed.

◆ SOPC_ByteString_CopyFromBytes()

SOPC_ReturnStatus SOPC_ByteString_CopyFromBytes ( SOPC_ByteString dest,
const SOPC_Byte bytes,
int32_t  length 
)

Return a deep copy of a Byte array.

Parameters
[out]destMust be a non-NULL pointer to an uninitialized ByteString. Do not use an already allocated string or operation will fail.
bytesA pointer to at least length bytes. (Can contain zeros)
lengthThe number of bytes to copy.

◆ SOPC_ByteString_Copy()

SOPC_ReturnStatus SOPC_ByteString_Copy ( SOPC_ByteString dest,
const SOPC_ByteString src 
)

Return a deep copy of another ByteString. See SOPC_ByteString_CopyFromBytes.

◆ SOPC_ByteString_CopyAux()

SOPC_ReturnStatus SOPC_ByteString_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_ByteString_Clear()

void SOPC_ByteString_Clear ( SOPC_ByteString bstring)

◆ SOPC_ByteString_ClearAux()

void SOPC_ByteString_ClearAux ( void *  value)

◆ SOPC_ByteString_Delete()

void SOPC_ByteString_Delete ( SOPC_ByteString bstring)

Free a specific builtintype pointer thus it will transform it into an invalid pointer.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_Delete() will get the same description.
Warning
This kind of function frees the memory used, so each SOPC_BUILTINTYPE_Create() function need to call SOPC_BUILTINTYPE_Delete() function to avoid leak memory or segmentation fault error.
Parameters
bstringThe specific builtintype pointer that will be freed.

◆ SOPC_ByteString_Compare()

SOPC_ReturnStatus SOPC_ByteString_Compare ( const SOPC_ByteString left,
const SOPC_ByteString right,
int32_t *  comparison 
)
See also
description in similar function SOPC_Boolean_CompareAux

◆ SOPC_ByteString_CompareAux()

SOPC_ReturnStatus SOPC_ByteString_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)
See also
description in similar function SOPC_Boolean_CompareAux

◆ SOPC_ByteString_Equal()

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 result.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_Equal() will get the same description.
Parameters
leftThe content of a specific builtintype pointer to be compare with another pointer of the same type.
rightThe content of a specific builtintype pointer to be compare with another pointer of the same type.
Returns
true if the two contents are equal otherwise false.

◆ SOPC_String_Initialize()

void SOPC_String_Initialize ( SOPC_String string)
See also
description in similar function SOPC_Boolean_Initialize

◆ SOPC_String_InitializeAux()

void SOPC_String_InitializeAux ( void *  value)
See also
description in similar function SOPC_Boolean_InitializeAux

◆ SOPC_String_Create()

SOPC_String* SOPC_String_Create ( void  )

Allocates and return a new String (initialized as empty).

◆ SOPC_String_CopyFromCString()

SOPC_ReturnStatus SOPC_String_CopyFromCString ( SOPC_String string,
const char *  cString 
)

Copy a C-String to the Data field of the SOPC_String object.

Parameters
stringThe pointer to the SOPC_String object
cStringThe C-String that would be copied in the Data field
Returns
SOPC_STATUS_OK in case of success, otherwise SOPC_STATUS_INVALID_STATE

◆ SOPC_String_CopyAux()

SOPC_ReturnStatus SOPC_String_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_String_InitializeFromCString()

SOPC_ReturnStatus SOPC_String_InitializeFromCString ( SOPC_String string,
const char *  cString 
)

Initialize the content of a specific builtintype pointer with a C-String.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_InitializeFromCString() will get the same description.
Parameters
stringMust be a non-NULL pointer to an uninitialized 'BUILTINTYPE'. Do not use an already allocated object or this will lead to a memory leak.
cStringThe C-String.
Returns
SOPC_STATUS_OK in case of success, otherwise SOPC_STATUS_INVALID_PARAMETERS if there are bad input parameters or SOPC_STATUS_NOK if an error occurs.

◆ SOPC_String_GetCString()

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.

Warning
This function allocates new memory, so the return value must be freed after this call function.
Parameters
stringThe SOPC_String pointer whose content will be extracted.
Returns
A valid C-String otherwise it returns NULL pointer if allocation failed or there were bad input parameters.

◆ SOPC_String_GetRawCString()

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.

Warning
The value returned is not a copy, so :
  • The returned value can only be used while the input object is defined.
  • The returned value shall not be freed.
Parameters
stringThe SOPC_String pointer which content will be extracted.
Returns
A valid C-String. Returns NULL if string was NULL.
Note
The presence of a terminated NULL char is ensured by all SOPC_String constructors.

◆ SOPC_String_AttachFrom()

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.

Parameters
destThe pointer to the destination SOPC_String object.
srcThe pointer to the source SOPC_String object.
Returns
SOPC_STATUS_OK in case of success, otherwise SOPC_STATUS_INVALID_PARAMETERS

◆ SOPC_String_AttachFromCstring()

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 dest is cleared.

Parameters
destThe pointer to the destination SOPC_String object
srcThe C-String data that will be copied to the destination SOPC_String object
Returns
SOPC_STATUS_OK in case of success, otherwise SOPC_STATUS_INVALID_PARAMETERS

◆ SOPC_String_Copy()

SOPC_ReturnStatus SOPC_String_Copy ( SOPC_String dest,
const SOPC_String src 
)

Create a copy of src into dest.

Note
Since an allocation is used, the user must freed the dest pointer after using it. Furthermore, it is a copy, so be sure to clear bytes on clear.
Parameters
destThe pointer to the destination SOPC_String object.
srcThe pointer to the source SOPC_String object.
Returns
SOPC_STATUS_OK in case of success, otherwise SOPC_STATUS_INVALID_PARAMETERS if there are bad inputs parameters or SOPC_STATUS_OUT_OF_MEMORY if no space memory available.

◆ SOPC_String_Clear()

void SOPC_String_Clear ( SOPC_String bstring)

◆ SOPC_String_ClearAux()

void SOPC_String_ClearAux ( void *  value)

◆ SOPC_String_Delete()

void SOPC_String_Delete ( SOPC_String bstring)
See also
SOPC_Boolean_Delete

◆ SOPC_String_Compare()

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.

Note
The functions which have prototype as : SOPC_BUILTINTYPE_Compare() will get approximately the same description (some parameters might change according to the goal function).
Parameters
lefta generic pointer that will be casted in specific builtintype pointer
righta generic pointer that will be casted in specific builtintype pointer
ignoreCasefalse if ignore sensitive case otherwise it is true.
comparisonthese possible values are:
  • 1 : left pointer < right pointer
  • 0 : left pointer == right pointer
  • -1 : right pointer < left pointer
Returns
SOPC_STATUS_OK in case of success, otherwise SOPC_STATUS_INVALID_PARAMETERS

◆ SOPC_String_CompareAux()

SOPC_ReturnStatus SOPC_String_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_String_Equal()

bool SOPC_String_Equal ( const SOPC_String left,
const SOPC_String right 
)

◆ SOPC_String_GetRawCStringArray()

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 NOT modify the content of the returned array and to call SOPC_Free on the array (and NOT the array content) after use.

Parameters
nbOfStringsThe number of elements in stringArray
stringArrayThe array of SOPC_String to retrieve as C-string array
Returns
C-String array containing the strings contains in the SOPC_String array without string copy. NULL is returned in case of invalid arguments, and {NULL} in case of empty SOPC_String array.

◆ SOPC_String_GetCStringArray()

char** SOPC_String_GetCStringArray ( int32_t  nbOfStrings,
SOPC_String stringArray 
)

Returns a NULL terminated C-string array copying the strings.

Parameters
nbOfStringsThe number of elements in stringArray
stringArrayThe array of SOPC_String to retrieve as C-string array
Returns
C-String array containing the strings contains in the SOPC_String array without string copy. NULL is returned in case of invalid arguments, and {NULL} in case of empty SOPC_String array.

◆ SOPC_XmlElement_Initialize()

void SOPC_XmlElement_Initialize ( SOPC_XmlElement xmlElt)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_XmlElement_InitializeAux()

void SOPC_XmlElement_InitializeAux ( void *  value)

◆ SOPC_XmlElement_Copy()

SOPC_ReturnStatus SOPC_XmlElement_Copy ( SOPC_XmlElement dest,
const SOPC_XmlElement src 
)

◆ SOPC_XmlElement_CopyAux()

SOPC_ReturnStatus SOPC_XmlElement_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_XmlElement_Compare()

SOPC_ReturnStatus SOPC_XmlElement_Compare ( const SOPC_XmlElement left,
const SOPC_XmlElement right,
int32_t *  comparison 
)

◆ SOPC_XmlElement_CompareAux()

SOPC_ReturnStatus SOPC_XmlElement_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_XmlElement_Clear()

void SOPC_XmlElement_Clear ( SOPC_XmlElement xmlElt)

◆ SOPC_XmlElement_ClearAux()

void SOPC_XmlElement_ClearAux ( void *  value)

◆ SOPC_DateTime_Initialize()

void SOPC_DateTime_Initialize ( SOPC_DateTime dateTime)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_DateTime_InitializeAux()

void SOPC_DateTime_InitializeAux ( void *  value)

◆ SOPC_DateTime_CopyAux()

SOPC_ReturnStatus SOPC_DateTime_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_DateTime_Compare()

SOPC_ReturnStatus SOPC_DateTime_Compare ( const SOPC_DateTime left,
const SOPC_DateTime right,
int32_t *  comparison 
)

◆ SOPC_DateTime_CompareAux()

SOPC_ReturnStatus SOPC_DateTime_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_DateTime_Clear()

void SOPC_DateTime_Clear ( SOPC_DateTime dateTime)

◆ SOPC_DateTime_ClearAux()

void SOPC_DateTime_ClearAux ( void *  value)

◆ SOPC_Guid_Initialize()

void SOPC_Guid_Initialize ( SOPC_Guid guid)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_Guid_InitializeAux()

void SOPC_Guid_InitializeAux ( void *  value)

◆ SOPC_Guid_FromCString()

SOPC_ReturnStatus SOPC_Guid_FromCString ( SOPC_Guid guid,
const char *  str,
size_t  len 
)

◆ SOPC_Guid_ToCString()

char* SOPC_Guid_ToCString ( const SOPC_Guid guid)

◆ SOPC_Guid_Copy()

SOPC_ReturnStatus SOPC_Guid_Copy ( SOPC_Guid dest,
const SOPC_Guid src 
)

◆ SOPC_Guid_CompareAux()

SOPC_ReturnStatus SOPC_Guid_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_Guid_CopyAux()

SOPC_ReturnStatus SOPC_Guid_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Guid_Compare()

SOPC_ReturnStatus SOPC_Guid_Compare ( const SOPC_Guid left,
const SOPC_Guid right,
int32_t *  comparison 
)

◆ SOPC_Guid_Clear()

void SOPC_Guid_Clear ( SOPC_Guid guid)

◆ SOPC_Guid_ClearAux()

void SOPC_Guid_ClearAux ( void *  value)

◆ SOPC_NodeId_Initialize()

void SOPC_NodeId_Initialize ( SOPC_NodeId nodeId)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_NodeId_InitializeAux()

void SOPC_NodeId_InitializeAux ( void *  value)

◆ SOPC_NodeId_Copy()

SOPC_ReturnStatus SOPC_NodeId_Copy ( SOPC_NodeId dest,
const SOPC_NodeId src 
)

◆ SOPC_NodeId_CopyAux()

SOPC_ReturnStatus SOPC_NodeId_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_NodeId_Clear()

void SOPC_NodeId_Clear ( SOPC_NodeId nodeId)

◆ SOPC_NodeId_ClearAux()

void SOPC_NodeId_ClearAux ( void *  value)

◆ SOPC_NodeId_Compare()

SOPC_ReturnStatus SOPC_NodeId_Compare ( const SOPC_NodeId left,
const SOPC_NodeId right,
int32_t *  comparison 
)

◆ SOPC_NodeId_CompareAux()

SOPC_ReturnStatus SOPC_NodeId_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_NodeId_Equal()

bool SOPC_NodeId_Equal ( const SOPC_NodeId left,
const SOPC_NodeId right 
)

◆ SOPC_NodeId_IsNull()

bool SOPC_NodeId_IsNull ( const SOPC_NodeId nodeId)

◆ SOPC_NodeId_Hash()

void SOPC_NodeId_Hash ( const SOPC_NodeId nodeId,
uint64_t *  hash 
)

◆ SOPC_NodeId_ToCString()

char* SOPC_NodeId_ToCString ( const SOPC_NodeId nodeId)

Allocates a C string containing the normalized representation of a NodeId. Must be freed by caller after use.

◆ SOPC_NodeId_InitializeFromCString()

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_NodeId_FromCString()

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.

◆ SOPC_NodeId_Dict_Create()

SOPC_Dict* SOPC_NodeId_Dict_Create ( bool  free_keys,
SOPC_Dict_Free_Fct  value_free 
)

Creates a dictionary which keys are NodeId.

Parameters
free_keysTrue if the dictionary is responsible for deleting keys on element removal
value_freeThe Free function for deleted elements. (Can be null if no deletion is required)

◆ SOPC_ExpandedNodeId_Initialize()

void SOPC_ExpandedNodeId_Initialize ( SOPC_ExpandedNodeId expNodeId)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_ExpandedNodeId_InitializeAux()

void SOPC_ExpandedNodeId_InitializeAux ( void *  value)

◆ SOPC_ExpandedNodeId_Copy()

SOPC_ReturnStatus SOPC_ExpandedNodeId_Copy ( SOPC_ExpandedNodeId dest,
const SOPC_ExpandedNodeId src 
)

◆ SOPC_ExpandedNodeId_CopyAux()

SOPC_ReturnStatus SOPC_ExpandedNodeId_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_ExpandedNodeId_Compare()

SOPC_ReturnStatus SOPC_ExpandedNodeId_Compare ( const SOPC_ExpandedNodeId left,
const SOPC_ExpandedNodeId right,
int32_t *  comparison 
)

◆ SOPC_ExpandedNodeId_CompareAux()

SOPC_ReturnStatus SOPC_ExpandedNodeId_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_ExpandedNodeId_Clear()

void SOPC_ExpandedNodeId_Clear ( SOPC_ExpandedNodeId expNodeId)

◆ SOPC_ExpandedNodeId_ClearAux()

void SOPC_ExpandedNodeId_ClearAux ( void *  value)

◆ SOPC_StatusCode_Initialize()

void SOPC_StatusCode_Initialize ( SOPC_StatusCode status)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_StatusCode_InitializeAux()

void SOPC_StatusCode_InitializeAux ( void *  value)

◆ SOPC_StatusCode_CopyAux()

SOPC_ReturnStatus SOPC_StatusCode_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_StatusCode_CompareAux()

SOPC_ReturnStatus SOPC_StatusCode_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_StatusCode_Clear()

void SOPC_StatusCode_Clear ( SOPC_StatusCode status)

◆ SOPC_StatusCode_ClearAux()

void SOPC_StatusCode_ClearAux ( void *  value)

◆ SOPC_DiagnosticInfo_Initialize()

void SOPC_DiagnosticInfo_Initialize ( SOPC_DiagnosticInfo diagInfo)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_DiagnosticInfo_InitializeAux()

void SOPC_DiagnosticInfo_InitializeAux ( void *  value)

◆ SOPC_DiagnosticInfo_Copy()

SOPC_ReturnStatus SOPC_DiagnosticInfo_Copy ( SOPC_DiagnosticInfo dest,
const SOPC_DiagnosticInfo src 
)

◆ SOPC_DiagnosticInfo_CopyAux()

SOPC_ReturnStatus SOPC_DiagnosticInfo_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_DiagnosticInfo_Compare()

SOPC_ReturnStatus SOPC_DiagnosticInfo_Compare ( const SOPC_DiagnosticInfo left,
const SOPC_DiagnosticInfo right,
int32_t *  comparison 
)

◆ SOPC_DiagnosticInfo_CompareAux()

SOPC_ReturnStatus SOPC_DiagnosticInfo_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_DiagnosticInfo_Clear()

void SOPC_DiagnosticInfo_Clear ( SOPC_DiagnosticInfo diagInfo)

◆ SOPC_DiagnosticInfo_ClearAux()

void SOPC_DiagnosticInfo_ClearAux ( void *  value)

◆ SOPC_QualifiedName_Initialize()

void SOPC_QualifiedName_Initialize ( SOPC_QualifiedName qname)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_QualifiedName_InitializeAux()

void SOPC_QualifiedName_InitializeAux ( void *  value)

◆ SOPC_QualifiedName_Copy()

SOPC_ReturnStatus SOPC_QualifiedName_Copy ( SOPC_QualifiedName dest,
const SOPC_QualifiedName src 
)

◆ SOPC_QualifiedName_CopyAux()

SOPC_ReturnStatus SOPC_QualifiedName_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_QualifiedName_Compare()

SOPC_ReturnStatus SOPC_QualifiedName_Compare ( const SOPC_QualifiedName left,
const SOPC_QualifiedName right,
int32_t *  comparison 
)

◆ SOPC_QualifiedName_CompareAux()

SOPC_ReturnStatus SOPC_QualifiedName_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_QualifiedName_Clear()

void SOPC_QualifiedName_Clear ( SOPC_QualifiedName qname)

◆ SOPC_QualifiedName_ClearAux()

void SOPC_QualifiedName_ClearAux ( void *  value)

◆ SOPC_QualifiedName_ParseCString()

SOPC_ReturnStatus SOPC_QualifiedName_ParseCString ( SOPC_QualifiedName qname,
const char *  str 
)

◆ SOPC_LocalizedText_Initialize()

void SOPC_LocalizedText_Initialize ( SOPC_LocalizedText localizedText)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_LocalizedText_InitializeAux()

void SOPC_LocalizedText_InitializeAux ( void *  value)

◆ SOPC_LocalizedText_Copy()

SOPC_ReturnStatus SOPC_LocalizedText_Copy ( SOPC_LocalizedText dest,
const SOPC_LocalizedText src 
)

◆ SOPC_LocalizedText_CopyAux()

SOPC_ReturnStatus SOPC_LocalizedText_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_LocalizedText_Compare()

SOPC_ReturnStatus SOPC_LocalizedText_Compare ( const SOPC_LocalizedText left,
const SOPC_LocalizedText right,
int32_t *  comparison 
)

◆ SOPC_LocalizedText_CompareAux()

SOPC_ReturnStatus SOPC_LocalizedText_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_LocalizedText_Clear()

void SOPC_LocalizedText_Clear ( SOPC_LocalizedText localizedText)

◆ SOPC_LocalizedText_ClearAux()

void SOPC_LocalizedText_ClearAux ( void *  value)

◆ SOPC_LocalizedText_CopyFromArray()

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. Note: array is considered to contain only LocalizedText single values (other values than default fields are ignored)

Parameters
destSetOfLtThe destination empty LocalizedText which will contain data of the LocalizedText array (default field will contain index 0 of array and the list the rest)
nbEltsNumber of element of the array
srcArrayOfLtThe source array of LocalizedText to be copied into a unique LocalizedText structure (as a set). The array should contain only single LocalizedText value (default fields only), the rest will be ignored.
Returns
SOPC_STATUS_OK in case of success

◆ SOPC_LocalizedText_CopyToArray()

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).

Parameters
dstArrayThe destination pointer in which the array of LocalizedText will be allocated. The array contain only single LocalizedText value (default fields only).
nbEltsThe destination pointer in which the number of elements in the array will be stored
srcSetOfLtThe source LocalizedText set (or single value) to be copied into the array.
Returns
SOPC_STATUS_OK in case of success

◆ SOPC_LocalizedText_AddOrSetLocale()

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, if it is a NULL LocalizedText clear all localized text stored Note: src shall not contain a list of localized text, only default localized text fields.

Parameters
destSetOfLtThe localizedText object in which additional (or existent) localized text will be added
supportedLocaleIdsThe NULL terminated list of supported locales of the owner of the localizedText object (use as read only)
srcThe localizedText object containing a single localized text, the locale shall be "" or one of the locales supported. Otherwise the SOPC_STATUS_NOT_SUPPORTED is returned.
Returns
SOPC_STATUS_OK if the operation succeeded and error status otherwise

◆ SOPC_LocalizedText_GetPreferredLocale()

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 in src. The preferred locale is selected using the preferred locale Ids array localeIds (ordered by preference priority).

  1. Attempt to find the first matching locale considering the whole localeId which may contain [language]-[courntry/region] or only [language]
  2. Attempt to find the first matching locale considering only the [language] part
  3. If no there is no locale match, returns the default locale of src localized text
Parameters
destThe empty or single value localizedText object in a preferred localized text shall be set
preferredLocaleIdsThe NULL terminated list of preferred locales by priority order (use as read only)
srcSetOfLtThe localizedText object containing multiple localized texts in which the preferred one shall be chosen. If none is compatible, choose the default one.
Returns
SOPC_STATUS_OK if the operation succeeded and error status otherwise

◆ SOPC_LocalizedTextArray_GetPreferredLocale()

SOPC_ReturnStatus SOPC_LocalizedTextArray_GetPreferredLocale ( SOPC_LocalizedText dest,
char **  preferredLocaleIds,
int32_t  nbLocalizedText,
const SOPC_LocalizedText srcArray 
)

◆ SOPC_ExtensionObject_Initialize()

void SOPC_ExtensionObject_Initialize ( SOPC_ExtensionObject extObj)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_ExtensionObject_InitializeAux()

void SOPC_ExtensionObject_InitializeAux ( void *  value)

◆ SOPC_ExtensionObject_Copy()

SOPC_ReturnStatus SOPC_ExtensionObject_Copy ( SOPC_ExtensionObject dest,
const SOPC_ExtensionObject src 
)

◆ SOPC_ExtensionObject_Move()

SOPC_ReturnStatus SOPC_ExtensionObject_Move ( SOPC_ExtensionObject dest,
SOPC_ExtensionObject src 
)

◆ SOPC_ExtensionObject_CopyAux()

SOPC_ReturnStatus SOPC_ExtensionObject_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_ExtensionObject_Compare()

SOPC_ReturnStatus SOPC_ExtensionObject_Compare ( const SOPC_ExtensionObject left,
const SOPC_ExtensionObject right,
int32_t *  comparison 
)

◆ SOPC_ExtensionObject_CompareAux()

SOPC_ReturnStatus SOPC_ExtensionObject_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_ExtensionObject_Clear()

void SOPC_ExtensionObject_Clear ( SOPC_ExtensionObject extObj)

◆ SOPC_ExtensionObject_ClearAux()

void SOPC_ExtensionObject_ClearAux ( void *  value)

◆ SOPC_Variant_Create()

SOPC_Variant* SOPC_Variant_Create ( void  )

allocates and return a SOPC_Variant

◆ SOPC_Variant_Initialize()

void SOPC_Variant_Initialize ( SOPC_Variant variant)

Initialize a Variant. Do not initialize existing variants without clearing them first.

◆ SOPC_Variant_Initialize_Array()

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 clearing them first.

◆ SOPC_Null_ClearAux()

void SOPC_Null_ClearAux ( void *  value)

◆ SOPC_Null_CompareAux()

SOPC_ReturnStatus SOPC_Null_CompareAux ( const void *  dest,
const void *  src,
int32_t *  comparison 
)

◆ SOPC_Null_CopyAux()

SOPC_ReturnStatus SOPC_Null_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Variant_InitializeAux()

void SOPC_Variant_InitializeAux ( void *  value)

◆ SOPC_Variant_Copy()

SOPC_ReturnStatus SOPC_Variant_Copy ( SOPC_Variant dest,
const SOPC_Variant src 
)

◆ SOPC_Variant_CopyAux()

SOPC_ReturnStatus SOPC_Variant_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_Variant_HasRange()

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:

  • the number of dimensions is compatible with the variant value
  • range(s) start is valid for variant value
  • range(s) end is valid for variant value if not for a write operation
Note
Intrinsic range validity was already checked by SOPC_NumericRange_Parse (the first integer shall have a lower value than the second).
Parameters
variantThe variant for which the range is checked
rangeThe range to check for given variant
fullRangeWhen true, the function checks that at least one element of the array is valid for range (typical for a "Read" array check). When false, the function checks that all elements of the array are valid for range (typical for a "Write" array check).
[out]hasRangeThe result pointer parameter, the result is true if the range is valid for the given variant and false otherwise
Returns
SOPC_STATUS_INVALID_PARAMETERS if a parameter is NULL or the number of dimensions is 0, SOPC_STATUS_OK otherwise.

◆ SOPC_Variant_GetRange()

SOPC_ReturnStatus SOPC_Variant_GetRange ( SOPC_Variant dst,
const SOPC_Variant src,
const SOPC_NumericRange range 
)

◆ SOPC_Variant_SetRange()

SOPC_ReturnStatus SOPC_Variant_SetRange ( SOPC_Variant dst,
const SOPC_Variant src,
const SOPC_NumericRange range 
)

◆ SOPC_Variant_ShallowCopy()

SOPC_ReturnStatus SOPC_Variant_ShallowCopy ( SOPC_Variant dst,
const SOPC_Variant src 
)

◆ SOPC_Variant_Move()

void SOPC_Variant_Move ( SOPC_Variant dest,
SOPC_Variant src 
)

◆ SOPC_Variant_Compare()

SOPC_ReturnStatus SOPC_Variant_Compare ( const SOPC_Variant left,
const SOPC_Variant right,
int32_t *  comparison 
)

◆ SOPC_Variant_CompareAux()

SOPC_ReturnStatus SOPC_Variant_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_Variant_CompareCustom()

SOPC_ReturnStatus SOPC_Variant_CompareCustom ( SOPC_VariantValue_PfnCompCustom compCustom,
const void *  compCustomContext,
const SOPC_Variant left,
const SOPC_Variant right,
int32_t *  comparison 
)

◆ SOPC_Variant_CompareRange()

SOPC_ReturnStatus SOPC_Variant_CompareRange ( const SOPC_Variant left,
const SOPC_Variant right,
const SOPC_NumericRange range,
int32_t *  comparison 
)

◆ SOPC_Variant_CompareCustomRange()

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 
)

◆ SOPC_Variant_Clear()

void SOPC_Variant_Clear ( SOPC_Variant variant)

◆ SOPC_Variant_ClearAux()

void SOPC_Variant_ClearAux ( void *  value)

◆ SOPC_Variant_Delete()

void SOPC_Variant_Delete ( SOPC_Variant variant)

◆ SOPC_Variant_Print()

void SOPC_Variant_Print ( SOPC_Variant variant)

◆ SOPC_Variant_GetArrayOrMatrixLength()

int32_t SOPC_Variant_GetArrayOrMatrixLength ( const SOPC_Variant var)

Returns the number of values contained in a Variant with Array or Matrix value type. It might be used in combination with SOPC_VARIANT_GET_ARRAY_VALUES_PTR macro to iterate over all values in a generic way for array and matrix variants of a known variant type.

Parameters
varThe Variant with Array or Matrix type for which the number of values is requested
Returns
The number of values contained in the given Variant or -1 in case of unexpected error. Unexpected errors: var is NULL or a single value variant, an ArrayDimension is <= 0, length computation based on ArrayDimensions overflow.

◆ SOPC_Variant_Get_SingleValue()

const void* SOPC_Variant_Get_SingleValue ( const SOPC_Variant var,
SOPC_BuiltinId  builtInTypeId 
)

◆ SOPC_Variant_Get_ArrayValue()

const void* SOPC_Variant_Get_ArrayValue ( const SOPC_Variant var,
SOPC_BuiltinId  builtInTypeId,
int32_t  index 
)

◆ SOPC_Variant_CopyInto_ArrayValueAt()

bool SOPC_Variant_CopyInto_ArrayValueAt ( const SOPC_Variant var,
SOPC_BuiltinId  builtInTypeId,
int32_t  index,
const void *  value 
)

◆ SOPC_Variant_Get_DataType()

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 except for ExtensionObject variant: built-in type NodeId is returned (single value / array) For ExtensionObject built-in type:

  • single value: if the object is decoded returns the NodeId based on the object SOPC_EncodeableType content, otherwise returns the Structure abstract DataType NodeId.
  • array/matrix value: if the array is empty, returns the Null NodeId. if all array elements have same type, same behavior as single value. if elements have different types, returns the Structure abstract DataType NodeId.
Parameters
varThe Variant for which the DataType is returned
Returns
The newly DataType NodeId of the given variant (to be deallocated by caller) or NULL (NULL variant or extension object without body encoded or allocation failure)

◆ SOPC_Variant_Get_ValueRank()

int32_t SOPC_Variant_Get_ValueRank ( const SOPC_Variant var)

◆ SOPC_ValueRank_IsAssignableInto()

bool SOPC_ValueRank_IsAssignableInto ( int32_t  dest_ValueRank,
int32_t  src_valueRank 
)

◆ SOPC_DataValue_Initialize()

void SOPC_DataValue_Initialize ( SOPC_DataValue dataValue)
See also
description in similar function SOPC_Boolean_xxxx

◆ SOPC_DataValue_InitializeAux()

void SOPC_DataValue_InitializeAux ( void *  value)

◆ SOPC_DataValue_Copy()

SOPC_ReturnStatus SOPC_DataValue_Copy ( SOPC_DataValue dest,
const SOPC_DataValue src 
)

◆ SOPC_DataValue_CopyAux()

SOPC_ReturnStatus SOPC_DataValue_CopyAux ( void *  dest,
const void *  src 
)

◆ SOPC_DataValue_Compare()

SOPC_ReturnStatus SOPC_DataValue_Compare ( const SOPC_DataValue left,
const SOPC_DataValue right,
int32_t *  comparison 
)

◆ SOPC_DataValue_CompareAux()

SOPC_ReturnStatus SOPC_DataValue_CompareAux ( const void *  left,
const void *  right,
int32_t *  comparison 
)

◆ SOPC_DataValue_CompareRange()

SOPC_ReturnStatus SOPC_DataValue_CompareRange ( const SOPC_DataValue left,
const SOPC_DataValue right,
const SOPC_NumericRange range,
int32_t *  comparison 
)

◆ SOPC_DataValue_Clear()

void SOPC_DataValue_Clear ( SOPC_DataValue dataValue)

◆ SOPC_DataValue_ClearAux()

void SOPC_DataValue_ClearAux ( void *  value)

◆ SOPC_Initialize_Array()

void SOPC_Initialize_Array ( int32_t  noOfElts,
void *  eltsArray,
size_t  sizeOfElt,
SOPC_EncodeableObject_PfnInitialize initFct 
)

◆ SOPC_Copy_Array()

SOPC_ReturnStatus SOPC_Copy_Array ( int32_t  noOfElts,
void *  eltsArrayDest,
const void *  eltsArraySrc,
size_t  sizeOfElt,
SOPC_EncodeableObject_PfnCopy opFct 
)

◆ SOPC_Comp_Array()

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_CompCustom_Array()

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 
)

◆ SOPC_Clear_Array()

void SOPC_Clear_Array ( int32_t *  noOfElts,
void **  eltsArray,
size_t  sizeOfElt,
SOPC_EncodeableObject_PfnClear clearFct 
)

Variable Documentation

◆ SOPC_BuiltInTypeId_To_DataTypeNodeId

S2OPC_COMMON_EXPORT const SOPC_NodeId* SOPC_BuiltInTypeId_To_DataTypeNodeId[26]

◆ SOPC_BuiltInType_HandlingTable

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 service functions associated with each built-in type.

SOPC_VariantArrayType_Matrix
@ SOPC_VariantArrayType_Matrix
Definition: sopc_builtintypes.h:289
SOPC_VariantArrayType_Array
@ SOPC_VariantArrayType_Array
Definition: sopc_builtintypes.h:288