yumapro  21.10T-9
YumaPro SDK
NCX Data Structures

C Data Structures used to represent YANG module constructs. More...

Collaboration diagram for NCX Data Structures:

Data Structures

struct  ncx_dec64_t
 Decimal64 data type. More...
 
union  ncx_num_t
 union of all the basic number types if float not supported, then it is stored as an int64 More...
 
struct  ncx_enum_t
 one NCX_BT_ENUM enumeration value (user may enter 1 of 3 forms) More...
 
struct  ncx_bit_t
 one NCX_BT_BITS bit value More...
 
struct  ncx_lmem_t
 NCX list member: list of string or number Usually used within a val_value_t structure. More...
 
struct  ncx_list_t
 header for a NCX List More...
 
struct  ncx_binary_t
 NCX base64 string node for YANG 'binary' built-in type. More...
 
struct  ncx_error_t
 struct to remember error info tkc->cur_err will be checked before tkc->cur for error information More...
 
struct  ncx_appinfo_t
 YANG extension usage entry A nested external statement will produce a tree of ncx_appinfo_t. More...
 
struct  ncx_revhist_t
 YANG revision entry. More...
 
struct  ncx_iff_ref_t
 YANG 1.1 identifier-ref-arg that within an if-feature expression. More...
 
struct  ncx_iffeature_t
 YANG if-feature entry. More...
 
struct  ncx_feature_t
 YANG feature entry. More...
 
struct  ncx_filptr_t
 struct for holding r/o pointer to generic internal node for filtering purposes More...
 
struct  ncx_idlink_t
 back pointer to a YANG identity used to create an inline tree of valid values for an identity used as a base More...
 
struct  ncx_identity_base_t
 YANG identity base. More...
 
struct  ncx_identity_t
 YANG identity entry. More...
 
struct  ncx_module_t
 representation of one module or submodule during and after parsing More...
 
struct  ncx_import_t
 One 'import' clause in YANG. More...
 
struct  ncx_include_t
 One 'include' clause, YANG only. More...
 
struct  ncx_errinfo_t
 YANG error info statement struct used to override default error handling in the server. More...
 
struct  ncx_typname_t
 keep track of the typenames used for local typedefs only used by ncxdump to generate XSDs OBSOLETE: DO NOT USE More...
 
struct  ncx_save_deviations_t
 used with obj_deviation_t to defer object lookups More...
 
struct  ncx_backptr_t
 used with various structs to cache back-ptrs the 'node' pointer may or may not be malloced! the ncx_free_backptr() function will not free the 'node' the ncx_free_mbackptr() function will free the 'node' More...
 
struct  ncx_modcache_t
 server module info cache record for def_reg_add_mod More...
 
struct  ncx_errmsg_t
 error message replacement record More...
 
struct  ncx_origin_filter_t
 internal NMDA origin filter (negate field stored separately) More...
 
struct  ncx_nmda_params_t
 internal NMDA get-data state parameters; rest of parameter are stored directly in the xml_msg_hdr_t using existing params More...
 
struct  ncx_prefix_info_t
 gather the prefix/nsid bindings used in an XPath string needed to generate the correct xmlns directives in XML JSON just loses all the namespace bindings in an XPath string More...
 

Macros

#define SET_MOD_ABORTED(M)   (M)->flags |= NCX_FL_MOD_ABORTED
 Set module aborted flag.
 
#define GET_MOD_ABORTED(M)   ((M)->flags & NCX_FL_MOD_ABORTED)
 Check module aborted flag.
 
#define SET_MOD_SIL_LOADED(M)   (M)->flags |= NCX_FL_MOD_SIL_LOADED
 set flag used by agt_sil_lib to make sure modules loaded by import do not get skipped when they are explicitly loaded later
 
#define GET_MOD_SIL_LOADED(M)   ((M)->flags & NCX_FL_MOD_SIL_LOADED)
 check flag used by agt_sil_lib to make sure modules loaded by import
 
#define SET_MOD_NO_SIL_CODE(M)   (M)->flags |= NCX_FL_MOD_NO_SIL_CODE
 set flag used by SIL-SA to know fi register-request really needed Only register if this bit is not set
 
#define GET_MOD_NO_SIL_CODE(M)   ((M)->flags & NCX_FL_MOD_NO_SIL_CODE)
 check flag used by SIL-SA to know fi register-request really needed
 
#define SET_MOD_SILSA_DONE(M)   (M)->flags |= NCX_FL_MOD_SILSA_DONE
 set flag used by agt_cb.c to make sure a <load-event> on SIL-SA does not cause a module to be registered multiple times A modhdr is not maintained if only rpc callbacks are used
 
#define GET_MOD_SILSA_DONE(M)   ((M)->flags & NCX_FL_MOD_SILSA_DONE)
 check flag used by agt_cb.c to make sure a <load-event> on SIL-SA
 
#define NCX_DEF_ACCESS   NCX_ACCESS_RC
 default max-access is all
 
#define NCX_CFGID_CNT   (NCX_CFGID_MAX+1)
 Should match CFG_NUM_STATIC.
 
#define TXID_T   long long unsigned int
 For convenience.
 

Typedefs

typedef uint64 ncx_transaction_id_t
 transaction is scoped to single session write operation on a config
 
typedef xmlChar * ncx_str_t
 string alias for data types: More...
 
typedef void(* ncx_load_cbfn_t) (ncx_module_t *mod)
 user function callback template when a module is loaded into the system More...
 
typedef void(* ncx_unload_cbfn_t) (ncx_module_t *mod)
 user function callback template when a module is unloaded from the system More...
 
typedef void(* ncx_yang_obj_cbfn_t) (ncx_module_t *mod, struct obj_template_t_ *obj)
 user function callback template when a YANG object is parsed by yang_obj.c. More...
 
typedef boolean(* ncx_feature_cbfn_t) (const ncx_module_t *mod, ncx_feature_t *feature, void *cookie)
 user function callback template to traverse all module features for a specified module More...
 
typedef boolean(* ncx_identity_cbfn_t) (ncx_identity_t *identity, void *cookie)
 user function callback template to traverse all module identities looking for matches for a specified base More...
 
typedef uint8 ncx_owner_id_t
 used as index into the agt_owner registry
 
typedef const xmlChar *(* ncx_get_owner_fn_t) (ncx_owner_id_t owner_id)
 get owner name callback function to check if a value node has an owner name; get the value if so More...
 
