yumapro  22.10T-2
YumaPro SDK

The YANG object template is used to represent every possible YANG data definition construct. More...

Collaboration diagram for YANG Object Types:

Data Structures

struct  obj_key_t
 One YANG list key component. More...
 
struct  obj_defval_tk_t
 One YANG 1.1 default stored in a Q for refine and deviate. More...
 
struct  obj_unique_comp_t
 One component in a YANG list unique target. More...
 
struct  obj_unique_t
 One component in a YANG list unique target. More...
 
struct  obj_container_t
 One YANG 'container' definition. More...
 
struct  obj_leaf_t
 One YANG 'leaf' or 'anyxml' or 'anydata' definition. More...
 
struct  obj_leaflist_t
 One YANG 'leaf-list' definition. More...
 
struct  obj_list_t
 One YANG 'list' definition. More...
 
struct  obj_choice_t
 One YANG 'choice' definition. More...
 
struct  obj_case_t
 One YANG 'case' definition. More...
 
struct  obj_uses_t
 One YANG uses statement struct. More...
 
struct  obj_refine_t
 One YANG refine statement struct. More...
 
struct  obj_rpcio_t
 One YANG input-stmt or output-stmt struct. More...
 
struct  obj_rpc_t
 One YANG rpc-stmt struct. More...
 
