UA ANSI C Server Professional  1.4.0.285
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
UaServerUtilities

Macros

#define OpcUa_DateTime_Clone(a_pValue, a_pCopy)   *(a_pCopy) = *(a_pValue)
 
#define OpcUa_NodeId_Clone(a_pValue, a_pCopy)   OpcUa_NodeId_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_ExpandedNodeId_Clone(a_pValue, a_pCopy)   OpcUa_ExpandedNodeId_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_String_Clone(a_pValue, a_pCopy)   OpcUa_String_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_QualifiedName_Clone(a_pValue, a_pCopy)   OpcUa_QualifiedName_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_LocalizedText_Clone(a_pValue, a_pCopy)   OpcUa_LocalizedText_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_Variant_Clone(a_pValue, a_pCopy)   OpcUa_Variant_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_NotificationMessage_Clone(a_pValue, a_pCopy)   OpcUa_NotificationMessage_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_DataChangeNotification_Clone(a_pValue, a_pCopy)   OpcUa_DataChangeNotification_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_DiagnosticInfo_Clone(a_pValue, a_pCopy)   OpcUa_DiagnosticInfo_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_DataValue_Clone(a_pValue, a_pCopy)   OpcUa_DataValue_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_MonitoredItemNotification_Clone(a_pValue, a_pCopy)   OpcUa_MonitoredItemNotification_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_ByteString_Clone(a_pValue, a_pCopy)   OpcUa_ByteString_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_XmlElement_Clone(a_pValue, a_pCopy)   OpcUa_XmlElement_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_BrowseDescription_Clone(a_pValue, a_pCopy)   OpcUa_BrowseDescription_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_ReferenceDescription_Clone(a_pValue, a_pCopy)   OpcUa_ReferenceDescription_CopyTo(a_pValue, a_pCopy)
 
#define OpcUa_BrowseResult_Clone(a_pValue, a_pCopy)   OpcUa_BrowseResult_CopyTo(a_pValue, a_pCopy)
 
#define OPCUA_CURRENT_READ   1
 
#define OPCUA_CURRENT_WRITE   2
 
#define OPCUA_HISTORY_READ   4
 
#define OPCUA_HISROTY_WRITE   8
 

Functions

OpcUa_StatusCode UaServer_ProviderList_AddProvider (UaServer *a_pServer, UaServer_Provider *a_pProvider)
 Adds a new provider to the server configuration. More...
 
OpcUa_StatusCode UaServer_ProviderList_Create (UaServer *a_pServer)
 Initialize and Fill the Provider List. More...
 
OpcUa_StatusCode UaServer_ProviderList_ReserveProviders (UaServer *a_pServer, int numProviders)
 Reserves space in provider list to avoid later reallocation when calling AddProvider. More...
 
UaServer_ProviderUaServer_ProviderList_GetProvider (UaServer *a_pServer, OpcUa_UInt16 a_NamespaceIndex)
 Returns the provider for the given namespace index. More...
 
OpcUa_StatusCode UaServer_CreateVariantStringArray (OpcUa_Variant *pVariant, const OpcUa_CharA **pStringArray, OpcUa_UInt32 uNumberOfStrings)
 ToDoDoc. More...
 
OpcUa_StatusCode UaServer_CreateVariantUInt32Array (OpcUa_Variant *pVariant, OpcUa_UInt32 *pUInt32Array, OpcUa_UInt32 uNumberOfUInt32s)
 Create an array of Variant UInts. More...
 
OpcUa_StatusCode UaServer_RingBuffer_Initialize (UaServer_RingBuffer *a_pRingbuffer, OpcUa_UInt32 a_uSize)
 Initialize a Ringbuffer. More...
 
OpcUa_Void UaServer_RingBuffer_Clear (UaServer_RingBuffer *a_pRingbuffer)
 Clear a Ringbuffer. More...
 
OpcUa_Void * UaServer_RingBuffer_Pop (UaServer_RingBuffer *a_pRingbuffer)
 Get an Element from a Ringbuffer. More...
 
OpcUa_Void * UaServer_RingBuffer_Push (UaServer_RingBuffer *a_pRingbuffer, OpcUa_Void *a_pData)
 Push an Element into a Ringbuffer. More...
 