typedef status_t(* ncx_def_hook_cbfn_t) (struct val_value_t_ *parentval, struct obj_template_t_ *obj, xmlChar **buff)
 Typedef of the ncx_def_hook_cbfn_t callback. More...
 

Enumerations

enum  ncx_access_t {
  NCX_ACCESS_NONE,
  NCX_ACCESS_RO,
  NCX_ACCESS_RW,
  NCX_ACCESS_RC
}
 NCX Access Control 'max-access' enumeration values Note that access control is applied to the session and the max-access applies to the user max-access, not the agent max-access. More...
 
enum  ncx_data_class_t {
  NCX_DC_NONE,
  NCX_DC_CONFIG,
  NCX_DC_STATE
}
 NCX Persistence Control. More...
 
enum  ncx_btype_t {
  NCX_BT_NONE,
  NCX_BT_ANY,
  NCX_BT_BITS,
  NCX_BT_ENUM,
  NCX_BT_EMPTY,
  NCX_BT_BOOLEAN,
  NCX_BT_INT8,
  NCX_BT_INT16,
  NCX_BT_INT32,
  NCX_BT_INT64,
  NCX_BT_UINT8,
  NCX_BT_UINT16,
  NCX_BT_UINT32,
  NCX_BT_UINT64,
  NCX_BT_DECIMAL64,
  NCX_BT_FLOAT64,
  NCX_BT_STRING,
  NCX_BT_BINARY,
  NCX_BT_INSTANCE_ID,
  NCX_BT_UNION,
  NCX_BT_LEAFREF,
  NCX_BT_IDREF,
  NCX_BT_SLIST,
  NCX_BT_CONTAINER,
  NCX_BT_CHOICE,
  NCX_BT_CASE,
  NCX_BT_LIST,
  NCX_BT_ANYDATA,
  NCX_BT_EXTERN,
  NCX_BT_INTERN
}
 enumeration of the built-in NCX types These types cannot be overridden and cannot be imported More...
 
enum  ncx_tclass_t {
  NCX_CL_NONE,
  NCX_CL_BASE,
  NCX_CL_SIMPLE,
  NCX_CL_COMPLEX,
  NCX_CL_NAMED,
  NCX_CL_REF
}
 Enumeration of the basic value type classifications. More...
 
enum  ncx_indextyp_t {
  NCX_IT_NONE,
  NCX_IT_INLINE,
  NCX_IT_NAMED,
  NCX_IT_LOCAL,
  NCX_IT_SLOCAL,
  NCX_IT_REMOTE,
  NCX_IT_SREMOTE
}
 Enumeration of the different types of index components YANG ONLY SUPPORTS NCX_IT_LOCAL. More...
 
enum  ncx_node_t {
  NCX_NT_NONE,
  NCX_NT_TYP,
  NCX_NT_GRP,
  NCX_NT_VAL,
  NCX_NT_OBJ,
  NCX_NT_ERRINFO,
  NCX_NT_STRING,
  NCX_NT_CFG,
  NCX_NT_INDEX,
  NCX_NT_QNAME,
  NCX_NT_UINT32_PTR,
  NCX_NT_IMPORT_CB,
  NCX_NT_INCLUDE_CB,
  NCX_NT_REVISION_CB,
  NCX_NT_EXTENSION_CB,
  NCX_NT_FEATURE_CB,
  NCX_NT_IDENTITY_CB,
  NCX_NT_TYPDEF_CB
}
 NCX Internal Node Types. More...
 
enum  ncx_iqual_t {
  NCX_IQUAL_NONE,
  NCX_IQUAL_ONE,
  NCX_IQUAL_OPT,
  NCX_IQUAL_1MORE,
  NCX_IQUAL_ZMORE
}
 The instance qualifier types are borrowed from ABNF and RelaxNG. More...
 
enum  ncx_merge_t {
  NCX_MERGE_NONE,
  NCX_MERGE_FIRST,
  NCX_MERGE_LAST,
  NCX_MERGE_SORT
}
 The merge type for the NETCONF merge operation. More...
 
enum  ncx_squal_t {
  NCX_SQUAL_NONE,
  NCX_SQUAL_RANGE,
  NCX_SQUAL_VAL,
  NCX_SQUAL_META,
  NCX_SQUAL_APPINFO
}
 typdef search qualifier list (internal compiler modes) More...
 
enum  ncx_strrest_t {
  NCX_SR_NONE,
  NCX_SR_PATTERN,
  NCX_SR_ENUM,
  NCX_SR_BIT
}
 Enumeration of string restriction types. More...
 
enum  ncx_numfmt_t {
  NCX_NF_NONE,
  NCX_NF_OCTAL,
  NCX_NF_DEC,
  NCX_NF_HEX,
  NCX_NF_REAL
}
 Enumeration of number format types. More...
 
enum  ncx_layer_t {
  NCX_LAYER_NONE,
  NCX_LAYER_TRANSPORT,
  NCX_LAYER_RPC,
  NCX_LAYER_OPERATION,
  NCX_LAYER_CONTENT
}
 Enumeration of NETCONF protocol layers. More...
 
enum  ncx_agttarg_t {
  NCX_AGT_TARG_NONE,
  NCX_AGT_TARG_CANDIDATE,
  NCX_AGT_TARG_RUNNING,
  NCX_AGT_TARG_LOCAL,
  NCX_AGT_TARG_REMOTE,
  NCX_AGT_TARG_CAND_RUNNING
}
 enum to identify the agent native target More...
 
enum  ncx_agtstart_t {
  NCX_AGT_START_NONE,
  NCX_AGT_START_MIRROR,
  NCX_AGT_START_DISTINCT
}
 enum to identify the agent native startup mode More...
 
enum  ncx_shutdowntyp_t {
  NCX_SHUT_NONE,
  NCX_SHUT_RESET,
  NCX_SHUT_RELOAD,
  NCX_SHUT_RESTART ,
  NCX_SHUT_FALLBACK
}
 enumeration of the different program shutdown modes More...
 
enum  ncx_cfg_t {
  NCX_CFGID_RUNNING,
  NCX_CFGID_CANDIDATE,
  NCX_CFGID_STARTUP
}
 hardwire the 3 standard configs More...
 
enum  ncx_instfmt_t {
  NCX_IFMT_NONE,
  NCX_IFMT_C,
  NCX_IFMT_XPATH1,
  NCX_IFMT_XPATH2,
  NCX_IFMT_CLI,
  NCX_IFMT_CLI2,
  NCX_IFMT_YANGAPI,
  NCX_IFMT_RESTCONF
}
 instance identifier string format types More...
 
enum  ncx_msgtyp_t {
  NCX_MSGTYP_NONE,
  NCX_MSGTYP_HELLO,
  NCX_MSGTYP_RPCREQ,
  NCX_MSGTYP_RPCRPY,
  NCX_MSGTYP_NOTIF
}
 enumeration for different NETCONF message types More...
 
enum  ncx_status_t {
  NCX_STATUS_NONE,
  NCX_STATUS_CURRENT,
  NCX_STATUS_DEPRECATED,
  NCX_STATUS_OBSOLETE
}
 enumeration for different YANG data-def status values More...
 
enum  ncx_bad_data_t {
  NCX_BAD_DATA_NONE,
  NCX_BAD_DATA_IGNORE,
  NCX_BAD_DATA_WARN,
  NCX_BAD_DATA_CHECK,
  NCX_BAD_DATA_ERROR
}
 enumeration for CLI handling of bad input data used by yangcli, all others use NCX_BAD_DATA_ERROR More...
 
enum  ncx_display_mode_t {
  NCX_DISPLAY_MODE_NONE,
  NCX_DISPLAY_MODE_PLAIN,
  NCX_DISPLAY_MODE_PREFIX,
  NCX_DISPLAY_MODE_MODULE,
  NCX_DISPLAY_MODE_XML,
  NCX_DISPLAY_MODE_XML_NONS,
  NCX_DISPLAY_MODE_JSON,
  NCX_DISPLAY_MODE_CLI
}
 enumeration of val_dump_value display modes More...
 
enum  ncx_msg_encoding_t {
  NCX_MSG_ENCODING_NONE,
  NCX_MSG_ENCODING_XML,
  NCX_MSG_ENCODING_JSON,
  NCX_MSG_ENCODING_CBOR
}
 enumeration for message encoding formats More...
 
enum  ncx_xpath_axis_t {
  XP_AX_NONE,
  XP_AX_ANCESTOR,
  XP_AX_ANCESTOR_OR_SELF,
  XP_AX_ATTRIBUTE,
  XP_AX_CHILD,
  XP_AX_DESCENDANT,
  XP_AX_DESCENDANT_OR_SELF,
  XP_AX_FOLLOWING,
  XP_AX_FOLLOWING_SIBLING,
  XP_AX_NAMESPACE,
  XP_AX_PARENT,
  XP_AX_PRECEDING,
  XP_AX_PRECEDING_SIBLING,
  XP_AX_SELF
}
 XPath expression axis types. More...
 
enum  ncx_name_match_t {
  NCX_MATCH_NONE,
  NCX_MATCH_EXACT,
  NCX_MATCH_EXACT_NOCASE,
  NCX_MATCH_ONE,
  NCX_MATCH_ONE_NOCASE,
  NCX_MATCH_FIRST,
  NCX_MATCH_FIRST_NOCASE
}
 Node name match modes. More...
 
enum  ncx_result_format_t {
  NCX_RF_NONE,
  NCX_RF_TEXT,
  NCX_RF_XML,
  NCX_RF_JSON
}
 specify the requested result format type More...
 
enum  ncx_feature_code_t {
  NCX_FEATURE_CODE_NONE,
  NCX_FEATURE_CODE_STATIC,
  NCX_FEATURE_CODE_DYNAMIC
}
 Feature code generation type (deprecated) More...
 
enum  ncx_protocol_t {
  NCX_PROTO_NONE,
  NCX_PROTO_NETCONF10,
  NCX_PROTO_NETCONF11,
  NCX_PROTO_YUMA_YANGAPI,
  NCX_PROTO_YUMA_CLI,
  NCX_PROTO_YCONTROL,
  NCX_PROTO_RESTCONF
}
 NCX session protocol versions supported. More...
 
enum  ncx_yang_version_t
 enumeration for different YANG language versions
 
enum  ncx_cvttyp_t {
  NCX_CVTTYP_NONE,
  NCX_CVTTYP_XSD,
  NCX_CVTTYP_SQL,
  NCX_CVTTYP_SQLDB,
  NCX_CVTTYP_HTML,
  NCX_CVTTYP_YANG,
  NCX_CVTTYP_COPY,
  NCX_CVTTYP_H,
  NCX_CVTTYP_C,
  NCX_CVTTYP_CPP_TEST,
  NCX_CVTTYP_YIN,
  NCX_CVTTYP_TG2,
  NCX_CVTTYP_YH,
  NCX_CVTTYP_YC,
  NCX_CVTTYP_UH,
  NCX_CVTTYP_UC,
  NCX_CVTTYP_BC,
  NCX_CVTTYP_BH
}
 enumeration for different NCX module conversion output types More...
 
enum  ncx_withdefaults_t {
  NCX_WITHDEF_NONE,
  NCX_WITHDEF_REPORT_ALL,
  NCX_WITHDEF_REPORT_ALL_TAGGED,
  NCX_WITHDEF_TRIM,
  NCX_WITHDEF_EXPLICIT
}
 enum for with-defaults enum values More...
 
enum  ncx_xpath_type_t {
  NCX_XPATH_TYPE_NONE,
  NCX_XPATH_TYPE_MUST,
  NCX_XPATH_TYPE_WHEN,
  NCX_XPATH_TYPE_NACM,
  NCX_XPATH_TYPE_LEAFREF,
  NCX_XPATH_TYPE_OTHER
}
 enumeration for different XPath back pointer types More...
 
enum  ncx_opt_t {
  NCX_REQ,
  NCX_OPT
}
 enum for REQUIRED vs. More...
 
enum  ncx_strtyp_t {
  NCX_WSP,
  NCX_NO_WSP
}
 enum for WHITESPACE ALLOWED vs. More...
 
enum  ncx_modformat_t {
  NCX_MODFORMAT_NONE,
  NCX_MODFORMAT_XSD,
  NCX_MODFORMAT_YANG,
  NCX_MODFORMAT_YIN,
  NCX_MODFORMAT_RNG,
  NCX_MODFORMAT_RNC
}
 enum for get-schema format type enum values matches the schema-format identities in RFC 6022 More...
 
enum  ncx_confirm_event_t {
  NCX_CC_EVENT_NONE,
  NCX_CC_EVENT_START,
  NCX_CC_EVENT_CANCEL,
  NCX_CC_EVENT_TIMEOUT,
  NCX_CC_EVENT_EXTEND,
  NCX_CC_EVENT_COMPLETE
}
 type of confirmEvent in the sysConfirmedCommit notification Used in confirmed-commit standard as well More...
 
enum  ncx_leafref_class_t { ,
  NCX_LEAFREF_CLASS_KEY,
  NCX_LEAFREF_CLASS_GLOBAL,
  NCX_LEAFREF_CLASS_LOCAL,
  NCX_LEAFREF_CLASS_INSTANCE
}
 Classification for the types of leafref path statements wrt/ how they can be cached. More...
 
enum  ncx_snmp_agt_role_t {
  NCX_SNMP_AGT_ROLE_NONE,
  NCX_SNMP_AGT_ROLE_MASTER,
  NCX_SNMP_AGT_ROLE_SUBAGENT
}
 enum to identify the SNMP agent native mode More...
 
enum  ncx_nmda_ds_t {
  NCX_NMDA_DS_NONE,
  NCX_NMDA_DS_CANDIDATE,
  NCX_NMDA_DS_RUNNING,
  NCX_NMDA_DS_STARTUP,
  NCX_NMDA_DS_INTENDED,
  NCX_NMDA_DS_OPERATIONAL
}
 internal enumerations for standard NMDA datastores More...
 
enum  ncx_nmda_origin_t {
  NCX_NMDA_ORIGIN_NONE,
  NCX_NMDA_ORIGIN_INTENDED,
  NCX_NMDA_ORIGIN_DYNAMIC,
  NCX_NMDA_ORIGIN_SYSTEM,
  NCX_NMDA_ORIGIN_LEARNED,
  NCX_NMDA_ORIGIN_DEFAULT,
  NCX_NMDA_ORIGIN_UNKNOWN
}
 internal enumerations for standard NMDA origins More...
 
enum  ncx_nmda_filtyp_t
 internal enumerations for NMDA filter types used in the /filters container NCX_NMDA_FILTYP_STREAM == list /filters/stream-filter NCX_NMDA_FILTYP_SELECTION == list /filters/selection-filter
 
enum  ncx_ses_event_t {
  NCX_SES_EVENT_NONE,
  NCX_SES_EVENT_START,
  NCX_SES_EVENT_END
}
 internal enumerations for session event types More...
 
enum  ncx_config_state_t {
  NCX_CFG_STATE_NONE,
  NCX_CFG_STATE_INIT,
  NCX_CFG_STATE_OK,
  NCX_CFG_STATE_BAD
}
 server config state Root Check More...
 
enum  ncx_bad_reply_enum {
  NCX_BAD_REPLY_NONE,
  NCX_BAD_REPLY_ADAPT,
  NCX_BAD_REPLY_PRUNE,
  NCX_BAD_REPLY_ERROR
}
 enumeration for CLI handling of bad nodes from RPC reply Controls the behavior of the MGR XML parser More...
 

Detailed Description

C Data Structures used to represent YANG module constructs.

Typedef Documentation

◆ ncx_def_hook_cbfn_t

typedef status_t(* ncx_def_hook_cbfn_t) (struct val_value_t_ *parentval, struct obj_template_t_ *obj, xmlChar **buff)

Typedef of the ncx_def_hook_cbfn_t callback.

The Dynamic Default Hook function is the user/system callback that is invoked before the server checks if the node has any defaults and if there is not any YANG defined defaults the server can update the node with custom "system" default value.

Run an instrumentation-defined function for val set default event

Parameters
parentvalparent val_value node to use
objobject template to use
Return values
*buffmalloced buffer that represents a new default value
Returns
status: ERR_NCX_SKIPPED or ERR_NCX_NO_INSTANCE will cause the server to skip over this node. Otherwise the server will report an error and ternimate the transaction

◆ ncx_feature_cbfn_t

typedef boolean(* ncx_feature_cbfn_t) (const ncx_module_t *mod, ncx_feature_t *feature, void *cookie)

user function callback template to traverse all module features for a specified module

ncx_feature_cbfn_t

Run an instrumentation-defined function for each feature found in the module (enabled or not)

Parameters
modmodule originally passed to the main function, which contains the 'feature'
featurefeature being processed in the traversal
cookiecookie originally passed to the main function
Returns
TRUE if processing should continue
FALSE if feature traversal should terminate

◆ ncx_get_owner_fn_t

typedef const xmlChar*(* ncx_get_owner_fn_t) (ncx_owner_id_t owner_id)

get owner name callback function to check if a value node has an owner name; get the value if so

Parameters
owner_idowner ID to check
Returns
owner name; NULL if none

◆ ncx_identity_cbfn_t

typedef boolean(* ncx_identity_cbfn_t) (ncx_identity_t *identity, void *cookie)

user function callback template to traverse all module identities looking for matches for a specified base

ncx_identity_cbfn_t

Run an instrumentation-defined function for each feature found in the module (enabled or not)

Parameters
identityidentity being processed in the traversal
cookiecookie originally passed to the main function
Returns
TRUE if processing should continue
FALSE if identity traversal should terminate

◆ ncx_load_cbfn_t

typedef void(* ncx_load_cbfn_t) (ncx_module_t *mod)

user function callback template when a module is loaded into the system

ncx_load_cbfn_t

Run an instrumentation-defined function for a 'module-loaded' event

Parameters
modmodule that was added to the registry

◆ ncx_str_t

typedef xmlChar* ncx_str_t

string alias for data types:

   NCX_BT_STRING
   NCX_BT_OSTRING
   NCX_BT_ENAME

◆ ncx_unload_cbfn_t

typedef void(* ncx_unload_cbfn_t) (ncx_module_t *mod)

user function callback template when a module is unloaded from the system

ncx_unload_cbfn_t

Run an instrumentation-defined function for a 'module-loaded' event

Parameters
modmodule that is being removed

◆ ncx_yang_obj_cbfn_t

typedef void(* ncx_yang_obj_cbfn_t) (ncx_module_t *mod, struct obj_template_t_ *obj)

