UA Ansi C Server Professional  1.3.1.232
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
UaServerUtilities

Data Structures

struct  _UaServer_NumericRange
 Numeric Range structure for OPC UA IndexRange parameter. More...

Functions

UaServer_UserData * UaServer_UserData_Create (OpcUa_Boolean a_IsBoundToSession, OpcUa_UInt32 a_SessionId)
 Convenience functions.
OpcUa_StatusCode UaServer_ProviderList_AddProvider (UaServer *a_pServer, UaServer_Provider *a_pProvider)
 Adds a new provider to the server configuration.
OpcUa_StatusCode UaServer_ProviderList_Create (UaServer *a_pServer)
 Initialize and Fill the Provider List.
UaServer_ProviderUaServer_ProviderList_GetProvider (UaServer *a_pServer, OpcUa_UInt16 a_NamespaceIndex)
 Returns the provider for the given namespace index.
OpcUa_StatusCode UaServer_ProviderList_Delete (UaServer *a_pServer)
 Clear the Provider List.
OpcUa_StatusCode UaServer_CreateVariantStringArray (OpcUa_Variant *pVariant, OpcUa_StringA *pStringArray, OpcUa_UInt32 uNumberOfStrings)
 ToDoDoc.
OpcUa_StatusCode UaServer_CreateVariantUInt32Array (OpcUa_Variant *pVariant, OpcUa_UInt32 *pUInt32Array, OpcUa_UInt32 uNumberOfUInt32s)
 Create an array of Variant UInts.
OpcUa_StatusCode UaServer_RingBuffer_Initialize (UaServer_RingBuffer *a_pRingbuffer, OpcUa_UInt32 a_uSize)
 Initialize a Ringbuffer.
OpcUa_Void UaServer_RingBuffer_Clear (UaServer_RingBuffer *a_pRingbuffer)
 Clear a Ringbuffer.
OpcUa_Void * UaServer_RingBuffer_Pop (UaServer_RingBuffer *a_pRingbuffer)
 Get an Element from a Ringbuffer.
OpcUa_Void * UaServer_RingBuffer_Push (UaServer_RingBuffer *a_pRingbuffer, OpcUa_Void *a_pData)
 Push an Element into a Ringbuffer.
OpcUa_StatusCode UaServer_RingBuffer_PushSafe (UaServer_RingBuffer *a_pRingbuffer, OpcUa_Void *a_pData)
 Push an Element into a Rinbuffer if it fits.
OpcUa_Void * UaServer_RingBuffer_GetFirst (UaServer_RingBuffer *a_pRingbuffer)
 Gets the first element of the Ringbuffer without modifying the Ringbuffer.
OpcUa_Void * UaServer_RingBuffer_ReplaceLast (UaServer_RingBuffer *a_pRingbuffer, OpcUa_Void *a_pData)
 Replaces the last element of the Ringbuffer with a new one.
OpcUa_Int32 UaServer_RingBuffer_Count (UaServer_RingBuffer *a_pRingbuffer)
 Get the number of items stored in a ringbuffer.
OpcUa_Boolean OpcUa_Variant_CompareDeadbandAbsolute (OpcUa_Variant *a, OpcUa_Variant *b, OpcUa_Double deadbandValue)
 Compares two variants considering a deadband value.
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.
OpcUa_StatusCode UaServer_DateTime_CheckTimeoutHint (OpcUa_TimeVal Reception, OpcUa_TimeVal Now, OpcUa_UInt32 TimeoutHint)
 Checks if TimeoutHint of RequestHeader is timed out.
OpcUa_StatusCode UaServer_ParseIndexRange (const OpcUa_String *a_pString, UaServer_NumericRange *a_pRangeArray, OpcUa_UInt32 *a_pMaxRanges)
 Parses an OPCUA NumericRange string.
OpcUa_StatusCode UaServer_VariantNumericRangePlausible (OpcUa_Variant *a_pVariant, UaServer_NumericRange *a_pRangeArray, OpcUa_Int32 a_NumRanges)
 Check if the given NumericRangeArray fits the Variant.
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.
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.
OpcUa_UInt16 UaServer_NamespaceIndex_GetByUri (OpcUa_StringA a_NamespaceURI)
 Returns the NamespaceIndex to the given NamespaceURI.
OpcUa_StatusCode UaServer_GetNonValueAttribute (OpcUa_UInt32 a_AttributeId, OpcUa_BaseNode *a_pNode, OpcUa_Variant *a_pValue)
 Fills the value of the given attribute of the node into a variant.
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.
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.
OpcUa_StatusCode UaServer_LikeElement_Initialize (UaServer_LikeElement *pValue)
 Initialized a UaServer_LikeElement to it's default values.