OpcUa_StatusCode UaServer_RingBuffer_PushSafe (UaServer_RingBuffer *a_pRingbuffer, OpcUa_Void *a_pData)
 Push an Element into a Rinbuffer if it fits. More...
 
OpcUa_Void * UaServer_RingBuffer_GetFirst (UaServer_RingBuffer *a_pRingbuffer)
 Gets the first element of the Ringbuffer without modifying the Ringbuffer. More...
 
OpcUa_Void * UaServer_RingBuffer_ReplaceLast (UaServer_RingBuffer *a_pRingbuffer, OpcUa_Void *a_pData)
 Replaces the last element of the Ringbuffer with a new one. More...
 
OpcUa_Int32 UaServer_RingBuffer_Count (UaServer_RingBuffer *a_pRingbuffer)
 Get the number of items stored in a ringbuffer. More...
 
OpcUa_Boolean OpcUa_Variant_CompareDeadbandAbsolute (OpcUa_Variant *a, OpcUa_Variant *b, OpcUa_Double deadbandValue)
 Compares two variants considering a deadband value. More...
 
OpcUa_Boolean OpcUa_Variant_CompareDeadbandPercent (OpcUa_Variant *a, OpcUa_Variant *b, OpcUa_Double deadbandValue, OpcUa_Double dLow, OpcUa_Double dHigh)
 Compares two variants considering a deadband percent value. More...
 
OpcUa_StatusCode UaServer_ParseIndexRange (const OpcUa_String *a_pString, UaServer_NumericRange *a_pRangeArray, OpcUa_UInt32 *a_pMaxRanges)
 Parses a NumericRange string. More...
 
OpcUa_StatusCode UaServer_VariantNumericRangePlausible (OpcUa_Variant *a_pVariant, UaServer_NumericRange *a_pRangeArray, OpcUa_Int32 a_NumRanges)
 Check if the given NumericRangeArray fits the Variant. More...
 
OpcUa_StatusCode UaServer_StringGetSubstring (const OpcUa_String *a_pString, OpcUa_UInt32 a_uFrom, OpcUa_UInt32 a_uTo, OpcUa_String **a_ppSubString)
 Returns a newly created string that is a substring of the given string. More...
 
OpcUa_StatusCode UaServer_VariantAdjustElementsByNumericRanges (OpcUa_Variant *a_pVariant, UaServer_NumericRange *a_pRangeArray, OpcUa_Int32 a_NumRanges)
 Choose the elements defined in the NumericRange array in the given Variant. More...
 
OpcUa_UInt16 UaServer_NamespaceIndex_GetByUri (const OpcUa_CharA *a_NamespaceURI)
 Returns the NamespaceIndex to the given NamespaceURI. More...
 
OpcUa_StatusCode UaServer_GetNonValueAttribute (OpcUa_UInt32 a_AttributeId, OpcUa_BaseNode *a_pNode, OpcUa_Variant *a_pValue, UaServer_PublicSession *a_pSession)
 Fills the value of the given attribute of the node into a variant. More...
 
OpcUa_StatusCode UaServer_DecryptPassword (UaServer_PublicSession *a_pSession, OpcUa_ByteString *a_bsPassword, OpcUa_String *a_sEncryptionAlgorithm, OpcUa_String *a_sPassword)
 Decrypts a password from an OpcUa_UserNameIdentityToken. More...
 
OpcUa_StatusCode UaServer_VerifySignature (UaServer_PublicSession *a_pSession, OpcUa_ByteString *a_pUserCertificate, OpcUa_ByteString *a_pServerCertificate, OpcUa_SignatureData *a_pSignatureData)
 Checks the UserTokenSignature of a OpcUa_X509IdentityToken. More...
 
OpcUa_StatusCode UaServer_GetUserIdentity (OpcUa_String *a_sUsername, OpcUa_UInt16 *a_pUID, OpcUa_UInt16 *a_pGID, OpcUa_String *a_sPasswordHash)
 Returns user identity information. More...
 
OpcUa_StatusCode UaServer_GetUserGroups (OpcUa_String *a_sUsername, OpcUa_UInt16 *a_piNoGroups, OpcUa_UInt16 a_pGroups[])
 Returns list of groups to which a user belongs. More...
 