user function callback template when a YANG object is parsed by yang_obj.c.

This API is invoked at the end of the resolve phase if the status is NO_ERR It is skipped if the object has errors detected at the time

ncx_yang_obj_cbfn_t

Run an instrumentation-defined function for a 'object parsed' event

Parameters
modmodule that is being parsed now
objobject being parsed

Enumeration Type Documentation

◆ ncx_access_t

NCX Access Control 'max-access' enumeration values Note that access control is applied to the session and the max-access applies to the user max-access, not the agent max-access.

Only the agent may create or write an object which is classified as 'read-only'.

   Access is grouped into the following catagories.
  • none
  • read-only
  • read-write
  • read-create

    Merge and Replace are handled as follows:

 Requested operation              Effective Access

 merge empty with no-cur-node      --> no-op
 merge empty with cur-node         --> no-op
 merge non-empty with no-cur-node  --> create
 merge non-empty with cur-node     --> write

 replace empty into no-cur-node      --> no-op
 replace empty into cur-node         --> delete
 replace non-empty into no-cur-node  --> create
 replace non-empty into cur-node     --> write

 Create and Delete are grouped together for access control
 purposes, and called 'read-create'

 Obviously, the max-access of the ancestor nodes affect any
 given nested node, but the enumerations are not purely hierarchical.


 Access      Nested Behavior

 [none]      Check the ancestor chain until an explicit value
             is found (or the parmset root is reached, where the
             default is read-create)

 read-only   User may only read this node and all child nodes.
             All nested access is also read-only, overriding any
             explicit setting of any child nodes

 read-write  User may read and write this node and all child nodes,
             depending on the max-access of the child node.
             Any type of nested access may appear in any child
             nodes.  A read-write container may have child nodes
             which are read-create objects.  This implies the agent
             must create the object in order for the user to write it.

 read-create User may have unrestricted access to this node and all
             child nodes, depending on the max-access of the child
             nodes. Any type of nested access may appear in any
             child nodes.
 
Enumerator
NCX_ACCESS_NONE 

enum not explicitly set

NCX_ACCESS_RO 

read-only

NCX_ACCESS_RW 

read-write (create/delete not allowed)

NCX_ACCESS_RC 

read-create (all access)

◆ ncx_agtstart_t

enum to identify the agent native startup mode

Enumerator
NCX_AGT_START_NONE 

not set

NCX_AGT_START_MIRROR 

with-startup=false

NCX_AGT_START_DISTINCT 

with-startup=true

◆ ncx_agttarg_t

enum to identify the agent native target

Enumerator
NCX_AGT_TARG_NONE 

not set

NCX_AGT_TARG_CANDIDATE 

target=candidate

NCX_AGT_TARG_RUNNING 

target=running

NCX_AGT_TARG_LOCAL 

TBD.

NCX_AGT_TARG_REMOTE 

TBD.

NCX_AGT_TARG_CAND_RUNNING 

TBD.

◆ ncx_bad_data_t

enumeration for CLI handling of bad input data used by yangcli, all others use NCX_BAD_DATA_ERROR

Enumerator
NCX_BAD_DATA_NONE 

not set

NCX_BAD_DATA_IGNORE 

NCX_BAD_DATA_IGNORE to silently accept invalid input values.

NCX_BAD_DATA_WARN 

NCX_BAD_DATA_WARN to warn and accept invalid input values.

NCX_BAD_DATA_CHECK 

NCX_BAD_DATA_CHECK to prompt user to keep or re-enter value.

NCX_BAD_DATA_ERROR 

NCX_BAD_DATA_ERROR to prompt user to re-enter value.

◆ ncx_bad_reply_enum

enumeration for CLI handling of bad nodes from RPC reply Controls the behavior of the MGR XML parser

Enumerator
NCX_BAD_REPLY_NONE 

not set

NCX_BAD_REPLY_ADAPT 

default; adapt node

NCX_BAD_REPLY_PRUNE 

prune failing node(s)

NCX_BAD_REPLY_ERROR 

report Error and stop parse

◆ ncx_btype_t

enumeration of the built-in NCX types These types cannot be overridden and cannot be imported

Enumerator
NCX_BT_NONE 

No type has been set yet.

  • The val_new_value() function has been called but no specific init function has been called to set the base type.
NCX_BT_ANY 

The node is a YANG 1.0 'anyxml' node.

  • Type is deprecated. Use anydata instead.
  • When the client or server parses an 'anyxml' object, it will be converted to containers and strings.
  • This type should not be used directly.
  • WIll be converted to (or replaced by) a container
NCX_BT_BITS 

YANG bits data type.

  • Uses ncx_list_t (string list) for implementation
NCX_BT_ENUM 

YANG enumeration data type.

  • Uses enum name string in implementation
  • The 'value' number is not currently used
NCX_BT_EMPTY 

YANG empty data type.

  • Uses boolean always set to true in implementation
  • If boolean set to false then may not mean not-present
NCX_BT_BOOLEAN 

YANG boolean data type.

  • Uses boolean in implementation
NCX_BT_INT8 

YANG int8 data type.

  • Uses int32 in implementation
NCX_BT_INT16 

YANG int16 data type.

  • Uses int32 in implementation
NCX_BT_INT32 

YANG int32 data type.

  • Uses int32 in implementation
NCX_BT_INT64 

YANG int64 data type.

  • Uses int64 in implementation
NCX_BT_UINT8 

YANG uint8 data type.

  • Uses int32 in implementation
NCX_BT_UINT16 

YANG uint16 data type.

  • Uses int32 in implementation
NCX_BT_UINT32 

YANG uint32 data type.

  • Uses int32 in implementation
NCX_BT_UINT64 

YANG uint64 data type.

  • Uses uint64 in implementation
NCX_BT_DECIMAL64 

YANG decimal64 data type.

  • Uses struct in implementation
NCX_BT_FLOAT64 

Hidden double type, used just for XPath.

  • If the HAS_FLOAT #define is false, then this type will be implemented as a string, not a double.
NCX_BT_STRING 

YANG 'string' type.

  • There are also some YumaPro extensions that are used with this data type for special strings.
  • The server needs to know if a string contains XML prefixes or not, and there are several flavors to automatate processing of each one correctly.
NCX_BT_BINARY 

YANG binary data type.

  • Uses struct in implementation
  • YANG uses base64 encoding for binary strings
NCX_BT_INSTANCE_ID 

YANG instance-identifier data type.

  • Uses xpath:1.0 string in implementation
NCX_BT_UNION 

YANG 'union' data type.

  • This is a meta-type.
  • When the client or server parses a value, it will resolve the union to one of the data types defined within the union.
  • An unresolved union will use the string type
NCX_BT_LEAFREF 

YANG 'leafref' data type.

  • This is a meta-type.
  • The client or server will resolve this data type to the type of the actual 'pointed-at' leaf that is being referenced.
NCX_BT_IDREF 

YANG identityref data type.

  • Uses struct in implementation, pointer to ncx_identity_t
  • YANG uses qualified-name encoding for identityref strings
  • The standards are not clear how to encode identityref in all protocols
NCX_BT_SLIST 

ncx:xsdlist extension (internal, deprecated)

  • uses ncx_list_t, not limited to string sub-type
  • supports deprecated ncx:xsdlist string
NCX_BT_CONTAINER 

YANG container node.

NCX_BT_CHOICE 

YANG choice.

  • This is a meta-type and placeholder.
  • It does not appear in the data tree.
  • Not really used!
NCX_BT_CASE 

YANG case.

  • This is a meta-type and placeholder.
  • It does not appear in the data tree.
  • Not really used!
NCX_BT_LIST 

YANG list instance node.

NCX_BT_ANYDATA 

The node is a YANG 1.1 'anydata' node.

  • When the client or server parses an 'anydata' object, it will be converted to containers and strings.
  • This type should not be used directly.
  • WIll be converted to (or replaced by) a container
NCX_BT_EXTERN 

Internal 'external' data type, used in server and yangcli-pro.

  • It indicates that the content is actually in an external file.
  • Not a real type, points fo file for contents
NCX_BT_INTERN 

Internal 'buffer' data type, used in server and yangcli-pro.

  • The content is actually stored verbatim in an internal buffer.
  • Not a real type, string buffer for contents.

◆ ncx_cfg_t

enum ncx_cfg_t

hardwire the 3 standard configs

Enumerator
NCX_CFGID_RUNNING 

running datastore (no value for not set!)

NCX_CFGID_CANDIDATE 

candidate datastore

NCX_CFGID_STARTUP 

startup datastore

◆ ncx_config_state_t

server config state Root Check

Enumerator
NCX_CFG_STATE_NONE 

not set

NCX_CFG_STATE_INIT 

initialization phase

NCX_CFG_STATE_OK 

normal state

NCX_CFG_STATE_BAD 

bad datastore being used anyway

◆ ncx_confirm_event_t

type of confirmEvent in the sysConfirmedCommit notification Used in confirmed-commit standard as well

Enumerator
NCX_CC_EVENT_NONE 

not set

NCX_CC_EVENT_START 

start event

NCX_CC_EVENT_CANCEL 

cancel event

NCX_CC_EVENT_TIMEOUT 

timeout event

NCX_CC_EVENT_EXTEND 

extend event

NCX_CC_EVENT_COMPLETE 

CC complete event.

◆ ncx_cvttyp_t

enumeration for different NCX module conversion output types

Enumerator
NCX_CVTTYP_NONE 

not set

NCX_CVTTYP_XSD 

XSD format (obsolete)

NCX_CVTTYP_SQL 

SQL format (not supported)

NCX_CVTTYP_SQLDB 

netconfcentral.org dB format

NCX_CVTTYP_HTML 

netconfcentral WEB page format

NCX_CVTTYP_YANG 

canonical YANG (not supported)

NCX_CVTTYP_COPY 

copy with new name

NCX_CVTTYP_H 

SIL or SIL-SA H file.

NCX_CVTTYP_C 

SIL or SIL-SA C file.

NCX_CVTTYP_CPP_TEST 

obsolete; not used

NCX_CVTTYP_YIN 

YIN format.

NCX_CVTTYP_TG2 

turbogears2 (not supported)

NCX_CVTTYP_YH 

split y_foo.h file

NCX_CVTTYP_YC 

split y_foo.c file

NCX_CVTTYP_UH 

split u_foo.h file

NCX_CVTTYP_UC 

split u_foo.c file

NCX_CVTTYP_BC 

bundle y_foo.c file

NCX_CVTTYP_BH 

bundle y_foo.h file

◆ ncx_data_class_t

NCX Persistence Control.

Enum mapping of 'data-class' field in the 'parm' and 'type' clauses

This data type controls NV-storage and whether a node is returned in the 'get-config' operation and stored in the startup config.

Enumerator
NCX_DC_NONE 

not set

NCX_DC_CONFIG 

persistent config

NCX_DC_STATE 

state or statistics

◆ ncx_display_mode_t

enumeration of val_dump_value display modes

Enumerator
NCX_DISPLAY_MODE_NONE 

not set

NCX_DISPLAY_MODE_PLAIN 

plain CLI display mode

NCX_DISPLAY_MODE_PREFIX 

plain CLI display mode with YANG prefixes added to nodes

NCX_DISPLAY_MODE_MODULE 

plain CLI display mode with YANG module names added to nodes

NCX_DISPLAY_MODE_XML 

XML display mode.

NCX_DISPLAY_MODE_XML_NONS 

XML display mode without any prefixes (not compliant XML!)

NCX_DISPLAY_MODE_JSON 

JSON (RFC 7951 format)

NCX_DISPLAY_MODE_CLI 

yangcli-pro CLI mode

◆ ncx_feature_code_t

Feature code generation type (deprecated)

Enumerator
NCX_FEATURE_CODE_NONE 

enum not explicitly set

NCX_FEATURE_CODE_STATIC 

compile-time if-feature code

NCX_FEATURE_CODE_DYNAMIC 

run-time if-feature code

◆ ncx_indextyp_t

Enumeration of the different types of index components YANG ONLY SUPPORTS NCX_IT_LOCAL.

Enumerator
NCX_IT_NONE 

not set

NCX_IT_INLINE 

index simple type declared inline

NCX_IT_NAMED 

index named type declared inline

NCX_IT_LOCAL 

local member within the table

NCX_IT_SLOCAL 

scoped local member within the table

NCX_IT_REMOTE 

unscoped remote name

NCX_IT_SREMOTE 

scoped remote name

◆ ncx_instfmt_t

instance identifier string format types

Enumerator
NCX_IFMT_NONE 

not set

NCX_IFMT_C 

C format.

NCX_IFMT_XPATH1 

single-quote Xpath for filter

NCX_IFMT_XPATH2 

double-quote Xpath for error-path

NCX_IFMT_CLI 

CLI syntax used in val_dump_value.

NCX_IFMT_CLI2 

CLI syntax used in yangcli config mode.

NCX_IFMT_YANGAPI 

YANG-API URI with list1/key1/key2.

NCX_IFMT_RESTCONF 

RESTCONF URI with list1=key1,key2.

◆ ncx_iqual_t

The instance qualifier types are borrowed from ABNF and RelaxNG.

Enumerator
NCX_IQUAL_NONE 

value not set

NCX_IQUAL_ONE 

no iqual == 1

NCX_IQUAL_OPT 

'?' == 0 or 1

NCX_IQUAL_1MORE 

'+' == 1 or more

NCX_IQUAL_ZMORE 

'*' == 0 or more

◆ ncx_layer_t

Enumeration of NETCONF protocol layers.

Enumerator
NCX_LAYER_NONE 

not set

NCX_LAYER_TRANSPORT 

transport layer

NCX_LAYER_RPC 

RPC operation layer.

NCX_LAYER_OPERATION 

protocol operation layer

NCX_LAYER_CONTENT 

application layer

◆ ncx_leafref_class_t

Classification for the types of leafref path statements wrt/ how they can be cached.

Enumerator
NCX_LEAFREF_CLASS_KEY 

the key class with have the same result for any context node (static, absolute path) and the target is a key leaf that represents the entire key for the parent YANG list

/interfaces/interface/name

NCX_LEAFREF_CLASS_GLOBAL 

the global class will have the same result for any context node (static, absolute path) /foo/bar/baz

NCX_LEAFREF_CLASS_LOCAL 

the object class will have the same result for any instance of a specific object node (static, relative path) ../bar/baz

NCX_LEAFREF_CLASS_INSTANCE 

