ANSI C Based OPC UA Client/Server/PubSub SDK  1.9.1.442
UaServerConfig

Macros

#define UASERVER_MAX_NAMESPACEINDICES   10
 Maximum number of NamespaceIndices. More...
 
#define UASERVER_SUPPORT_AUTHENTICATION_USER   OPCUA_CONFIG_@BUILD_AUTH_USER@
 Enable this when using a custom authentication module. More...
 
#define UASERVER_SUPPORT_INODE_LIST   OPCUA_CONFIG_OFF
 Enable this to support multiple iNodes per OpcUa_BaseNode. More...
 
#define UASERVER_SUPPORT_DISCOVERY   OPCUA_CONFIG_@BUILD_WITH_DISCOVERY@
 Enables discovery support. More...
 
#define UASERVER_AUTHFILE_MAXLEN_ENTRY   200
 Defines the maximum entry length for the passwd and group files. More...
 
#define UASERVER_AUTHFILE_MAXLEN_COLUMN   64
 Defines the maximum length of one column in the passwd file. More...
 
#define UASERVER_MAX_NUMERICRANGES   5
 Maximum count of numeric range parts in index ranges. More...
 
#define UASERVER_MAX_HASH_KEY_LENGTH   512
 Maximum length of of data to be hashed by UaServer_HashTable_Hash (mainly NodeId strings and ByteStrings). More...
 
#define UASERVER_MAX_EVENT_FIELDS   300
 Maximum number of event fields registered at the SDK. More...
 
#define UASERVER_MAX_EVENT_FILTER_DEPTH   500
 Maximum depth of the event filter tree of an event monitored item. More...
 
#define UASERVER_NO_OF_RUNTIME_NODES   1000
 The estimated maximum number of nodes that will be created during runtime of the server. More...
 
#define UASERVER_NONCE_LENGTH   32
 The length of the ServerNonce inside the CreateSession and ActivateSession response in bytes. More...
 
#define UASERVER_SUPPORT_CONDITION_BRANCHES   OPCUA_CONFIG_@UASERVER_CONDITION_BRANCHES@
 Enables the Condition Branch support for Alarms. More...
 
#define UASERVER_SUPPORT_AUDITING   OPCUA_CONFIG_@UASERVER_AUDITING@
 Enables the auditing server facet. More...
 
#define UASERVER_SERVICES_NODEMANAGEMENT   OPCUA_CONFIG_@UASERVER_NODEMANAGEMENT@
 Enables the node management services. More...
 
#define UASERVER_SERVICES_QUERY   OPCUA_CONFIG_@UASERVER_QUERY@
 Enables the query services. More...
 
#define UASERVER_ENABLE_DESCRIPTIONS   OPCUA_CONFIG_@UASERVER_ENABLE_DESCRIPTIONS@
 Enables the description node attribute. More...
 
#define UASERVER_ENABLE_MINSAMPLINGINTERVAL   OPCUA_CONFIG_@UASERVER_ENABLE_MINSAMPLINGINTERVAL@
 Enables the optional variable attribute MinimumSamplingInterval. More...
 
#define UASERVER_ENABLE_ARRAYDIMENSIONS_CHECK   OPCUA_CONFIG_@UASERVER_ENABLE_ARRAYDIMENSIONS_CHECK@
 Match write values against the variable's array dimensions and return an error if the value is too big. More...
 
#define UASERVER_DISABLE_SERVER_STATE_CHANGE   OPCUA_CONFIG_@UASERVER_DISABLE_SERVER_STATE_CHANGE@
 Disables server state change method. More...
 
#define UASERVER_ENABLE_ENCODING_NODES   OPCUA_CONFIG_ON
 Enables type dictionary nodes in the type address space. More...
 
#define UASERVER_MAX_PROVIDERNODES   3500
 Maximum number of nodes per provider supported by the server. More...
 
#define UASERVER_MAX_REFERENCES_TO_RETURN   10000
 Maximum number of references to return in a Browse/BrowseNext response. More...
 
#define UASERVER_MAX_TRANSLATE_RESULTS   10000
 Maximum number of nodes to return in a TranslateBrowsePathsToNodeIds response. More...
 