OpcUa_StatusCode UaServer_GetGroupId (OpcUa_String *a_sGroupname, OpcUa_UInt16 *a_pGID)
 Returns the GID for the five groupname. More...
 
OpcUa_StatusCode OpcUa_Variant_SetBoolean (OpcUa_Variant *pVariant, OpcUa_Boolean value)
 Initializes a variant with a boolean value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetSByte (OpcUa_Variant *pVariant, OpcUa_SByte value)
 Initializes a variant with a SByte value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetByte (OpcUa_Variant *pVariant, OpcUa_Byte value)
 Initializes a variant with a Byte value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetInt16 (OpcUa_Variant *pVariant, OpcUa_Int16 value)
 Initializes a variant with a Int16 value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetUInt16 (OpcUa_Variant *pVariant, OpcUa_UInt16 value)
 Initializes a variant with a UInt16 value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetInt32 (OpcUa_Variant *pVariant, OpcUa_Int32 value)
 Initializes a variant with a Int32 value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetUInt32 (OpcUa_Variant *pVariant, OpcUa_UInt32 value)
 Initializes a variant with a UInt32 value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetInt64 (OpcUa_Variant *pVariant, OpcUa_Int64 value)
 Initializes a variant with a Int64 value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetUInt64 (OpcUa_Variant *pVariant, OpcUa_UInt64 value)
 Initializes a variant with a UInt64 value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetFloat (OpcUa_Variant *pVariant, OpcUa_Float value)
 Initializes a variant with a Float value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetDouble (OpcUa_Variant *pVariant, OpcUa_Double value)
 Initializes a variant with a Double value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetString (OpcUa_Variant *pVariant, const OpcUa_String *pValue)
 Initializes a variant with a String value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetDateTime (OpcUa_Variant *pVariant, OpcUa_DateTime value)
 Initializes a variant with a DateTime value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetGuid (OpcUa_Variant *pVariant, OpcUa_Guid *pValue)
 Initializes a variant with a Guid value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetByteString (OpcUa_Variant *pVariant, const OpcUa_ByteString *pValue)
 Initializes a variant with a ByteString value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetXmlElement (OpcUa_Variant *pVariant, const OpcUa_XmlElement *pValue)
 Initializes a variant with an XmlElement value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetNodeId (OpcUa_Variant *pVariant, const OpcUa_NodeId *pValue)
 Initializes a variant with a NodeId value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetExpandedNodeId (OpcUa_Variant *pVariant, const OpcUa_ExpandedNodeId *pValue)
 Initializes a variant with a ExpandedNodeId value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetStatusCode (OpcUa_Variant *pVariant, OpcUa_StatusCode value)
 Initializes a variant with a StatusCode value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetQualifiedName (OpcUa_Variant *pVariant, const OpcUa_QualifiedName *pValue)
 Initializes a variant with a QualifiedName value. More...
 
OpcUa_StatusCode OpcUa_Variant_SetLocalizedText (OpcUa_Variant *pVariant, const OpcUa_LocalizedText *pValue)
 Initializes a variant with a LocalizedText value. More...
 

Detailed Description

Macro Definition Documentation

