yumapro  25.10-1
YumaPro SDK
Loading...
Searching...
No Matches
sid_dict.h File Reference

Schema Item Identifier Dictionary utilities. More...

#include "ses.h"
#include "xml_msg.h"
Include dependency graph for sid_dict.h:

Go to the source code of this file.

Macros

#define SID_DICT_SERVER   1
 the SID tree ID for the server is always 1
 

Typedefs

typedef boolean(* sid_dict_walk_cbfn_t) (ncx_sid_ns_t sid_ns, const xmlChar *identifier, boolean is_obsolete, void *cookie)
 SIDGEN function callback. More...
 

Functions

status_t sid_dict_init (void)
 Initialize the YANG SID dictionary. More...
 
status_t sid_dict_init_write (void)
 Initialize the YANG SID dictionary for writing a SID DICT file. More...
 
void sid_dict_cleanup (void)
 Cleanup the YANG SID dictionary. More...
 
void sid_dict_cleanup_write (void)
 Cleanup the YANG SID dictionary for writing a SID DICT file. More...
 
status_t sid_dict_add_data (uint32 id, obj_template_t *obj, boolean internal)
 Store a data item in the SID item dict. More...
 
boolean sid_dict_remove_data (uint32 id, obj_template_t *obj)
 Remove a data object from the SID item dict. More...
 
status_t sid_dict_find_data (uint32 id, ncx_sid_t sid, obj_template_t **obj)
 Find a data item in the SID item dictionary. More...
 
status_t sid_dict_add_module (uint32 id, ncx_module_t *mod, boolean internal)
 Store a module item in the SID item dict. More...
 
boolean sid_dict_remove_module (uint32 id, ncx_module_t *mod)
 Remove a module object from the SID item dict. More...
 
status_t sid_dict_find_module (uint32 id, ncx_sid_t sid, ncx_module_t **mod)
 Find a module item in the SID item dictionary. More...
 
status_t sid_dict_add_identity (uint32 id, ncx_identity_t *ident, boolean internal)
 Store an identity item in the SID item dict. More...
 
boolean sid_dict_remove_identity (uint32 id, ncx_identity_t *ident)
 Remove an identity object from the SID item dict. More...
 
status_t sid_dict_find_identity (uint32 id, ncx_sid_t sid, ncx_identity_t **ident)
 Find an identity item in the SID item dictionary. More...
 
status_t sid_dict_add_feature (uint32 id, ncx_feature_t *feat, boolean internal)
 Store a feature item in the SID item dict. More...
 
boolean sid_dict_remove_feature (uint32 id, ncx_feature_t *feat)
 Remove a feature identity object from the SID item dict. More...
 
status_t sid_dict_find_feature (uint32 id, ncx_sid_t sid, ncx_feature_t **feat)
 Find a feature item in the SID item dictionary. More...
 
status_t sid_dict_add_module_write (ncx_module_t *mod, uint32 *retcnt)
 Store all the entries for a module for writing. More...
 
status_t sid_dict_walk_module_write (sid_dict_walk_cbfn_t cbfn, void *cookie)
 Walk the SID WRITE tree to generate item entries. More...
 
void sid_dict_dump (uint32 id)
 Print the sorted dictionary contents. More...
 
void sid_dict_write_dump (void)
 Print the sorted dictionary contents WRITE TREE. More...
 
void sid_dict_xml_wr (ses_cb_t *scb, xml_msg_hdr_t *mhdr, obj_template_t *obj, boolean external_only, xmlns_id_t parent_nsid, ncx_sid_t start_sid, ncx_sid_t stop_sid, int32 indent)
 Print the sorted dictionary contents for the yumaworks-yang-cbor get-yang-sid-info RPC operation. More...
 
ncx_sid_t sid_dict_highest (void)
 Get the highest SID number. More...
 
uint32 sid_dict_count (void)
 Get the current count of SID numbers. More...
 
status_t sid_dict_new (uint32 *id)
 Allocate a new SID tree for a session. More...
 
void sid_dict_free (uint32 id)
 Free a SID tree previously allocated with sid_dict_new. More...
 

Detailed Description

Schema Item Identifier Dictionary utilities.

The YANG SID number is used as AVL tree key

For server access only one SID tree is needed For client access a SID tree per session is needed for LSID Not assuming every server will use the correct global SID for every single schema item in the server

Typedef Documentation

◆ sid_dict_walk_cbfn_t

typedef boolean(* sid_dict_walk_cbfn_t) (ncx_sid_ns_t sid_ns, const xmlChar *identifier, boolean is_obsolete, void *cookie)

SIDGEN function callback.

template to traverse the SID dict just created with sid_dict_add_module_write.

Only used in sid_dict_walk_module_write function

Parameters
sid_nsSID namespace internal enum
identifierSID identifier saved for entry
is_obsoleteTRUE if item is for an obsolete statement
cookiecookie originally passed to the main function
Returns
TRUE if processing should continue
FALSE if identity traversal should terminate