#define UASERVER_MAX_SECURECHANNELS   100
 Maximum number of SecureChannels. More...
 
#define UASERVER_MAX_SESSIONS   50
 Maximum total number of sessions. More...
 
#define UASERVER_MAX_SESSIONS_PER_CLIENT   25
 Maximum number of sessions the server allows per client. More...
 
#define UASERVER_MAX_SUBSCRIPTIONS   0
 Maximum total number of subscriptions. More...
 
#define UASERVER_MAX_SUBSCRIPTIONS_PER_SESSION   20
 Maximum number of subscriptions per session. More...
 
#define UASERVER_MAX_PUBLISH_PER_SESSION   10
 Maximum number of publish requests per session. More...
 
#define UASERVER_MAX_CONTINUATIONPOINTSPERSESSION   5
 Maximum number of continuation points per session. More...
 
#define UASERVER_MAX_QUERY_CONTINUATIONPOINTSPERSESSION   5
 Maximum number of continuation points per session for Query services. More...
 
#define UASERVER_MAX_HISTORY_CONTINUATIONPOINTSPERSESSION   5
 Maximum number of continuation points per session for ReadHistory services. More...
 
#define UASERVER_MIN_SESSION_TIMEOUT   0
 Minimum session timeout in milliseconds. More...
 
#define UASERVER_MAX_SESSION_TIMEOUT   0
 Maximum session timeout in milliseconds. More...
 
#define UASERVER_SESSION_TIMEOUT_RESOLUTION   0
 Session timeout resolution in milliseconds. More...
 
#define UASERVER_MIN_PUBLISHINGRATE   50
 The minimum supported publishing interval. More...
 
#define UASERVER_MAX_PUBLISHINGRATE   3600000
 The maximum supported publishing interval. More...
 
#define UASERVER_SUBSCRIPTION_MINKEEPALIVEINTERVAL   500
 The minimum supported KeepAliveInterval for subscriptions. More...
 
#define UASERVER_SUBSCRIPTION_MAXKEEPALIVEINTERVAL   1200000
 The maximum supported KeepAliveInterval for subscriptions. More...
 
#define UASERVER_SUBSCRIPTION_MINLIFETIMEINTERVAL   1500
 The minimum supported Lifetime for subscriptions. More...
 
#define UASERVER_SUBSCRIPTION_MAXLIFETIMEINTERVAL   3600000
 The maximum supported Lifetime for subscriptions. More...
 
#define UASERVER_MONITOREDITEMMANAGER_MAX_ITEMS   0
 Maximum total number of monitored items. More...
 
#define UASERVER_MONITOREDITEMMANAGER_MAX_ITEMS_PER_SUBSCRIPTION   1000
 Maximum number of monitored items per subscription. More...
 
#define UASERVER_MONITOREDITEMMANAGER_GUARANTEED_ITEMS_PER_SUBSCRIPTION   0
 Guaranteed minimum number of monitored items a subscription can create. More...
 
#define UASERVER_MONITOREDITEMMANAGER_MAX_ITEMS_PER_SESSION   0
 Maximum number of monitored items per session. More...
 
#define UASERVER_MAX_QUEUESIZE   10000
 Maximum queue size for data monitored items. More...
 
#define UASERVER_MAX_EVENT_QUEUESIZE   10000
 Maximum queue size for event monitored items. More...
 
#define UASERVER_REJECTED_CERTIFICATES_DIR   "pki/rejected"
 The folder for storing rejected client certificates. More...
 
#define UASERVER_MAX_REJECTED_CERTIFICATES   100
 Maximum number of client certificates stored in the rejected folder. More...
 
#define UASERVER_ALLOW_DEPRECATED_SECURITYPOLICIES   OPCUA_CONFIG_OFF
 By default, deprecated SecurityPolicies are rejected by the SDK when loading the configuration. More...
 
#define UASERVER_AUTHFILE_PASSWD   "passwd"
 Defines the file containing usernames and passwords. More...
 
#define UASERVER_AUTHFILE_GROUP   "group"
 Defines the file containing groups and their users. More...
 
#define UASERVER_ROOT_USER   0
 The ID of the root user. More...
 