#define OpcUa_BrowseDescription_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_BrowseDescription_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_BrowseDescription_CopyTo instead.
#define OpcUa_BrowseResult_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_BrowseResult_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_BrowseResult_CopyTo instead.
#define OpcUa_ByteString_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_ByteString_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_ByteString_CopyTo instead.
#define OPCUA_CURRENT_READ   1
Deprecated:
This define will be removed in the next version, use OpcUa_AccessLevels_CurrentRead instead.
#define OPCUA_CURRENT_WRITE   2
Deprecated:
This define will be removed in the next version, use OpcUa_AccessLevels_CurrentWrite instead.
#define OpcUa_DataChangeNotification_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_DataChangeNotification_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_DataChangeNotification_CopyTo instead.
#define OpcUa_DataValue_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_DataValue_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_DataValue_CopyTo instead.
#define OpcUa_DateTime_Clone (   a_pValue,
  a_pCopy 
)    *(a_pCopy) = *(a_pValue)
Deprecated:
This define will be removed in the next version, use OpcUa_DateTime_CopyTo instead.
#define OpcUa_DiagnosticInfo_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_DiagnosticInfo_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_DiagnosticInfo_CopyTo instead.
#define OpcUa_ExpandedNodeId_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_ExpandedNodeId_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_ExpandedNodeId_CopyTo instead.
#define OPCUA_HISROTY_WRITE   8
Deprecated:
This define will be removed in the next version, use OpcUa_AccessLevels_HistoryWrite instead.
#define OPCUA_HISTORY_READ   4
Deprecated:
This define will be removed in the next version, use OpcUa_AccessLevels_HistoryRead instead.
#define OpcUa_LocalizedText_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_LocalizedText_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_LocalizedText_CopyTo instead.
#define OpcUa_MonitoredItemNotification_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_MonitoredItemNotification_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_MonitoredItemNotification_CopyTo instead.
#define OpcUa_NodeId_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_NodeId_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_NodeId_CopyTo instead.
#define OpcUa_NotificationMessage_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_NotificationMessage_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_NotificationMessage_CopyTo instead.
#define OpcUa_QualifiedName_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_QualifiedName_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_QualifiedName_CopyTo instead.
#define OpcUa_ReferenceDescription_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_ReferenceDescription_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_ReferenceDescription_CopyTo instead.
#define OpcUa_String_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_String_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_String_CopyTo instead.
#define OpcUa_Variant_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_Variant_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_Variant_CopyTo instead.
#define OpcUa_XmlElement_Clone (   a_pValue,
  a_pCopy 
)    OpcUa_XmlElement_CopyTo(a_pValue, a_pCopy)
Deprecated:
This define will be removed in the next version, use OpcUa_XmlElement_CopyTo instead.

Function Documentation

OpcUa_Boolean OpcUa_Variant_CompareDeadbandAbsolute ( OpcUa_Variant *  a,
OpcUa_Variant *  b,
OpcUa_Double  deadbandValue 
)

Compares two variants considering a deadband value.

Parameters
[in]aThe first variant to compare
[in]bThe second variant to compare
[in]deadbandValueThe deadband value to include
Returns
OpcUa_True if the difference between the values is bigger than the deadband value, OpcUa_False otherwise. OpcUa_False is also returned if the type or array sizes of the two variants don't match.
OpcUa_Boolean OpcUa_Variant_CompareDeadbandPercent ( OpcUa_Variant *  a,
OpcUa_Variant *  b,
OpcUa_Double  deadbandValue,
OpcUa_Double  dLow,
OpcUa_Double  dHigh 
)

Compares two variants considering a deadband percent value.

Parameters
[in]aThe first variant to compare
[in]bThe second variant to compare
[in]deadbandValueThe deadband value to include
[in]dLowThe low limit of the value's EURange
[in]dHighThe high limit of the value's EURange
Returns
OpcUa_True if (absolute value of (last cached value - current value) > (deadbandValue/100.0) * ((high–low) of EURange))), OpcUa_False otherwise. OpcUa_False is also returned if the type or array sizes of the two variants don't match.
OpcUa_StatusCode OpcUa_Variant_SetBoolean ( OpcUa_Variant *  pVariant,
OpcUa_Boolean  value 
)

Initializes a variant with a boolean value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetByte ( OpcUa_Variant *  pVariant,
OpcUa_Byte  value 
)

Initializes a variant with a Byte value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetByteString ( OpcUa_Variant *  pVariant,
const OpcUa_ByteString *  pValue 
)

Initializes a variant with a ByteString value.

This function makes a deep copy of the ByteString.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetDateTime ( OpcUa_Variant *  pVariant,
OpcUa_DateTime  value 
)

Initializes a variant with a DateTime value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetDouble ( OpcUa_Variant *  pVariant,
OpcUa_Double  value 
)

Initializes a variant with a Double value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetExpandedNodeId ( OpcUa_Variant *  pVariant,
const OpcUa_ExpandedNodeId *  pValue 
)

Initializes a variant with a ExpandedNodeId value.

This function makes a deep copy of the ExpandedNodeId.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetFloat ( OpcUa_Variant *  pVariant,
OpcUa_Float  value 
)

Initializes a variant with a Float value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetGuid ( OpcUa_Variant *  pVariant,
OpcUa_Guid *  pValue 
)

Initializes a variant with a Guid value.

