High Performance OPC UA Server SDK
1.3.1.248
|
General addressspace management like register/unregister namespaces. More...
Data Structures | |
struct | ua_addressspace_config |
Enumerations | |
enum | ua_addressspace_index_type { UA_INDEX_BTREE, UA_INDEX_HASHTABLE, UA_INDEX_HASHTABLEQP } |
Possible index types for nodes in the addressspace. More... | |
enum | ua_addressspace_loading_mode { UA_LOADING_MODE_CREATE, UA_LOADING_MODE_UPDATE } |
Functions | |
int | ua_addressspace_init (void) |
Allocate resources for addressspace management. More... | |
void | ua_addressspace_clear (void) |
Remove all registered namespaces from the addressspace and free their resources. | |
void | ua_addressspace_config_init (struct ua_addressspace_config *config) |
void | ua_addressspace_config_clear (struct ua_addressspace_config *config) |
int | ua_addressspace_register (const char *url, struct ua_addressspace_config *config, enum ua_addressspace_index_type type) |
Registers a new namespace. More... | |
int | ua_addressspace_register_static (const char *url, int hashtablesize, struct mem_objectpool_static *nodepool, struct mem_objectpool_static *varpool, struct mem_objectpool_static *vartypepool, struct mem_objectpool_static *refpool, struct mem_objectpool_static *stringpool, const char *const stringtable[], struct mem_objectpool_static *guidpool, struct mem_objectpool_static *dimpool, uint16_t nsidx, unsigned int num_placeholders, enum ua_addressspace_index_type type) |
Registers a new namespace. More... | |
void | ua_addressspace_unregister (uint16_t nsidx) |
Unregister a namespace from the addressspace. More... | |
struct ua_addressspace * | ua_addressspace_getaddr (uint16_t nsidx) |
Get the pointer to the ua_addressspace struct of a namespace. More... | |
struct ua_addressspace * | ua_addressspace_lookup_uri (const char *nsuri) |
Finds address space context by is URI. More... | |
bool | ua_addressspace_is_static (struct ua_addressspace *addr) |
Returns true if the address space is static. More... | |
uint16_t | ua_addressspace_get_nsidx (struct ua_addressspace *addr) |
Returns the namespace index for the given address space. More... | |
const char * | ua_addressspace_get_nsuri (struct ua_addressspace *addr) |
Returns the namespace URI for the given address space. More... | |
void | ua_addressspace_set_digest (const unsigned char *digest, size_t len) |
Set the digest which was used to generate NS0. More... | |
bool | ua_addressspace_verify_digest (const unsigned char *digest, size_t len) |
Returns true if the digest is ok, false otherwise. More... | |
void | ua_addressspace_print_stat (uint16_t) |
Print addressspace statistics for a namespace. More... | |
General addressspace management like register/unregister namespaces.
uint16_t ua_addressspace_get_nsidx | ( | struct ua_addressspace * | addr | ) |
Returns the namespace index for the given address space.
addr | Address space context. |
const char* ua_addressspace_get_nsuri | ( | struct ua_addressspace * | addr | ) |
Returns the namespace URI for the given address space.
addr | Address space context. |
struct ua_addressspace* ua_addressspace_getaddr | ( | uint16_t | nsidx | ) |
Get the pointer to the ua_addressspace struct of a namespace.
nsidx | Index of the namespace. |
int ua_addressspace_init | ( | void | ) |
Allocate resources for addressspace management.
bool ua_addressspace_is_static | ( | struct ua_addressspace * | addr | ) |
Returns true if the address space is static.
Static means it's compiled into the application and is constant. On embedded systems static address space can lie in ROM.
struct ua_addressspace* ua_addressspace_lookup_uri | ( | const char * | nsuri | ) |
Finds address space context by is URI.
nsuri | Namespace URI of the namespace. |
void ua_addressspace_print_stat | ( | uint16_t | nsidx | ) |
Print addressspace statistics for a namespace.
The statistics are printed to trace at level debug and facility session.
nsidx | index of namespace to print statistics for |
int ua_addressspace_register | ( | const char * | url, |
struct ua_addressspace_config * | config, | ||
enum ua_addressspace_index_type | type | ||
) |
Registers a new namespace.
url | URL of namespace. |
config | Address space configuration which defines the pool sizes. |
type | Index type to use for indexing nodes. Note: Using UA_INDEX_HASHTABLEQP is not allowed as deleting nodes would corrupt the hashtable. |
int ua_addressspace_register_static | ( | const char * | url, |
int | hashtablesize, | ||
struct mem_objectpool_static * | nodepool, | ||
struct mem_objectpool_static * | varpool, | ||
struct mem_objectpool_static * | vartypepool, | ||
struct mem_objectpool_static * | refpool, | ||
struct mem_objectpool_static * | stringpool, | ||
const char *const | stringtable[], | ||
struct mem_objectpool_static * | guidpool, | ||
struct mem_objectpool_static * | dimpool, | ||
uint16_t | nsidx, | ||
unsigned int | num_placeholders, | ||
enum ua_addressspace_index_type | type | ||
) |
Registers a new namespace.
url | URL of namespace. |
hashtablesize | Size of hashtable for indexing nodes. |
nodepool | Static memory pool of nodes. |
varpool | Static memory pool of variables. |
vartypepool | Static memory pool of variable types. |
refpool | Static memory pool of references. |
stringpool | Static memory pool of strings. |
stringtable | String table with const strings. |
guidpool | Static memory pool of guids. |
nsidx | Requested namespace index. Set to -1 if you don't care. |
num_placeholders | Number of placeholde references that get allocated in RAM. |
type | Index type to use for indexing nodes. |
void ua_addressspace_set_digest | ( | const unsigned char * | digest, |
size_t | len | ||
) |
Set the digest which was used to generate NS0.
void ua_addressspace_unregister | ( | uint16_t | nsidx | ) |
Unregister a namespace from the addressspace.
Remove all nodes from the given namespace.
nsidx | index of the namespace to unregister. |
bool ua_addressspace_verify_digest | ( | const unsigned char * | digest, |
size_t | len | ||
) |
Returns true if the digest is ok, false otherwise.