#define UASERVER_SECURITYADMIN_GROUP   0
 The ID of the security administrator group. More...
 
#define UASERVER_FALLBACK_SECURITY_POLICY   "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
 SecurityPolicy to use for UserTokens on non-secure endpoints where no SecurityPolicy or SecurityPolicy::None is set. More...
 
#define UASERVER_USERCERTS_DIR   "auth_pki/trusted/certs"
 The folder containing accepted user certificates for X509 authentication tokens. More...
 
#define UASERVER_USERCRL_DIR   "auth_pki/trusted/crl"
 The folder containing certificate revocation lists for X509 authentication tokens. More...
 
#define UASERVER_USERISSUERCERTS_DIR   "auth_pki/issuers/certs"
 The folder containing issuer certificates for X509 authentication tokens. More...
 
#define UASERVER_USERISSUERCRL_DIR   "auth_pki/issuers/crl"
 The folder containing issuer revocation lists for X509 authentication tokens. More...
 
#define UASERVER_DISABLE_ERROR_USERTOKEN_TIME_INVALID   OpcUa_False
 Flag used to disable the X509 user token validation error BadCertificateTimeInvalid. More...
 
#define UASERVER_DISABLE_ERROR_USERTOKEN_ISSUER_TIME_INVALID   OpcUa_False
 Flag used to disable the X509 user token validation error BadCertificateIssuerTimeInvalid. More...
 
#define UASERVER_DISABLE_ERROR_USERTOKEN_REVOCATION_UNKNOWN   OpcUa_False
 Flag used to disable the X509 user token validation error BadCertificateRevocationUnknown. More...
 
#define UASERVER_DISABLE_ERROR_USERTOKEN_ISSUER_REVOCATION_UNKNOWN   OpcUa_False
 Flag used to disable the X509 user token validation error BadCertificateIssuerRevocationUnknown. More...
 
#define UASERVER_DATALOGGER_SUBSCRIPTION_MAX_ITEMS   1000
 Maximum number of monitored items for the subscription containing the data logger nodes. More...
 
#define UASERVER_DATALOGGER_SUBSCRIPTION_PUBLISHING_INTERVAL   500
 Publishing interval of the subscription containing the data logger nodes. More...
 
#define UASERVER_SUPPORT_AUTHENTICATION_INTERNAL
 Enables the deprecated file based internal authentication module. More...
 
#define UASERVER_SUPPORT_AUTHENTICATION_INTERNAL_EX
 Enables the improved file based internal authentication module. More...
 
#define UASERVER_SUPPORT_AUTHENTICATION_PAM
 Linux only: enables the PAM authentication module. More...
 
#define UASERVER_SUPPORT_AUTHENTICATION_SASL
 Linux only: enables the SASL authentication module. More...
 
#define UASERVER_SUPPORT_AUTHENTICATION_WIN32
 Windows only: enables the Windows authentication module. More...
 
#define UASERVER_SUPPORT_AUTHORIZATION
 Enables authorization support. More...
 
#define UASERVER_DATALOGGER_SUBSCRIPTION_MAX_ITEMS
 Maximum number of monitored items for the subscription containing the data logger nodes. More...
 
#define UASERVER_DATALOGGER_SUBSCRIPTION_PUBLISHING_INTERVAL
 Publishing interval of the subscription containing the data logger nodes. More...
 
#define UASERVER_SERVICES_HISTORYREAD
 Enables the HistoryRead service. More...
 
#define UASERVER_SERVICES_HISTORYUPDATE
 Enables the HistoryUpdate service. More...
 
#define UASERVER_SERVICES_CALL
 Enables the Call service. More...
 
#define UASERVER_SUPPORT_EVENTS
 Enables the Alarms&Events module. More...
 
#define UASERVER_HAS_DITYPES
 Enables creation of the DI address space by the server provider. More...
 
#define UASERVER_HAS_PLCOPENTYPES
 Enables creation of the PLCOpen address space by the server provider. More...
 

Detailed Description

Macro Definition Documentation

#define UASERVER_ALLOW_DEPRECATED_SECURITYPOLICIES   OPCUA_CONFIG_OFF

