yumapro  23.10T-8
YumaPro SDK
No Matches

YANG parser control block. More...

#include <yang.h>

Collaboration diagram for yang_pcb_t:

Data Fields

struct ncx_module_t_ * top
 top-level file
struct ncx_module_t_ * retmod
 nested [sub]mod being returned
struct ncx_module_t_ * parentparm
 parent passed for submodule
const xmlChar * revision
 back-ptr to rev to match
boolean with_submods
 include submodules
boolean stmtmode
 save top-level stmt order
boolean diffmode
 TRUE = yangdiff old ver.
boolean deviationmode
 TRUE if keeping deviations only.
boolean annotation
 TRUE if deviation really annotation.
boolean searchmode
 TRUE if just getting ns & version.
boolean parsemode
 TRUE if full parse but no reg-load.
boolean keepmode
 TRUE to keep new mod even if loaded.
boolean topfound
 TRUE if top found, not added.
boolean topadded
 TRUE if top in registry; F: need free.
boolean savetkc
 TRUE if tkc should be kept in tkc.
boolean docmode
 TRUE if saving strings in origtkQ.
boolean trackmode
 TRUE if yangdump to track re-parse.
boolean reparse
 TRUE if trackmode + mod already parsed.
boolean set_supported
 TRUE: load, FALSE: import only.
boolean res_dev
 TRUE: currently resolving a deviation.
boolean autoloadmode
 TRUE if yangcli autoload.
boolean in_grouping
 T: resolving datadefs in a grouping.
boolean in_yangdata
 T: resolving datadefs in rc:yang-data.
boolean retmod_malloced
 T: if retmod live ncx_new_module.
boolean swaptop
 T: keepmode found top already so swap.
boolean freetop
 T: keeptop=T and wasadd=F and top=live mem.
dlq_hdr_t allimpQ
 Q of yang_import_ptr_t.
dlq_hdr_t * topfailedQ
 ptr to Q of failed_ptr_t
dlq_hdr_t * savedevQ
 ptr to Q of ncx_save_deviations_t
dlq_hdr_t * savemodQ
 ptr to Q of ncx_module_t: parse mode
 live or NULL parse chain

dlq_hdr_t impchainQ
 2 Qs of yang_node_t More...
dlq_hdr_t failedQ
 load mod or submod failed
struct ncx_sm_rootcb_t_ * rootcb
 Schema Mount pointers. More...

Detailed Description

YANG parser control block.

top level parse can be for a module or a submodule

The allimpQ is a cache of pointers to all the imports that have been processed. This is used by yangdump for document processing and error detection.

The impchainQ is really a stack of imports that are being processed, used for import loop detection

The allincQ is a cache of all the includes that have been processed. Includes can be nested, and are only parsed once,

The incchainQ is really a stack of includes that are being processed, used for include loop detection

The failedQ is a list of all the modules that had fatal errors, and have already been processed. This is used to prevent error messages from imports to be printed more than once, and speeds up validation processing

Field Documentation

◆ impchainQ

dlq_hdr_t impchainQ

2 Qs of yang_node_t

cur chain of import used

◆ rootcb

struct ncx_sm_rootcb_t_* rootcb

Schema Mount pointers.

back-ptr to SM root CB

The documentation for this struct was generated from the following file: