UA ANSI C Server Professional  1.4.2.297
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Modules Pages
UaServerAddressSpace

Data Structures

struct  _UaServer_AddressSpace
 Holds all OpcUa_BaseNodes owned by a provider. More...
 

Typedefs

typedef struct
_UaServer_AddressSpace 
UaServer_AddressSpace
 Holds all OpcUa_BaseNodes owned by a provider. More...
 

Functions

OpcUa_StatusCode UaServer_AddNode (UaServer_AddressSpace *a_pAddressSpace, OpcUa_BaseNode *a_pNode)
 Add a new node to an address space table. More...
 
OpcUa_StatusCode UaServer_RemoveNode (UaServer_AddressSpace *a_pAddressSpace, OpcUa_BaseNode *a_pNode)
 Remove a node from an address space table. More...
 
OpcUa_StatusCode UaServer_RemoveNodeById (OpcUa_NodeId *a_pNodeId)
 Remove a node from an address space table by the given NodeId. More...
 
OpcUa_StatusCode UaServer_AddressSpace_Get (OpcUa_UInt16 a_NamespaceIndex, UaServer_AddressSpace **a_ppAddressSpace)
 Returns the addressspace by the given NamespaceIndex. More...
 
OpcUa_StatusCode UaServer_CreateNode (UaServer_AddressSpace *a_pAddressSpace, OpcUa_BaseNode **a_ppNewNode, OpcUa_Void *a_pOwner, OpcUa_NodeId *a_pNodeId, OpcUa_NodeClass a_eNodeClass, OpcUa_NodeId *a_pReferenceNodeId, OpcUa_NodeId *a_pTypeNodeId, const OpcUa_CharA *a_sBrowseName, const OpcUa_CharA *a_sDisplayName, const OpcUa_CharA *a_sDescription)
 Creates a new OPC UA Node in the address space. More...
 
OpcUa_StatusCode UaServer_CreateFolder (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Folder **a_ppNewFolder, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, const OpcUa_CharA *a_sName)
 Creates a folder node with a numeric NodeId. More...
 
OpcUa_StatusCode UaServer_CreateObject (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Object **a_ppNewObject, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, const OpcUa_CharA *a_sName)
 Creates a object node with a numeric NodeId. More...
 
OpcUa_StatusCode UaServer_CreateObjectType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_ObjectType **a_ppNewObjectType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, const OpcUa_CharA *a_sName)
 Creates a object node with a numeric NodeId. More...
 
OpcUa_StatusCode UaServer_CreateProperty (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Property **a_ppNewProperty, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, const OpcUa_CharA *a_sName)
 Creates a property node with a numeric NodeId. More...
 
OpcUa_StatusCode UaServer_CreateDataVariable (UaServer_AddressSpace *a_pAddressSpace, OpcUa_DataVariable **a_ppNewVariable, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, const OpcUa_CharA *a_sName)
 Creates a datavariable node with a numeric NodeId. More...
 
OpcUa_StatusCode UaServer_CreateVariableType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_VariableType **a_ppNewVariableType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, const OpcUa_CharA *a_sName)
 Creates a VariableType node with a numeric NodeId. More...
 
OpcUa_StatusCode UaServer_CreateReferenceType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_ReferenceType **a_ppNewType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, const OpcUa_CharA *a_sName)
 Creates a reference type node with a numeric NodeId. More...
 
OpcUa_StatusCode UaServer_CreateDataType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_DataType **a_ppNewDataType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, const OpcUa_CharA *a_sName)
 Creates a DataType node with a numeric NodeId. More...
 
OpcUa_StatusCode UaServer_GetNode (UaServer_AddressSpace *pAddressSpace, OpcUa_NodeId *pNodeId, OpcUa_BaseNode **ppNode)
 Returns a node identified by a NodeId. More...
 
OpcUa_BaseNode * UaServer_GetNodeById (OpcUa_NodeId *a_pNodeId)
 Get the Node by the given NodeId. More...
 