This function takes ownership of the given Guid, it does not copy it. So you must not free the Guid after calling this function. This way you can write code like:

OpcUa_Variant_SetGuid(&value, OpcUa_Guid_Create(0));

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetInt16 ( OpcUa_Variant *  pVariant,
OpcUa_Int16  value 
)

Initializes a variant with a Int16 value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetInt32 ( OpcUa_Variant *  pVariant,
OpcUa_Int32  value 
)

Initializes a variant with a Int32 value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetInt64 ( OpcUa_Variant *  pVariant,
OpcUa_Int64  value 
)

Initializes a variant with a Int64 value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetLocalizedText ( OpcUa_Variant *  pVariant,
const OpcUa_LocalizedText *  pValue 
)

Initializes a variant with a LocalizedText value.

This function makes a deep copy of the LocalizedText.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetNodeId ( OpcUa_Variant *  pVariant,
const OpcUa_NodeId *  pValue 
)

Initializes a variant with a NodeId value.

This function makes a deep copy of the NodeId.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetQualifiedName ( OpcUa_Variant *  pVariant,
const OpcUa_QualifiedName *  pValue 
)

Initializes a variant with a QualifiedName value.

This function makes a deep copy of the QualifiedName.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetSByte ( OpcUa_Variant *  pVariant,
OpcUa_SByte  value 
)

Initializes a variant with a SByte value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetStatusCode ( OpcUa_Variant *  pVariant,
OpcUa_StatusCode  value 
)

Initializes a variant with a StatusCode value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetString ( OpcUa_Variant *  pVariant,
const OpcUa_String *  pValue 
)

Initializes a variant with a String value.

This function makes a deep copy of the String.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetUInt16 ( OpcUa_Variant *  pVariant,
OpcUa_UInt16  value 
)

Initializes a variant with a UInt16 value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetUInt32 ( OpcUa_Variant *  pVariant,
OpcUa_UInt32  value 
)

Initializes a variant with a UInt32 value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetUInt64 ( OpcUa_Variant *  pVariant,
OpcUa_UInt64  value 
)

Initializes a variant with a UInt64 value.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode OpcUa_Variant_SetXmlElement ( OpcUa_Variant *  pVariant,
const OpcUa_XmlElement *  pValue 
)

Initializes a variant with an XmlElement value.

This function makes a deep copy of the XmlElement.

This function intializes the variant structure (it does not clear it). Then it sets the correct datatype and assigns the value.

This function was introduced in V1.3.0.

OpcUa_StatusCode UaServer_CreateVariantStringArray ( OpcUa_Variant *  pVariant,
const OpcUa_CharA **  pStringArray,
OpcUa_UInt32  uNumberOfStrings 
)

ToDoDoc.

Parameters
pVarianta pointer to a variant variable.
pStringArraypointer to an array of Strings.
uNumberOfStringsthe number of Strings.
Returns
the OPC UA Status code.
OpcUa_StatusCode UaServer_CreateVariantUInt32Array ( OpcUa_Variant *  pVariant,
OpcUa_UInt32 *  pUInt32Array,
OpcUa_UInt32  uNumberOfUInt32s 
)

Create an array of Variant UInts.

Parameters
pVarianta pointer to a variant variable.
pUInt32Arraypointer to an array of UInts.
uNumberOfUInt32sthe number of UInts.
Returns
the OPC UA Status code.
OpcUa_StatusCode UaServer_DecryptPassword ( UaServer_PublicSession a_pSession,
OpcUa_ByteString *  a_bsPassword,
OpcUa_String *  a_sEncryptionAlgorithm,
OpcUa_String *  a_sPassword 
)

Decrypts a password from an OpcUa_UserNameIdentityToken.

Parameters
a_pSessionThe session the OpcUa_UserNameIdentityToken belongs to.
a_bsPasswordThe encrypted password.
a_sEncryptionAlgorithmThe encryption algorithm used to encrypt the password. If this string is empty, the password is assumed to be unencrypted and is copied to the output a_sPassword.
a_sPasswordPointer to a string where the decrypted password will be stored in. The string has to be freed after it has been used.
Returns
OpcUa_Good if decryption was successful
OpcUa_StatusCode UaServer_GetGroupId ( OpcUa_String *  a_sGroupname,
OpcUa_UInt16 *  a_pGID 
)