By default, deprecated SecurityPolicies are rejected by the SDK when loading the configuration.

For backwards compatibility with old applications this behavior can be overridden. Please consider carefully before turning this feature on.

#define UASERVER_AUTHFILE_GROUP   "group"

Defines the file containing groups and their users.

#define UASERVER_AUTHFILE_MAXLEN_COLUMN   64

Defines the maximum length of one column in the passwd file.

#define UASERVER_AUTHFILE_MAXLEN_ENTRY   200

Defines the maximum entry length for the passwd and group files.

#define UASERVER_AUTHFILE_PASSWD   "passwd"

Defines the file containing usernames and passwords.

#define UASERVER_DATALOGGER_SUBSCRIPTION_MAX_ITEMS

Maximum number of monitored items for the subscription containing the data logger nodes.

#define UASERVER_DATALOGGER_SUBSCRIPTION_MAX_ITEMS   1000

Maximum number of monitored items for the subscription containing the data logger nodes.

#define UASERVER_DATALOGGER_SUBSCRIPTION_PUBLISHING_INTERVAL

Publishing interval of the subscription containing the data logger nodes.

#define UASERVER_DATALOGGER_SUBSCRIPTION_PUBLISHING_INTERVAL   500

Publishing interval of the subscription containing the data logger nodes.

#define UASERVER_DISABLE_ERROR_USERTOKEN_ISSUER_REVOCATION_UNKNOWN   OpcUa_False

Flag used to disable the X509 user token validation error BadCertificateIssuerRevocationUnknown.

#define UASERVER_DISABLE_ERROR_USERTOKEN_ISSUER_TIME_INVALID   OpcUa_False

Flag used to disable the X509 user token validation error BadCertificateIssuerTimeInvalid.

#define UASERVER_DISABLE_ERROR_USERTOKEN_REVOCATION_UNKNOWN   OpcUa_False

Flag used to disable the X509 user token validation error BadCertificateRevocationUnknown.

#define UASERVER_DISABLE_ERROR_USERTOKEN_TIME_INVALID   OpcUa_False

Flag used to disable the X509 user token validation error BadCertificateTimeInvalid.

#define UASERVER_DISABLE_SERVER_STATE_CHANGE   OPCUA_CONFIG_@UASERVER_DISABLE_SERVER_STATE_CHANGE@

Disables server state change method.

#define UASERVER_ENABLE_ARRAYDIMENSIONS_CHECK   OPCUA_CONFIG_@UASERVER_ENABLE_ARRAYDIMENSIONS_CHECK@

Match write values against the variable's array dimensions and return an error if the value is too big.

#define UASERVER_ENABLE_DESCRIPTIONS   OPCUA_CONFIG_@UASERVER_ENABLE_DESCRIPTIONS@

Enables the description node attribute.

Disable to save space by omitting the description strings.

#define UASERVER_ENABLE_ENCODING_NODES   OPCUA_CONFIG_ON

Enables type dictionary nodes in the type address space.

#define UASERVER_ENABLE_MINSAMPLINGINTERVAL   OPCUA_CONFIG_@UASERVER_ENABLE_MINSAMPLINGINTERVAL@

Enables the optional variable attribute MinimumSamplingInterval.

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

SecurityPolicy to use for UserTokens on non-secure endpoints where no SecurityPolicy or SecurityPolicy::None is set.

#define UASERVER_HAS_DITYPES

Enables creation of the DI address space by the server provider.

#define UASERVER_HAS_PLCOPENTYPES

Enables creation of the PLCOpen address space by the server provider.

#define UASERVER_MAX_CONTINUATIONPOINTSPERSESSION   5

Maximum number of continuation points per session.

#define UASERVER_MAX_EVENT_FIELDS   300

Maximum number of event fields registered at the SDK.

Around 202 event fields of namespace 0 are created by the SDK, those have to be included in this value.

#define UASERVER_MAX_EVENT_FILTER_DEPTH   500

Maximum depth of the event filter tree of an event monitored item.

#define UASERVER_MAX_EVENT_QUEUESIZE   10000

Maximum queue size for event monitored items.

#define UASERVER_MAX_HASH_KEY_LENGTH   512