the 'instance' class will have the same result for 1 or more instances of a specific object node (static, relative path) ../bar[name='fred'/baz path "/t:A/t:AA[t:mode=current()/../fd-mode]/t:name";

◆ ncx_merge_t

The merge type for the NETCONF merge operation.

Enumerator
NCX_MERGE_NONE 

value not set

NCX_MERGE_FIRST 

merge first

NCX_MERGE_LAST 

merge last

NCX_MERGE_SORT 

merge sorted

◆ ncx_modformat_t

enum for get-schema format type enum values matches the schema-format identities in RFC 6022

Enumerator
NCX_MODFORMAT_NONE 

not set

NCX_MODFORMAT_XSD 

XSD format.

NCX_MODFORMAT_YANG 

YANG format.

NCX_MODFORMAT_YIN 

YIN format.

NCX_MODFORMAT_RNG 

RelaxNG format (not supported )

NCX_MODFORMAT_RNC 

RelaxNG compact (not supported)

◆ ncx_msg_encoding_t

enumeration for message encoding formats

Enumerator
NCX_MSG_ENCODING_NONE 

not set

NCX_MSG_ENCODING_XML 

XML message encoding.

NCX_MSG_ENCODING_JSON 

JSON message encoding.

NCX_MSG_ENCODING_CBOR 

CBOR not used yet.

◆ ncx_msgtyp_t

enumeration for different NETCONF message types

Enumerator
NCX_MSGTYP_NONE 

not set

NCX_MSGTYP_HELLO 

RFC 4741 or 6241 <hello>

NCX_MSGTYP_RPCREQ 

RFC 4741 or 6241 <rpc>

NCX_MSGTYP_RPCRPY 

RFC 4741 or 6241 <rpc-reply>

NCX_MSGTYP_NOTIF 

RFC 5277 <notification>

◆ ncx_name_match_t

Node name match modes.

Enumerator
NCX_MATCH_NONE 

not set

NCX_MATCH_EXACT 

exact (default)

NCX_MATCH_EXACT_NOCASE 

exact but case-insensitive

NCX_MATCH_ONE 

match all chars if only 1 match

NCX_MATCH_ONE_NOCASE 

match all chars case-insensitive if only 1 match

NCX_MATCH_FIRST 

match all chars case-insensitive, return first match

NCX_MATCH_FIRST_NOCASE 

match all chars case-insensitive, return first match

◆ ncx_nmda_ds_t

internal enumerations for standard NMDA datastores

Enumerator
NCX_NMDA_DS_NONE 

not set

NCX_NMDA_DS_CANDIDATE 

candidate datastore

NCX_NMDA_DS_RUNNING 

running datastore

NCX_NMDA_DS_STARTUP 

startup datastore

NCX_NMDA_DS_INTENDED 

intended datastore

NCX_NMDA_DS_OPERATIONAL 

operational datastore

◆ ncx_nmda_origin_t

internal enumerations for standard NMDA origins

Enumerator
NCX_NMDA_ORIGIN_NONE 

not set

NCX_NMDA_ORIGIN_INTENDED 

intended origin

NCX_NMDA_ORIGIN_DYNAMIC 

dynamic origin

NCX_NMDA_ORIGIN_SYSTEM 

system-set origin

NCX_NMDA_ORIGIN_LEARNED 

learned origin

NCX_NMDA_ORIGIN_DEFAULT 

set by default origin

NCX_NMDA_ORIGIN_UNKNOWN 

unknown origin

◆ ncx_node_t

enum ncx_node_t

NCX Internal Node Types.

nodes in the value trees can be different types These enums are used to generate instance IDs and classify data passed to the agt_record_*error functions

Enumerator
NCX_NT_NONE 

not set

NCX_NT_TYP 

typ_template_t

NCX_NT_GRP 

grp_template_t

NCX_NT_VAL 

val_value_t

NCX_NT_OBJ 

obj_template_t

NCX_NT_ERRINFO 

ncx_errinfo_t, error only

NCX_NT_STRING 

xmlChar *, error only

NCX_NT_CFG 

cfg_template_t *, error only

NCX_NT_INDEX 

obj_key_t *, error only

NCX_NT_QNAME 

xmlns_qname_t *, error only

NCX_NT_UINT32_PTR 

session ID, error only

NCX_NT_IMPORT_CB 

ncx_import_t

NCX_NT_INCLUDE_CB 

ncx_include_t

NCX_NT_REVISION_CB 

ncx_revhist_t

NCX_NT_EXTENSION_CB 

ext_template_t

NCX_NT_FEATURE_CB 

ncx_feature_t

NCX_NT_IDENTITY_CB 

ncx_identity_t

NCX_NT_TYPDEF_CB 

typ_def_t

◆ ncx_numfmt_t

Enumeration of number format types.

Enumerator
NCX_NF_NONE 

not set

NCX_NF_OCTAL 

YANG octal format.

NCX_NF_DEC 

YANG deciaml format.

NCX_NF_HEX 

YANG hexidecimal format.

NCX_NF_REAL 

internal format for XPath

◆ ncx_opt_t

enum ncx_opt_t

enum for REQUIRED vs.

OPTIONAL token

Enumerator
NCX_REQ 

clause is required

NCX_OPT 

clause is optional

◆ ncx_protocol_t

NCX session protocol versions supported.

Enumerator
NCX_PROTO_NONE 

not set

NCX_PROTO_NETCONF10 

RFC 4741 base:1.0.

NCX_PROTO_NETCONF11 

RFC 6241 base:1.1.

NCX_PROTO_YUMA_YANGAPI 

YumaPro YANG-API 1.0.

NCX_PROTO_YUMA_CLI 

YumaPro Internal CLI 1.0.

NCX_PROTO_YCONTROL 

YumaPro Internal Control 1.0.

NCX_PROTO_RESTCONF 

IETF RESTCONF.

◆ ncx_result_format_t

specify the requested result format type

Enumerator
NCX_RF_NONE 

not set

NCX_RF_TEXT 

text result

NCX_RF_XML 

XML result.

NCX_RF_JSON 

JSON result.

◆ ncx_ses_event_t

internal enumerations for session event types

Enumerator
NCX_SES_EVENT_NONE 

not set

NCX_SES_EVENT_START 

session started event

NCX_SES_EVENT_END 

session ended event

◆ ncx_shutdowntyp_t

enumeration of the different program shutdown modes

Enumerator
NCX_SHUT_NONE 

not set

NCX_SHUT_RESET 

kill -1 SIGHUP

NCX_SHUT_RELOAD 

kill -10 SIGUSR1

NCX_SHUT_RESTART 

called from <restart>

NCX_SHUT_FALLBACK 

, called from <shutdown>, SIGINT, SIGKILL, SIGQUIT, SIGABRT, SIGTRAP, SIGTERM

called from startup/running-error=fallback

◆ ncx_snmp_agt_role_t

enum to identify the SNMP agent native mode

Enumerator
NCX_SNMP_AGT_ROLE_NONE 

not set

NCX_SNMP_AGT_ROLE_MASTER 

SNMP master server role.

NCX_SNMP_AGT_ROLE_SUBAGENT 

SNMP sub-agent role.

◆ ncx_squal_t

typdef search qualifier list (internal compiler modes)

Enumerator
NCX_SQUAL_NONE 

not set

NCX_SQUAL_RANGE 

search range

NCX_SQUAL_VAL 

search values

NCX_SQUAL_META 

search metadata

NCX_SQUAL_APPINFO 

search appinfo

◆ ncx_status_t

enumeration for different YANG data-def status values

Enumerator
NCX_STATUS_NONE 

not set

NCX_STATUS_CURRENT 

current (default)

NCX_STATUS_DEPRECATED 

deprecated (treated as current

NCX_STATUS_OBSOLETE 

obsolete removed from tree

◆ ncx_strrest_t

Enumeration of string restriction types.

Enumerator
NCX_SR_NONE 

not set

NCX_SR_PATTERN 

pattern restriction

NCX_SR_ENUM 

enumeration restriction

NCX_SR_BIT 

bits restriction

◆ ncx_strtyp_t

enum for WHITESPACE ALLOWED vs.

WHITESPACE NOT ALLOWED string

Enumerator
NCX_WSP 

whitespace allowed: quoted string

NCX_NO_WSP 

whitespace not allowed: unquoted string

◆ ncx_tclass_t

Enumeration of the basic value type classifications.

Enumerator
NCX_CL_NONE 

not set

NCX_CL_BASE 

a built-in base type

NCX_CL_SIMPLE 

a restriction of a base type

NCX_CL_COMPLEX 

a complex type

NCX_CL_NAMED 

a restriction of a named type

NCX_CL_REF 

internal reference to another type

◆ ncx_withdefaults_t

enum for with-defaults enum values

Enumerator
NCX_WITHDEF_NONE 

not set

NCX_WITHDEF_REPORT_ALL 

report-all

NCX_WITHDEF_REPORT_ALL_TAGGED 

report-all-tagged

NCX_WITHDEF_TRIM 

trim

NCX_WITHDEF_EXPLICIT 

explicit

◆ ncx_xpath_axis_t

XPath expression axis types.

Enumerator
XP_AX_NONE 

not set

XP_AX_ANCESTOR 

ancestor axis

XP_AX_ANCESTOR_OR_SELF 

ancestor-or-self axis

XP_AX_ATTRIBUTE 

attribute axis

XP_AX_CHILD 

child axis (default)

XP_AX_DESCENDANT 

descendant axis

XP_AX_DESCENDANT_OR_SELF 

descendant-or-self axis

XP_AX_FOLLOWING 

following axis (not allowed in YANG)

XP_AX_FOLLOWING_SIBLING 

following-sibling axis (not allowed in YANG)

XP_AX_NAMESPACE 

namespace axis (not allowed in YANG)

XP_AX_PARENT 

parent axis

XP_AX_PRECEDING 

preceding axis (not allowed in YANG)

XP_AX_PRECEDING_SIBLING 

preceding-sibling axis (not allowed in YANG)

XP_AX_SELF 

self axis

◆ ncx_xpath_type_t

enumeration for different XPath back pointer types

Enumerator
NCX_XPATH_TYPE_NONE 

not set

NCX_XPATH_TYPE_MUST 

must=stmt

NCX_XPATH_TYPE_WHEN 

when-stmt

NCX_XPATH_TYPE_NACM 

NACM data rule.

NCX_XPATH_TYPE_LEAFREF 

intermediate leafref node

NCX_XPATH_TYPE_OTHER 

not used