OpcUa_StatusCode UaServer_CreateDataVariableS (UaServer_AddressSpace *a_pAddressSpace, OpcUa_DataVariable **a_ppNewVariable, OpcUa_Void *a_pOwner, const OpcUa_CharA *a_sId, OpcUa_UInt16 a_iNSIdx, const OpcUa_CharA *a_sName)
 Creates a datavariable node with a string NodeId. More...
 
OpcUa_StatusCode UaServer_CreatePropertyS (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Property **a_ppNewProperty, OpcUa_Void *a_pOwner, const OpcUa_CharA *a_sId, OpcUa_UInt16 a_iNSIdx, const OpcUa_CharA *a_sName)
 Creates a property node with a string NodeId. More...
 
OpcUa_StatusCode UaServer_CreateFolderS (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Folder **a_ppNewFolder, OpcUa_Void *a_pOwner, const OpcUa_CharA *a_sId, OpcUa_UInt16 a_iNSIdx, const OpcUa_CharA *a_sName)
 Creates a folder node with a string NodeId. More...
 
OpcUa_StatusCode UaServer_CreateObjectS (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Object **a_ppNewObject, OpcUa_Void *a_pOwner, const OpcUa_CharA *a_sId, OpcUa_UInt16 a_iNSIdx, const OpcUa_CharA *a_sName)
 Creates a object node with a string NodeId. More...
 
void UaServer_SetDefaultNamespace (OpcUa_Int16 NsIdx)
 Sets the default namespace index for the convenience functions. More...
 
OpcUa_Int16 UaServer_GetDefaultNamespace ()
 Returns the default namespace. More...
 
void UaServer_CreateStringNodeId (OpcUa_NodeId *pNodeId, const char *szNodeId)
 Creates a string NodeId with the default namespace. More...
 
void UaServer_CreateStringNodeIdEx (OpcUa_NodeId *pNodeId, const char *szNodeId, OpcUa_UInt16 NsIdx)
 Creates a string NodeId with the given string and namespace index. More...
 
void UaServer_CreateNumericNodeId (OpcUa_NodeId *pNodeId, OpcUa_UInt32 id)
 Creates a numeric NodeId with the default namespace. More...
 
void UaServer_CreateNumericNodeIdEx (OpcUa_NodeId *pNodeId, OpcUa_UInt32 id, OpcUa_UInt16 NsIdx)
 Creates a numeric NodeId with the given id and namespace index. More...
 
void UaServer_CreateLocalizedText (OpcUa_LocalizedText *pText, const char *pszLocale, const char *pszText)
 Creates an optimized LocalizedText by attaching string constants. More...
 
void UaServer_CreateQualifiedName (OpcUa_QualifiedName *pName, const char *pszName)
 Creates an optimized QualifiedName by attaching string constants. More...
 
void UaServer_CreateQualifiedNameEx (OpcUa_QualifiedName *pName, const char *pszName, OpcUa_UInt16 NsIdx)
 Creates an optimized QualifiedName by attaching string constants. More...
 

Detailed Description

Typedef Documentation

Holds all OpcUa_BaseNodes owned by a provider.

A hash table is used for storing for fast lookup.

Function Documentation

OpcUa_StatusCode UaServer_AddNode ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_BaseNode *  a_pNode 
)

Add a new node to an address space table.

Parameters
a_pAddressSpaceThe.handle to the address space.
a_pNodeThe node to add.
Returns
the OPC UA Status code.
OpcUa_StatusCode UaServer_AddressSpace_Get ( OpcUa_UInt16  a_NamespaceIndex,
UaServer_AddressSpace **  a_ppAddressSpace 
)

Returns the addressspace by the given NamespaceIndex.

Parameters
a_NamespaceIndexNamespaceIndex to look up.
a_ppAddressSpaceReturns the handle to the address space.
Returns
the OPC UA Status code.
OpcUa_StatusCode UaServer_CreateDataType ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_DataType **  a_ppNewDataType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
const OpcUa_CharA *  a_sName 
)

Creates a DataType node with a numeric NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewDataTypea pointer to the new created DataType.
[in]a_pOwnera pointer to the actual owner.
[in]a_iIdthe Id of the actual DataType.
[in]a_iNamespaceIndexthe actual NamespaceIndex.
[in]a_sNamethe name of the created DataType.
Returns
a DataType node with a numeric NodeId.
OpcUa_StatusCode UaServer_CreateDataVariable ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_DataVariable **  a_ppNewVariable,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
const OpcUa_CharA *  a_sName 
)