OpcUa_Void UaServer_LikeElement_Clear (UaServer_LikeElement *pValue)
 Frees all memory used by the UaServer_LikeElement_Clear and initialized it to it's default values.
OpcUa_StatusCode UaServer_ParseLikePattern (const OpcUa_String *a_sPattern, UaServer_LikeElement **a_ppFirstElement)
 Parses a 'like'-operator pattern and creates a chain of UaServer_LikeElement that can be used by UaServer_IsLike.
OpcUa_Boolean UaServer_IsLikePatternValid (const OpcUa_String *a_sPattern)
 Tests if a given 'like'-pattern is valid or not.
OpcUa_Boolean UaServer_IsLike (const OpcUa_String *a_sString, UaServer_LikeElement *a_pLikeElement)
 Implements the Like-Operator of the UA-Specification.
OpcUa_StatusCode UaServer_ParseUrl (const OpcUa_String *a_szUrl, OpcUa_String *a_szPrefix, OpcUa_String *a_szHostname, OpcUa_String *a_szPort, OpcUa_String *a_szPath)
 Simple URL parsing function.
OpcUa_StatusCode UaServer_GetUserIdentity (OpcUa_String *a_sUsername, OpcUa_UInt16 *a_pUID, OpcUa_UInt16 *a_pGID, OpcUa_String *a_sPasswordHash)
 Returns user identity information.
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.
OpcUa_StatusCode UaServer_GetGroupId (OpcUa_String *a_sGroupname, OpcUa_UInt16 *a_pGID)
 Returns the GID for the five groupname.
OpcUa_StatusCode OpcUa_Variant_SetBoolean (OpcUa_Variant *pVariant, OpcUa_Boolean value)
 Initializes a variant with a boolean value.
OpcUa_StatusCode OpcUa_Variant_SetSByte (OpcUa_Variant *pVariant, OpcUa_SByte value)
 Initializes a variant with a SByte value.
OpcUa_StatusCode OpcUa_Variant_SetByte (OpcUa_Variant *pVariant, OpcUa_Byte value)
 Initializes a variant with a Byte value.
OpcUa_StatusCode OpcUa_Variant_SetInt16 (OpcUa_Variant *pVariant, OpcUa_Int16 value)
 Initializes a variant with a Int16 value.
OpcUa_StatusCode OpcUa_Variant_SetUInt16 (OpcUa_Variant *pVariant, OpcUa_UInt16 value)
 Initializes a variant with a UInt16 value.
OpcUa_StatusCode OpcUa_Variant_SetInt32 (OpcUa_Variant *pVariant, OpcUa_Int32 value)
 Initializes a variant with a Int32 value.
OpcUa_StatusCode OpcUa_Variant_SetUInt32 (OpcUa_Variant *pVariant, OpcUa_UInt32 value)
 Initializes a variant with a UInt32 value.
OpcUa_StatusCode OpcUa_Variant_SetInt64 (OpcUa_Variant *pVariant, OpcUa_Int64 value)
 Initializes a variant with a Int64 value.
OpcUa_StatusCode OpcUa_Variant_SetUInt64 (OpcUa_Variant *pVariant, OpcUa_UInt64 value)
 Initializes a variant with a UInt64 value.
OpcUa_StatusCode OpcUa_Variant_SetFloat (OpcUa_Variant *pVariant, OpcUa_Float value)
 Initializes a variant with a Float value.
OpcUa_StatusCode OpcUa_Variant_SetDouble (OpcUa_Variant *pVariant, OpcUa_Double value)
 Initializes a variant with a Double value.
OpcUa_StatusCode OpcUa_Variant_SetString (OpcUa_Variant *pVariant, const OpcUa_String *pValue)
 Initializes a variant with a String value.
OpcUa_StatusCode OpcUa_Variant_SetDateTime (OpcUa_Variant *pVariant, OpcUa_DateTime value)
 Initializes a variant with a DateTime value.
OpcUa_StatusCode OpcUa_Variant_SetGuid (OpcUa_Variant *pVariant, OpcUa_Guid *pValue)
 Initializes a variant with a Guid value.
OpcUa_StatusCode OpcUa_Variant_SetByteString (OpcUa_Variant *pVariant, const OpcUa_ByteString *pValue)
 Initializes a variant with a ByteString value.
