yumapro
24.10-2
YumaPro SDK
|
Manage queues of ncx_module_t_ data stuctures. More...
Functions | |
ncx_module_t * | ncx_find_module (const xmlChar *modname, const xmlChar *revision) |
Find a ncx_module_t in the ncx_sesmodQ . More... | |
ncx_module_t * | ncx_find_module_ex (const xmlChar *modname, const xmlChar *revision) |
Find an ncx_module_t in the ncx_sesmodQ . More... | |
ncx_module_t * | ncx_find_module_by_prefix (const xmlChar *prefix) |
Find an ncx_module_t in the ncx_sesmodQ by prefix. More... | |
ncx_module_t * | ncx_find_module_que (dlq_hdr_t *modQ, const xmlChar *modname, const xmlChar *revision) |
Find a ncx_module_t in the specified Q of ncx_module_t. More... | |
ncx_module_t * | ncx_find_module_que_by_prefix (dlq_hdr_t *modQ, const xmlChar *prefix) |
Find a ncx_module_t in the specified Q by prefix value. More... | |
ncx_module_t * | ncx_find_module_que_nsid (dlq_hdr_t *modQ, xmlns_id_t nsid) |
Find a ncx_module_t in the specified Q by namespace ID. More... | |
obj_template_t * | ncx_find_first_rpc (const xmlChar *rpcname) |
Find the specified RPC Method in any module. More... | |
obj_template_t * | ncx_match_any_rpc (const xmlChar *module, const xmlChar *rpcname, uint32 *retcount) |
Match the specified module name in any module. More... | |
obj_template_t * | ncx_find_any_object (const xmlChar *objname) |
Find any top-level object in any YANG module. More... | |
obj_template_t * | ncx_match_any_object (const xmlChar *objname, ncx_name_match_t name_match, boolean alt_names, status_t *retres) |
Match any object in any YANG module with extra search options. More... | |
obj_template_t * | ncx_match_any_object_ex (const xmlChar *modname, const xmlChar *objname, boolean dataonly, ncx_name_match_t name_match, boolean alt_names, status_t *retres) |
Match any object in any YANG module with double extra search options. More... | |
obj_template_t * | ncx_find_any_object_que (dlq_hdr_t *modQ, const xmlChar *objname) |
Find any top-level YANG object in a module in the modQ . More... | |
ncx_module_t * | ncx_get_first_module (void) |
Get the first module in the ncx_modQ. More... | |
ncx_module_t * | ncx_get_prev_module (const ncx_module_t *mod) |
Get the previous module. More... | |
ncx_module_t * | ncx_get_next_module_all (const ncx_module_t *mod) |
Get the first module entry in the ncx_modQ. More... | |
ncx_module_t * | ncx_get_next_module (const ncx_module_t *mod) |
Get the next module in the ncx_modQ. More... | |
ncx_module_t * | ncx_get_first_session_module (void) |
Get the first module in the ncx_sesmodQ. More... | |
ncx_module_t * | ncx_get_next_session_module (const ncx_module_t *mod) |
Get the next module in the ncx_sesmodQ. More... | |
ncx_module_t * | ncx_find_first_importer (const xmlChar *module) |
Search all modules importQs for a specified module name. More... | |
ncx_module_t * | ncx_find_next_importer (const xmlChar *module, ncx_module_t *curmod) |
Search all modules importQs for a specified module name. More... | |
ncx_module_t * | ncx_find_deviation_module (const xmlChar *modname) |
Find a deviation module ncx_module_t in the deviation_moduleQ;. More... | |
obj_template_t * | ncx_first_data_node (boolean cfgonly) |
Check if an obj_template_t in in any module that matches a data node either config or all. More... | |
obj_template_t * | ncx_next_data_node (obj_template_t *curnode) |
Check if an obj_template_t in in any module that matches a data node either config or all. More... | |
ncx_module_t * | ncx_first_deviation_module (void) |
Get the first deviation module. More... | |
ncx_module_t * | ncx_next_deviation_module (ncx_module_t *curmod) |
Get the next deviation module after curmod . More... | |
Manage queues of ncx_module_t_ data stuctures.
Usually created only by the YANG parser and freed by ncx_cleanup
The YANG programs that use the NCX Library load modules into ncx_module_t_ structures stores in queues.
The YANG parser will create this structure and store it in the ncx_sesmodQ (or other queue) Note that these functions are not thread-safe!
The multi-threaded server will take care to alter the queues of modules in a critical section that blocks all other threads
obj_template_t * ncx_find_any_object | ( | const xmlChar * | objname | ) |
Find any top-level object in any YANG module.
Check if an obj_template_t in in any module that matches the object name string
objname | object name to match |
obj_template_t * ncx_find_any_object_que | ( | dlq_hdr_t * | modQ, |
const xmlChar * | objname | ||
) |
Find any top-level YANG object in a module in the modQ
.
Check if an obj_template_t in in any module that matches the object name string
modQ | Q of modules to check |
objname | object name to match |
ncx_module_t * ncx_find_deviation_module | ( | const xmlChar * | modname | ) |
Find a deviation module ncx_module_t in the deviation_moduleQ;.
modname | module name with no path prefix or file extension |
ncx_module_t * ncx_find_first_importer | ( | const xmlChar * | module | ) |
Search all modules importQs for a specified module name.
module | module name to find |
obj_template_t * ncx_find_first_rpc | ( | const xmlChar * | rpcname | ) |
Find the specified RPC Method in any module.
Check if a rpc_template_t is in any module that matches the rpc name string.
rpcname | RPC name to find exact match |
ncx_module_t * ncx_find_module | ( | const xmlChar * | modname, |
const xmlChar * | revision | ||
) |
Find a ncx_module_t in the ncx_sesmodQ
.
These are the modules that are already loaded Does not look for submodule names if no module name found
modname | module name for the new module |
revision | module revision date for the new module (may be NULL) |
NULL
if not found ncx_module_t * ncx_find_module_by_prefix | ( | const xmlChar * | prefix | ) |
Find an ncx_module_t in the ncx_sesmodQ by prefix.
These are the modules that are already loaded Find first match of prefix. Will check the ncx_curQ if nothing found in the ncx_sesmodQ
prefix | prefix value to search for matching module |
ncx_module_t * ncx_find_module_ex | ( | const xmlChar * | modname, |
const xmlChar * | revision | ||
) |
Find an ncx_module_t in the ncx_sesmodQ
.
These are the modules that are already loaded Check submodule names if no main module found
modname | module or submodule name to find |
revision | module revision date (may be NULL to find any revision) |
ncx_module_t * ncx_find_module_que | ( | dlq_hdr_t * | modQ, |
const xmlChar * | modname, | ||
const xmlChar * | revision | ||
) |
Find a ncx_module_t in the specified Q of ncx_module_t.
modQ | module Q to search |
modname | module name to find |
revision | module revision date to find (may be NULL to find any revision) |
ncx_module_t * ncx_find_module_que_by_prefix | ( | dlq_hdr_t * | modQ, |
const xmlChar * | prefix | ||
) |
Find a ncx_module_t in the specified Q by prefix value.
modQ | module Q to search by prefix |
prefix | prefix value to find matching module |
ncx_module_t * ncx_find_module_que_nsid | ( | dlq_hdr_t * | modQ, |
xmlns_id_t | nsid | ||
) |
Find a ncx_module_t in the specified Q by namespace ID.
The namespace ID is assigned by xmlns when the module is loaded.
modQ | module Q of ncx_module_t to search |
nsid | dynamic xmlns ID assigned by xmlns to find |
ncx_module_t * ncx_find_next_importer | ( | const xmlChar * | module, |
ncx_module_t * | curmod | ||
) |
Search all modules importQs for a specified module name.
module | module name to find |
curmod | current module that was checked; start with next |
obj_template_t * ncx_first_data_node | ( | boolean | cfgonly | ) |
Check if an obj_template_t in in any module that matches a data node either config or all.
cfgonly | true if config only; false for all |
ncx_module_t * ncx_first_deviation_module | ( | void | ) |
Get the first deviation module.
ncx_module_t * ncx_get_first_module | ( | void | ) |
Get the first module in the ncx_modQ.
ncx_module_t * ncx_get_first_session_module | ( | void | ) |
Get the first module in the ncx_sesmodQ.
Only used by yangcli-pro and yp-shell to maintain a YANG library for each connected session.
ncx_module_t * ncx_get_next_module | ( | const ncx_module_t * | mod | ) |
Get the next module in the ncx_modQ.
mod | current module to find next |
ncx_module_t * ncx_get_next_module_all | ( | const ncx_module_t * | mod | ) |
Get the first module entry in the ncx_modQ.
mod | current module to find next |
ncx_module_t * ncx_get_next_session_module | ( | const ncx_module_t * | mod | ) |
Get the next module in the ncx_sesmodQ.
Only used by yangcli-pro and yp-shell to maintain a YANG library for each connected session.
ncx_module_t * ncx_get_prev_module | ( | const ncx_module_t * | mod | ) |
Get the previous module.
Get the previous module in the queue
mod | current module to find next |
obj_template_t * ncx_match_any_object | ( | const xmlChar * | objname, |
ncx_name_match_t | name_match, | ||
boolean | alt_names, | ||
status_t * | retres | ||
) |
Match any object in any YANG module with extra search options.
Check if an obj_template_t in any module that matches the object name string (objname
).
Use name_match
to specify the type of name match desired Use alt_names
to check objname
as the alt-name for the object. This is usually only used in the CLI.
objname | object name to match | |
name_match | name match mode enumeration | |
alt_names | TRUE if alternate names should be checked after regular names; FALSE if not | |
[out] | retres | address of return status; *retres return status |
obj_template_t * ncx_match_any_object_ex | ( | const xmlChar * | modname, |
const xmlChar * | objname, | ||
boolean | dataonly, | ||
ncx_name_match_t | name_match, | ||
boolean | alt_names, | ||
status_t * | retres | ||
) |
Match any object in any YANG module with double extra search options.
Check if an obj_template_t in in any module that matches the object name string; extended parameters
Use name_match
to specify the type of name match desired Use alt_names
to check objname
as the alt-name for the object. This is usually only used in the CLI. Use dataonly
to search only for datastore objects
modname | module name of object (may be NULL to search all) | |
objname | object name to match | |
dataonly | TRUE for data nodes only; FALSE for any object type | |
name_match | name match mode enumeration | |
alt_names | TRUE if alternate names should be checked after regular names; FALSE if not | |
[out] | retres | address of return status; *retres return status |
obj_template_t * ncx_match_any_rpc | ( | const xmlChar * | module, |
const xmlChar * | rpcname, | ||
uint32 * | retcount | ||
) |
Match the specified module name in any module.
Check if a rpc_template_t in in any module that matches the rpc name string and maybe the owner
module | module name to check (NULL == check all) | |
rpcname | RPC name to match | |
[out] | retcount | address of return count of matches
|
obj_template_t * ncx_next_data_node | ( | obj_template_t * | curnode | ) |
Check if an obj_template_t in in any module that matches a data node either config or all.
curnode | node to find next from |
ncx_module_t * ncx_next_deviation_module | ( | ncx_module_t * | curmod | ) |
Get the next deviation module after curmod
.
curmod | current module to search from |