Maximum length of of data to be hashed by UaServer_HashTable_Hash (mainly NodeId strings and ByteStrings).

#define UASERVER_MAX_HISTORY_CONTINUATIONPOINTSPERSESSION   5

Maximum number of continuation points per session for ReadHistory services.

#define UASERVER_MAX_NAMESPACEINDICES   10

Maximum number of NamespaceIndices.

#define UASERVER_MAX_NUMERICRANGES   5

Maximum count of numeric range parts in index ranges.

#define UASERVER_MAX_PROVIDERNODES   3500

Maximum number of nodes per provider supported by the server.

#define UASERVER_MAX_PUBLISH_PER_SESSION   10

Maximum number of publish requests per session.

#define UASERVER_MAX_PUBLISHINGRATE   3600000

The maximum supported publishing interval.

#define UASERVER_MAX_QUERY_CONTINUATIONPOINTSPERSESSION   5

Maximum number of continuation points per session for Query services.

#define UASERVER_MAX_QUEUESIZE   10000

Maximum queue size for data monitored items.

#define UASERVER_MAX_REFERENCES_TO_RETURN   10000

Maximum number of references to return in a Browse/BrowseNext response.

#define UASERVER_MAX_REJECTED_CERTIFICATES   100

Maximum number of client certificates stored in the rejected folder.

Set to 0 to disable limitation.

#define UASERVER_MAX_SECURECHANNELS   100

Maximum number of SecureChannels.

The upper limit of this value depends on the CMake settings UASTACK_TCPLISTENER_MAX_CONNECTIONS and UASTACK_SOCKETMANAGER_NUMBER_OF_SOCKETS (equals OPCUA_TCPLISTENER_MAXCONNECTIONS and OPCUA_P_SOCKETMANAGER_NUMBEROFSOCKETS). Set to 0 for no limit.

#define UASERVER_MAX_SESSION_TIMEOUT   0

Maximum session timeout in milliseconds.

Set to 0 for no limit.

#define UASERVER_MAX_SESSIONS   50

Maximum total number of sessions.

As most clients use one SecureChannel per session, the upper limits of MaxSecureChannels apply for this setting, too. Set to 0 for no limit.

#define UASERVER_MAX_SESSIONS_PER_CLIENT   25

Maximum number of sessions the server allows per client.

Set to 0 for no limit.

#define UASERVER_MAX_SUBSCRIPTIONS   0

Maximum total number of subscriptions.

Set to 0 for no limit.

#define UASERVER_MAX_SUBSCRIPTIONS_PER_SESSION   20

Maximum number of subscriptions per session.

Set to 0 for no limit.

#define UASERVER_MAX_TRANSLATE_RESULTS   10000

Maximum number of nodes to return in a TranslateBrowsePathsToNodeIds response.

#define UASERVER_MIN_PUBLISHINGRATE   50

The minimum supported publishing interval.

#define UASERVER_MIN_SESSION_TIMEOUT   0

Minimum session timeout in milliseconds.

Set to 0 for no limit.

#define UASERVER_MONITOREDITEMMANAGER_GUARANTEED_ITEMS_PER_SUBSCRIPTION   0

Guaranteed minimum number of monitored items a subscription can create.

#define UASERVER_MONITOREDITEMMANAGER_MAX_ITEMS   0

Maximum total number of monitored items.

Set to 0 for no limit.

#define UASERVER_MONITOREDITEMMANAGER_MAX_ITEMS_PER_SESSION   0

Maximum number of monitored items per session.

Set to 0 for no limit.

#define UASERVER_MONITOREDITEMMANAGER_MAX_ITEMS_PER_SUBSCRIPTION   1000

Maximum number of monitored items per subscription.

Set to 0 for no limit.

#define UASERVER_NO_OF_RUNTIME_NODES   1000

The estimated maximum number of nodes that will be created during runtime of the server.

This is only to avoid collisions in the hashtable and does not need to be exact. A good estimation can be calculated as follows: n = (56 * NoOfConcurrentSessions) + (32 * NoOfConcurrentSubscriptions) + (33 * NoOfPkiStores)

#define UASERVER_NONCE_LENGTH   32