Creates a datavariable node with a numeric NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewVariablea pointer to the new created Variable.
[in]a_pOwnera pointer to the actual owner.
[in]a_iIdthe Id of the actual Variable.
[in]a_iNamespaceIndexthe actual NamespaceIndex.
[in]a_sNamethe name of the created Variable.
Returns
a datavariable node with a numeric NodeId.
OpcUa_StatusCode UaServer_CreateDataVariableS ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_DataVariable **  a_ppNewVariable,
OpcUa_Void *  a_pOwner,
const OpcUa_CharA *  a_sId,
OpcUa_UInt16  a_iNSIdx,
const OpcUa_CharA *  a_sName 
)

Creates a datavariable node with a string NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewVariablea pointer to the new created VariableS.
[in]a_pOwnera pointer to the actual owner.
[in]a_sIdthe Id of the new VariableS
[in]a_iNSIdxthe actual NamespaceIndex.
[in]a_sNamethe name of the new VariableS.
Returns
a datavariable node with a string NodeId.
OpcUa_StatusCode UaServer_CreateFolder ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_Folder **  a_ppNewFolder,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
const OpcUa_CharA *  a_sName 
)

Creates a folder node with a numeric NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewFoldera pointer to the new created folder.
[in]a_pOwnera pointer to the actual owner.
[in]a_iIdthe Id of the Folder.
[in]a_iNamespaceIndexthe actual NamespaceIndex.
[in]a_sNamethe name of the created folder.
Returns
a folder node with a numeric NodeId.
OpcUa_StatusCode UaServer_CreateFolderS ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_Folder **  a_ppNewFolder,
OpcUa_Void *  a_pOwner,
const OpcUa_CharA *  a_sId,
OpcUa_UInt16  a_iNSIdx,
const OpcUa_CharA *  a_sName 
)

Creates a folder node with a string NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewFoldera pointer to the new FolderS.
[in]a_pOwnera pointer to the actual owner.
[in]a_sIdthe Id of the created FolderS.
[in]a_iNSIdxthe actual NamespaceIndex.
[in]a_sNamethe name of the new FolderS.
Returns
a folder node with a string NodeId.
void UaServer_CreateLocalizedText ( OpcUa_LocalizedText *  pText,
const char *  pszLocale,
const char *  pszText 
)

Creates an optimized LocalizedText by attaching string constants.

The given strings are attached to the localized text and must not be freed as this would create a dangling pointer.

This function was introduced in V1.3.0.

Parameters
pTextThe localized text to initialize.
pszLocaleThe string constant to use for the locale.
pszTextThe string constant to use for the text.
OpcUa_StatusCode UaServer_CreateNode ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_BaseNode **  a_ppNewNode,
OpcUa_Void *  a_pOwner,
OpcUa_NodeId *  a_pNodeId,
OpcUa_NodeClass  a_eNodeClass,
OpcUa_NodeId *  a_pReferenceNodeId,
OpcUa_NodeId *  a_pTypeNodeId,
const OpcUa_CharA *  a_sBrowseName,
const OpcUa_CharA *  a_sDisplayName,
const OpcUa_CharA *  a_sDescription 
)

Creates a new OPC UA Node in the address space.

Parameters
a_pAddressSpaceHandle to the address space.
a_ppNewNodeReturns the pointer to the newly created node.
a_pOwnerPointer to the node that owns the new node.
a_pNodeIdPointer to NodeId of the new node.
a_eNodeClassSpecificies the nodeclass of the new node.
a_pReferenceNodeIdSpecifies the reference type that should be created between owner and the new node.
a_pTypeNodeIdSpecififies the typeId of the new node. This creates a HasTypeDefinition reference from the new node to the type node.
a_sBrowseNameThe browse name of the new node.
a_sDisplayNameThe display name of the new node.
a_sDescriptionThe description of the new node.
Returns
the OPC UA Status code.
void UaServer_CreateNumericNodeId ( OpcUa_NodeId *  pNodeId,
OpcUa_UInt32  id 
)

Creates a numeric NodeId with the default namespace.

This function was introduced in V1.3.0.

Parameters
pNodeIdNodeId to initialze.
idNumeric identifier for NodeId.
void UaServer_CreateNumericNodeIdEx ( OpcUa_NodeId *  pNodeId,
OpcUa_UInt32  id,
OpcUa_UInt16  NsIdx 
)

Creates a numeric NodeId with the given id and namespace index.

This function was introduced in V1.3.0.

Parameters
pNodeIdNodeId to initialze.
idNumeric identifier for NodeId.
NsIdxThe namespace index to use.
OpcUa_StatusCode UaServer_CreateObject ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_Object **  a_ppNewObject,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
const OpcUa_CharA *  a_sName 
)

Creates a object node with a numeric NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewObjecta pointer to the created Object.
[in]a_pOwnera pointer to the actual owner.
[in]a_iIdthe Id of the Object.
[in]a_iNamespaceIndexthe actual NamespaceIndex.
[in]a_sNamethe name of the new Object.
Returns
a object node with a numeric NodeId.
OpcUa_StatusCode UaServer_CreateObjectS ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_Object **  a_ppNewObject,
OpcUa_Void *  a_pOwner,
const OpcUa_CharA *  a_sId,
OpcUa_UInt16  a_iNSIdx,
const OpcUa_CharA *  a_sName 
)

Creates a object node with a string NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewObjecta pointer to the new ObjectS.
[in]a_pOwnera pointer to the actual owner.
[in]a_sIdthe Id of the new ObjectS.
[in]a_iNSIdxthe actual NamespaceIndex.
[in]a_sNamethe name of the new ObjectS.
Returns
a object node with a string NodeId.
OpcUa_StatusCode UaServer_CreateObjectType ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_ObjectType **  a_ppNewObjectType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
const OpcUa_CharA *  a_sName 
)

Creates a object node with a numeric NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewObjectTypea pointer to the created Object.
[in]a_pOwnera pointer to the actual owner.
[in]a_iIdthe Id of the Object.
[in]a_iNamespaceIndexthe actual NamespaceIndex.
[in]a_sNamethe name of the new Object.
Returns
a object node with a numeric NodeId.
OpcUa_StatusCode UaServer_CreateProperty ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_Property **  a_ppNewProperty,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
const OpcUa_CharA *  a_sName 
)

Creates a property node with a numeric NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewPropertythe new Property to create.
[in]a_pOwnera pointer to the actual owner.
[in]a_iIdthe Id of the Property.
[in]a_iNamespaceIndexthe actual NamespaceIndex.
[in]a_sNamethe name of the Property.
Returns
a property node with a numeric NodeId.
OpcUa_StatusCode UaServer_CreatePropertyS ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_Property **  a_ppNewProperty,
OpcUa_Void *  a_pOwner,
const OpcUa_CharA *  a_sId,
OpcUa_UInt16  a_iNSIdx,
const OpcUa_CharA *  a_sName 
)

Creates a property node with a string NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewPropertya pointer to the created PropertyS.
[in]a_pOwnera pointer to the actual owner.
[in]a_sIdthe Id of the created PropertyS.
[in]a_iNSIdxthe actual NamespaceIndex.
[in]a_sNamethe name of the new PropertyS.
Returns
a property node with a string NodeId.
void UaServer_CreateQualifiedName ( OpcUa_QualifiedName *  pName,
const char *  pszName 
)

Creates an optimized QualifiedName by attaching string constants.

The default namespace is used as a namespace index.

See also
UaServer_SetDefaultNamespace
UaServer_CreateQualifiedNameEx The given strings are attached to the localized text and must not be freed as this would create a dangling pointer.

This function was introduced in V1.3.0.

Parameters
pNameThe qualified name to initialize.
pszNameThe string constant to use.
void UaServer_CreateQualifiedNameEx ( OpcUa_QualifiedName *  pName,
const char *  pszName,
OpcUa_UInt16  NsIdx 
)

Creates an optimized QualifiedName by attaching string constants.