OpcUa_StatusCode OpcUa_Variant_SetXmlElement (OpcUa_Variant *pVariant, const OpcUa_XmlElement *pValue)
 Initializes a variant with an XmlElement value.
OpcUa_StatusCode OpcUa_Variant_SetNodeId (OpcUa_Variant *pVariant, const OpcUa_NodeId *pValue)
 Initializes a variant with a NodeId value.
OpcUa_StatusCode OpcUa_Variant_SetExpandedNodeId (OpcUa_Variant *pVariant, const OpcUa_ExpandedNodeId *pValue)
 Initializes a variant with a ExpandedNodeId value.
OpcUa_StatusCode OpcUa_Variant_SetStatusCode (OpcUa_Variant *pVariant, OpcUa_StatusCode value)
 Initializes a variant with a StatusCode value.
OpcUa_StatusCode OpcUa_Variant_SetQualifiedName (OpcUa_Variant *pVariant, const OpcUa_QualifiedName *pValue)
 Initializes a variant with a QualifiedName value.
OpcUa_StatusCode OpcUa_Variant_SetLocalizedText (OpcUa_Variant *pVariant, const OpcUa_LocalizedText *pValue)
 Initializes a variant with a LocalizedText value.

Detailed Description

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,
OpcUa_StringA *  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_DateTime_CheckTimeoutHint ( OpcUa_TimeVal  Reception,
OpcUa_TimeVal  Now,
OpcUa_UInt32  TimeoutHint 
)

Checks if TimeoutHint of RequestHeader is timed out.

Parameters
[in]ReceptionTimeVal when the message was received
[in]Nownow...
[in]TimeoutHintthe timeout hint of the RequestHeader
Returns
OpcUa_Good if not timed out, OpcUa_Bad otherwise
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 
)

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.
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_Boolean UaServer_IsLike ( const OpcUa_String *  a_sString,
UaServer_LikeElement *  a_pLikeElement 
)

Implements the Like-Operator of the UA-Specification.

Checks if the given pattern matches the string.

Parameters
a_sStringThe string to test.
a_pLikeElementThe chain of UaServer_LikeElement created by UaServer_ParseLikePattern containing the 'like'-pattern.
Returns
OpcUa_True if the pattern matches the string, otherwise OpcUa_False.
OpcUa_Boolean UaServer_IsLikePatternValid ( const OpcUa_String *  a_sPattern)

Tests if a given 'like'-pattern is valid or not.

Parameters
a_sPatternthe 'like'-pattern to test.
Returns
OpcUa_True if the pattern is valid, otherwise OpcUa_False.
OpcUa_Void UaServer_LikeElement_Clear ( UaServer_LikeElement *  pValue)

Frees all memory used by the UaServer_LikeElement_Clear and initialized it to it's default values.

Also clears and deletes the child of the given element if existing.

Parameters
[in]pValueThe UaServer_LikeElement to clear
OpcUa_StatusCode UaServer_LikeElement_Initialize ( UaServer_LikeElement *  pValue)

Initialized a UaServer_LikeElement to it's default values.

Parameters
[in]pValueThe UaServer_LikeElement to initialize
Returns
OpcUa_Good if no errors occured
OpcUa_UInt16 UaServer_NamespaceIndex_GetByUri ( OpcUa_StringA  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 an OPCUA NumericRange string.

Parameters
a_pStringString to parse.
a_pRangeArrayArray of ranges to fill.
a_pMaxRangesNumber of elements in array.
Returns
StatusCode
OpcUa_StatusCode UaServer_ParseLikePattern ( const OpcUa_String *  a_sPattern,
UaServer_LikeElement **  a_ppFirstElement 
)

Parses a 'like'-operator pattern and creates a chain of UaServer_LikeElement that can be used by UaServer_IsLike.

Parameters
[in]a_sPatternThe pattern to parse.
[out]a_ppFirstElementIf set, the resulting chain of UaServer_LikeElement is stored here.
Returns
OpcUa_Good on success.
OpcUa_StatusCode UaServer_ParseUrl ( const OpcUa_String *  a_szUrl,
OpcUa_String *  a_szPrefix,
OpcUa_String *  a_szHostname,
OpcUa_String *  a_szPort,
OpcUa_String *  a_szPath 
)

Simple URL parsing function.

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.
OpcUa_StatusCode UaServer_ProviderList_Delete ( UaServer a_pServer)

Clear the Provider List.

Parameters
a_pServera pointer to all information of the 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_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.