The length of the ServerNonce inside the CreateSession and ActivateSession response in bytes.

The default value for the ServerNonce length is 32 bytes.

#define UASERVER_REJECTED_CERTIFICATES_DIR   "pki/rejected"

The folder for storing rejected client certificates.

#define UASERVER_ROOT_USER   0

The ID of the root user.

#define UASERVER_SECURITYADMIN_GROUP   0

The ID of the security administrator group.

#define UASERVER_SERVICES_CALL

Enables the Call service.

#define UASERVER_SERVICES_HISTORYREAD

Enables the HistoryRead service.

#define UASERVER_SERVICES_HISTORYUPDATE

Enables the HistoryUpdate service.

#define UASERVER_SERVICES_NODEMANAGEMENT   OPCUA_CONFIG_@UASERVER_NODEMANAGEMENT@

Enables the node management services.

#define UASERVER_SERVICES_QUERY   OPCUA_CONFIG_@UASERVER_QUERY@

Enables the query services.

#define UASERVER_SESSION_TIMEOUT_RESOLUTION   0

Session timeout resolution in milliseconds.

Set to 0 for no limitation.

#define UASERVER_SUBSCRIPTION_MAXKEEPALIVEINTERVAL   1200000

The maximum supported KeepAliveInterval for subscriptions.

#define UASERVER_SUBSCRIPTION_MAXLIFETIMEINTERVAL   3600000

The maximum supported Lifetime for subscriptions.

Should be at least 3 * UASERVER_SUBSCRIPTION_MAXKEEPALIVEINTERVAL.

#define UASERVER_SUBSCRIPTION_MINKEEPALIVEINTERVAL   500

The minimum supported KeepAliveInterval for subscriptions.

#define UASERVER_SUBSCRIPTION_MINLIFETIMEINTERVAL   1500

The minimum supported Lifetime for subscriptions.

Should be at least 3 * UASERVER_SUBSCRIPTION_MINKEEPALIVEINTERVAL.

#define UASERVER_SUPPORT_AUDITING   OPCUA_CONFIG_@UASERVER_AUDITING@

Enables the auditing server facet.

#define UASERVER_SUPPORT_AUTHENTICATION_INTERNAL

Enables the deprecated file based internal authentication module.

#define UASERVER_SUPPORT_AUTHENTICATION_INTERNAL_EX

Enables the improved file based internal authentication module.

#define UASERVER_SUPPORT_AUTHENTICATION_PAM

Linux only: enables the PAM authentication module.

#define UASERVER_SUPPORT_AUTHENTICATION_SASL

Linux only: enables the SASL authentication module.

#define UASERVER_SUPPORT_AUTHENTICATION_USER   OPCUA_CONFIG_@BUILD_AUTH_USER@

Enable this when using a custom authentication module.

#define UASERVER_SUPPORT_AUTHENTICATION_WIN32

Windows only: enables the Windows authentication module.

#define UASERVER_SUPPORT_AUTHORIZATION

Enables authorization support.

#define UASERVER_SUPPORT_CONDITION_BRANCHES   OPCUA_CONFIG_@UASERVER_CONDITION_BRANCHES@

Enables the Condition Branch support for Alarms.

#define UASERVER_SUPPORT_DISCOVERY   OPCUA_CONFIG_@BUILD_WITH_DISCOVERY@

Enables discovery support.

#define UASERVER_SUPPORT_EVENTS

Enables the Alarms&Events module.

#define UASERVER_SUPPORT_INODE_LIST   OPCUA_CONFIG_OFF

Enable this to support multiple iNodes per OpcUa_BaseNode.

#define UASERVER_USERCERTS_DIR   "auth_pki/trusted/certs"

The folder containing accepted user certificates for X509 authentication tokens.

#define UASERVER_USERCRL_DIR   "auth_pki/trusted/crl"

The folder containing certificate revocation lists for X509 authentication tokens.

#define UASERVER_USERISSUERCERTS_DIR   "auth_pki/issuers/certs"

The folder containing issuer certificates for X509 authentication tokens.

#define UASERVER_USERISSUERCRL_DIR   "auth_pki/issuers/crl"

The folder containing issuer revocation lists for X509 authentication tokens.