The given strings are attached to the localized text and must not be freed as this would create a dangling pointer.

This function was introduced in V1.3.0.

Parameters
pNameThe qualified name to initialize.
pszNameThe string constant to use.
NsIdxThe namespace index to use.
OpcUa_StatusCode UaServer_CreateReferenceType ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_ReferenceType **  a_ppNewType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
const OpcUa_CharA *  a_sName 
)

Creates a reference type node with a numeric NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewTypea pointer to the new created Reference.
[in]a_pOwnera pointer to the actual owner.
[in]a_iIdthe Id of the actual Reference.
[in]a_iNamespaceIndexthe actual NamespaceIndex.
[in]a_sNamethe name of the created Reference.
Returns
a reference node with a numeric NodeId.
void UaServer_CreateStringNodeId ( OpcUa_NodeId *  pNodeId,
const char *  szNodeId 
)

Creates a string NodeId with the default namespace.

This function attaches read only to the given string constant. This is intended for creating NodeIds from string constants in generated code. The given string constant must not be freed as this would create a dangling pointer.

This function was introduced in V1.3.0.

Parameters
pNodeIdNodeId to initialze.
szNodeIdString constant for NodeId.
void UaServer_CreateStringNodeIdEx ( OpcUa_NodeId *  pNodeId,
const char *  szNodeId,
OpcUa_UInt16  NsIdx 
)

Creates a string NodeId with the given string and namespace index.

This function attaches read only to the given string constant. This is intended for creating NodeIds from string constants in generated code. The given string constant must not be freed as this would create a dangling pointer.

This function was introduced in V1.3.0.

Parameters
pNodeIdNodeId to initialze.
szNodeIdString constant for NodeId.
NsIdxThe namespace index to use.
OpcUa_StatusCode UaServer_CreateVariableType ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_VariableType **  a_ppNewVariableType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
const OpcUa_CharA *  a_sName 
)

Creates a VariableType node with a numeric NodeId.

Parameters
[in]a_pAddressSpacethe address space to use.
[out]a_ppNewVariableTypea pointer to the new created Variable.
[in]a_pOwnera pointer to the actual owner.
[in]a_iIdthe Id of the actual Variable.
[in]a_iNamespaceIndexthe actual NamespaceIndex.
[in]a_sNamethe name of the created Variable.
Returns
a datavariable node with a numeric NodeId.
OpcUa_Int16 UaServer_GetDefaultNamespace ( )

Returns the default namespace.

This function was introduced in V1.3.0.

See also
UaServer_SetDefaultNamespace
OpcUa_StatusCode UaServer_GetNode ( UaServer_AddressSpace pAddressSpace,
OpcUa_NodeId *  pNodeId,
OpcUa_BaseNode **  ppNode 
)

Returns a node identified by a NodeId.

Parameters
[in]pAddressSpacethe address space to use.
[in]pNodeIdthe Id of the Node.
[out]ppNodea pointer to the actual Node.
Returns
a node identified by a NodeId.
OpcUa_BaseNode * UaServer_GetNodeById ( OpcUa_NodeId *  a_pNodeId)

Get the Node by the given NodeId.

Parameters
a_pNodeIdthe Nodeid
Returns
the base node.
OpcUa_StatusCode UaServer_RemoveNode ( UaServer_AddressSpace a_pAddressSpace,
OpcUa_BaseNode *  a_pNode 
)

Remove a node from an address space table.

Parameters
a_pAddressSpacepointer to the address space.
a_pNodeThe node to remove.
Returns
the OPC UA Status code.
OpcUa_StatusCode UaServer_RemoveNodeById ( OpcUa_NodeId *  a_pNodeId)

Remove a node from an address space table by the given NodeId.

Parameters
a_pNodeIdthe Id of the Node to remvoe
Returns
the OPC UA Status code.
void UaServer_SetDefaultNamespace ( OpcUa_Int16  NsIdx)

Sets the default namespace index for the convenience functions.

The default namespace is used by these convenience functions:

  • UaServer_CreateStringNodeId
  • UaServer_CreateNumericNodeId
  • UaServer_CreateQualifiedName

This function was introduced in V1.3.0.