Returns the GID for the five groupname.

This function was introduced in V1.3.0.

Parameters
a_sGroupnameName of the group.
a_pGIDNumeric group ID to return.
Returns
OpcUa_Good on success, OpcUa_Bad otherwise.
OpcUa_StatusCode UaServer_GetNonValueAttribute ( OpcUa_UInt32  a_AttributeId,
OpcUa_BaseNode *  a_pNode,
OpcUa_Variant *  a_pValue,
UaServer_PublicSession a_pSession 
)

Fills the value of the given attribute of the node into a variant.

Parameters
a_AttributeIdthe attribute ID to get.
a_pNodethe node to get the data from.
a_pValuethe variant to store the data in.
a_pSessionthe session reading the value.
Returns
Good if successful, otherwise BadAttributeIdInvalid.
OpcUa_StatusCode UaServer_GetUserGroups ( OpcUa_String *  a_sUsername,
OpcUa_UInt16 *  a_piNoGroups,
OpcUa_UInt16  a_pGroups[] 
)

Returns list of groups to which a user belongs.

Parameters
a_sUsernameThe username.
a_piNoGroupsNumber of groups.
a_pGroupsArray of group IDs.
Returns
OpcUa_Good on success, OpcUa_Bad otherwise.
OpcUa_StatusCode UaServer_GetUserIdentity ( OpcUa_String *  a_sUsername,
OpcUa_UInt16 *  a_pUID,
OpcUa_UInt16 *  a_pGID,
OpcUa_String *  a_sPasswordHash 
)

Returns user identity information.

Parameters
a_sUsernameThe username to lookup.
a_pUIDThe user id.
a_pGIDThe user's group id.
a_sPasswordHashThe user's password hash.
Returns
OpcUa_Good on success, OpcUa_Bad otherwise.
OpcUa_UInt16 UaServer_NamespaceIndex_GetByUri ( const OpcUa_CharA *  a_NamespaceURI)

Returns the NamespaceIndex to the given NamespaceURI.

Parameters
a_NamespaceURIthe NamespaceURI.
Returns
the NamespaceIndex.
OpcUa_StatusCode UaServer_ParseIndexRange ( const OpcUa_String *  a_pString,
UaServer_NumericRange *  a_pRangeArray,
OpcUa_UInt32 *  a_pMaxRanges 
)

Parses a NumericRange string.

Parameters
a_pStringString to parse.
a_pRangeArrayArray of ranges to fill.
a_pMaxRangesNumber of elements in array.
Returns
StatusCode
OpcUa_StatusCode UaServer_ProviderList_AddProvider ( UaServer a_pServer,
UaServer_Provider a_pProvider 
)

Adds a new provider to the server configuration.

Parameters
a_pServerServer context.
a_pProviderProvider configuration.
OpcUa_StatusCode UaServer_ProviderList_Create ( UaServer a_pServer)

Initialize and Fill the Provider List.

Parameters
a_pServera pointer to the actual server.
Returns
the OPC UA Status code.
UaServer_Provider * UaServer_ProviderList_GetProvider ( UaServer a_pServer,
OpcUa_UInt16  a_NamespaceIndex 
)

Returns the provider for the given namespace index.

Parameters
a_pServerServer context.
a_NamespaceIndexThe namespace index.
Returns
Returns the pointer to the provider context if found or NULL if not found.
OpcUa_StatusCode UaServer_ProviderList_ReserveProviders ( UaServer a_pServer,
int  numProviders 
)

Reserves space in provider list to avoid later reallocation when calling AddProvider.

Parameters
a_pServerServer context.
numProvidersNumber of provider elements to preallocate.
OpcUa_Void UaServer_RingBuffer_Clear ( UaServer_RingBuffer *  a_pRingbuffer)

Clear a Ringbuffer.

Parameters
a_pRingbuffera pointer to the existing ringbuffer.
OpcUa_Int32 UaServer_RingBuffer_Count ( UaServer_RingBuffer *  a_pRingbuffer)

Get the number of items stored in a ringbuffer.

Parameters
a_pRingbuffera pointer to the existing ringbuffer.
Returns
the number of items stored in the ringbuffer.
OpcUa_Void * UaServer_RingBuffer_GetFirst ( UaServer_RingBuffer *  a_pRingbuffer)