struct  obj_augment_t
 One YANG augment statement struct (top-level or in case-stmt. More...
 
struct  obj_notif_t
 One YANG 'notification' clause definition. More...
 
struct  obj_iffeature_ptr_t
 back-pointer to inherited if-feature statements More...
 
struct  obj_errmsg_filter_t
 custom error message filter control block More...
 
struct  obj_errmsg_parm_t
 custom error message parameter control block More...
 
struct  obj_errmsg_t
 custom error message control block More...
 
struct  obj_oid_t
 defines the snmp oid value, stored as an array of integers for easier comparision when performing AVL tree operations. More...
 
struct  obj_template_t
 One YANG data-def-stmt. More...
 
struct  obj_metadata_t
 One YANG metadata (XML attribute) node. More...
 
struct  obj_deviate_t
 YANG deviate statement struct. More...
 
struct  obj_deviation_t
 YANG deviation statement struct. More...
 

Typedefs

typedef uint16 obj_index_t
 object index only applies to child nodes; this is assigned at runtime and any augments loaded at run-time are added at the end; used to sort val->v.complexQ faster by comparing a uint16 instead of a string
 
typedef unsigned long oid_t
 data type used in SNMP
 
typedef uint8 obj_testflags_t
 object test flags
 
typedef boolean(* obj_walker_fn_t) (obj_template_t *obj, void *cookie1, void *cookie2, boolean nonconfig_warn)
 child or descendant node search walker function More...
 

Enumerations

enum  obj_type_t {
  OBJ_TYP_NONE,
  OBJ_TYP_ANYXML,
  OBJ_TYP_CONTAINER,
  OBJ_TYP_LEAF,
  OBJ_TYP_LEAF_LIST,
  OBJ_TYP_LIST,
  OBJ_TYP_CHOICE,
  OBJ_TYP_CASE,
  OBJ_TYP_USES,
  OBJ_TYP_REFINE,
  OBJ_TYP_AUGMENT,
  OBJ_TYP_RPC,
  OBJ_TYP_RPCIO,
  OBJ_TYP_NOTIF,
  OBJ_TYP_ANYDATA,
  OBJ_TYP_ACTION
}
 enumeration for different YANG data def statement types the enum order is significant!!! do not change!!! More...
 
enum  obj_augtype_t {
  OBJ_AUGTYP_NONE,
  OBJ_AUGTYP_RPCIN,
  OBJ_AUGTYP_RPCOUT,
  OBJ_AUGTYP_CASE,
  OBJ_AUGTYP_DATA
}
 enumeration for different YANG augment statement types More...
 
enum  obj_deviate_arg_t {
  OBJ_DARG_NONE,
  OBJ_DARG_ADD,
  OBJ_DARG_DELETE,
  OBJ_DARG_REPLACE,
  OBJ_DARG_NOT_SUPPORTED
}
 type of deviation for each deviate entry More...
 

Detailed Description

The YANG object template is used to represent every possible YANG data definition construct.

These structures are used by the compiler, client and server to use the YANG data, RPC operations, and notification messages.

Typedef Documentation

◆ obj_walker_fn_t

typedef boolean(* obj_walker_fn_t) (obj_template_t *obj, void *cookie1, void *cookie2, boolean nonconfig_warn)

child or descendant node search walker function

Parameters
objobject node found in descendant search
cookie1cookie1 value passed to start of walk
cookie2cookie2 value passed to start of walk
nonconfig_warnTRUE if nonconfig warning needed
Returns
TRUE if walk should continue; FALSE if walk should terminate

Enumeration Type Documentation

◆ obj_augtype_t

enumeration for different YANG augment statement types

Enumerator
OBJ_AUGTYP_NONE 

not set

OBJ_AUGTYP_RPCIN 

rpc input

OBJ_AUGTYP_RPCOUT 

rpc output

OBJ_AUGTYP_CASE 

case

OBJ_AUGTYP_DATA 

within data

◆ obj_deviate_arg_t

type of deviation for each deviate entry

Enumerator
OBJ_DARG_NONE 

not set

OBJ_DARG_ADD 

deviate add

OBJ_DARG_DELETE 

deviate delete

OBJ_DARG_REPLACE 

deviate replace

OBJ_DARG_NOT_SUPPORTED 

deviate not-supported

◆ obj_type_t

enum obj_type_t

enumeration for different YANG data def statement types the enum order is significant!!! do not change!!!

Enumerator
OBJ_TYP_NONE 

not set

OBJ_TYP_ANYXML 

This object represents a YANG 1.1 anydata data node.

OBJ_TYP_CONTAINER 

This object represents a YANG presence or non-presence container.

  • If the ncx:root stmt present then the object represents a NETCONF database root, and no direct child nodes are expected
OBJ_TYP_LEAF 

This object represents a YANG leaf data node.

OBJ_TYP_LEAF_LIST 

This object represents a YANG leaf-list data node.

OBJ_TYP_LIST 

This object represents a YANG list data node.

OBJ_TYP_CHOICE 

This object represents a YANG choice schema node.

  • The only children allowed are case objects.
  • This object does not have instances in the data tree.
OBJ_TYP_CASE 

This object represents a YANG case schema node.

  • This object does not have instances in the data tree.case: last named database object
OBJ_TYP_USES 

This object represents a YANG uses schema node.

  • The contents of the grouping it represents will be expanded into object tree.
  • It is saved in the object tree even during operation, in order for the expanded objects to share common data.
  • This object does not have instances in the data tree.
  • Object has no name: The obj_get_name function returns the string 'uses'
OBJ_TYP_REFINE 

This object represents a YANG refine statement.

  • It is used to alter the grouping contents during the expansion of a uses statement.
  • Must be a direct child of 'uses' stmt
  • It does not have instances in the data tree.
OBJ_TYP_AUGMENT 

This object represents a YANG augment statement.

  • It is used to add additional child objects to an existing data definition statement.
  • This object is only allowed to be a child of a uses
  • statement or a top-level stateement within the module
  • It does not have instances in the data tree, however any children of the augment node will generate object nodes that have instances in the data tree.
OBJ_TYP_RPC 

This object represents a YANG rpc statement.

  • It is used to define new <rpc> operations.
  • This object will only appear as a top-level statement within the module.
  • It does not have instances in the data tree.
  • Only 'rpcio' nodes are allowed to be children of an RPC node.
OBJ_TYP_RPCIO 

This object represents a YANG input or output statement.

  • It is used to define input or output for an <rpc> operation.
  • This object will only appear as a child of an RPC node.
  • It does not have instances in the data tree.rpc input or output
OBJ_TYP_NOTIF 

This object represents a YANG notification statement.

  • It is used to define new <notification> event types.
  • This object will only appear as a top-level statement within the module.
  • It does not have instances in the data tree.
OBJ_TYP_ANYDATA 

This object represents a YANG 1.1 anydata data node.

OBJ_TYP_ACTION 

This object represents a YANG 1.1 action schema node.

  • It is used to define a data-node specific operation.
  • The parent node must be a container or list
  • NMDA specifies all actions are accessed in <operational>not really data, YANG 1.1 only