Gets the first element of the Ringbuffer without modifying the Ringbuffer.

Parameters
a_pRingbuffera pointer to the existing ringbuffer.
Returns
the first element in the Ringbuffer.
OpcUa_StatusCode UaServer_RingBuffer_Initialize ( UaServer_RingBuffer *  a_pRingbuffer,
OpcUa_UInt32  a_uSize 
)

Initialize a Ringbuffer.

Parameters
a_pRingbuffera pointer to the new ringbuffer.
a_uSizethe size for the new ringbuffer.
Returns
the OPC UA Status code.
OpcUa_Void * UaServer_RingBuffer_Pop ( UaServer_RingBuffer *  a_pRingbuffer)

Get an Element from a Ringbuffer.

Parameters
a_pRingbuffera pointer to the existing ringbuffer.
OpcUa_Void * UaServer_RingBuffer_Push ( UaServer_RingBuffer *  a_pRingbuffer,
OpcUa_Void *  a_pData 
)

Push an Element into a Ringbuffer.

Parameters
[in]a_pRingbuffera pointer to the existing ringbuffer.
[in]a_pDatathe data to push into the ringbuffer.
Returns
DESCRIPTION
OpcUa_StatusCode UaServer_RingBuffer_PushSafe ( UaServer_RingBuffer *  a_pRingbuffer,
OpcUa_Void *  a_pData 
)

Push an Element into a Rinbuffer if it fits.

Parameters
a_pRingbuffera pointer to the existing ringbuffer.
a_pDatathe data to push into the ringbuffer.
Returns
the OPC UA Status code.
OpcUa_Void * UaServer_RingBuffer_ReplaceLast ( UaServer_RingBuffer *  a_pRingbuffer,
OpcUa_Void *  a_pData 
)

Replaces the last element of the Ringbuffer with a new one.

Parameters
a_pRingbuffera pointer to the existing ringbuffer.
a_pDatathe data to replace the last element with.
Returns
the element that was replaced by a_pData.
OpcUa_StatusCode UaServer_StringGetSubstring ( const OpcUa_String *  a_pString,
OpcUa_UInt32  a_uFrom,
OpcUa_UInt32  a_uTo,
OpcUa_String **  a_ppSubString 
)

Returns a newly created string that is a substring of the given string.

Parameters
a_pStringthe string to get the substring from.
a_uFromthe starting point of the substring.
a_uTothe last position of the substring.
a_ppSubStringpointer to store the created substring in.
Returns
OpcUa_Good if ok
OpcUa_StatusCode UaServer_VariantAdjustElementsByNumericRanges ( OpcUa_Variant *  a_pVariant,
UaServer_NumericRange *  a_pRangeArray,
OpcUa_Int32  a_NumRanges 
)

Choose the elements defined in the NumericRange array in the given Variant.

Parameters
a_pVariantthe Variant to adjust.
a_pRangeArrayArray of ranges.
a_NumRangesNumber of elements in a_pRangeArray.
Returns
OpcUa_Good if ok
OpcUa_StatusCode UaServer_VariantNumericRangePlausible ( OpcUa_Variant *  a_pVariant,
UaServer_NumericRange *  a_pRangeArray,
OpcUa_Int32  a_NumRanges 
)

Check if the given NumericRangeArray fits the Variant.

Parameters
a_pVariantThe Variant to check.
a_pRangeArrayArray of ranges to check.
a_NumRangesNumber of elements in a_pRangeArray.
Returns
OpcUa_Good if ok
OpcUa_StatusCode UaServer_VerifySignature ( UaServer_PublicSession a_pSession,
OpcUa_ByteString *  a_pUserCertificate,
OpcUa_ByteString *  a_pServerCertificate,
OpcUa_SignatureData *  a_pSignatureData 
)

Checks the UserTokenSignature of a OpcUa_X509IdentityToken.

Parameters
a_pSessionThe session the OpcUa_X509IdentityToken belongs to.
a_pUserCertificateThe user certificate contained in the token.
a_pServerCertificateThe server's certificate.
a_pSignatureDataThe signature created by the client.
Returns
OpcUa_Good if the signature is valid.