yumapro  20.10-12
YumaPro SDK
yang_patch.h File Reference

YANG Patch Media Type. More...

#include <xmlstring.h>
#include "dlq.h"
#include "obj.h"
#include "op.h"
#include "status.h"
#include "val.h"
Include dependency graph for yang_patch.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  yang_patch_edit_t_
 Represents one YANG Patch edit entry. More...
 
struct  yang_patch_cb_t_
 One YANG Patch Request. More...
 

Enumerations

enum  yang_patch_op_t_ {
  YANG_PATCH_OP_NONE,
  YANG_PATCH_OP_CREATE,
  YANG_PATCH_OP_DELETE,
  YANG_PATCH_OP_INSERT,
  YANG_PATCH_OP_MERGE,
  YANG_PATCH_OP_MOVE,
  YANG_PATCH_OP_REPLACE,
  YANG_PATCH_OP_REMOVE
}
 YANG Patch operation type. More...
 
enum  yang_patch_edit_type_t_ {
  YANG_PATCH_EDIT_TYPE_NONE,
  YANG_PATCH_EDIT_TYPE_USER,
  YANG_PATCH_EDIT_TYPE_SYSTEM
}
 Internal edit type for access control and DB-API support. More...
 
enum  yang_patch_where_t_ {
  YANG_PATCH_WHERE_NONE,
  YANG_PATCH_WHERE_BEFORE,
  YANG_PATCH_WHERE_AFTER,
  YANG_PATCH_WHERE_FIRST,
  YANG_PATCH_WHERE_LAST
}
 YANG Patch insert location. More...
 

Functions

status_t yang_patch_init (void)
 Load the ietf-yang-patch module. More...
 
void yang_patch_cleanup (void)
 Cleanup the yang_patch module. More...
 
yang_patch_cb_t * yang_patch_new_cb (const xmlChar *patch_id, const xmlChar *the_comment, const xmlChar *target)
 Malloc a new YANG Patch control block. More...
 
void yang_patch_free_cb (yang_patch_cb_t *pcb)
 Free a YANG Patch control block. More...
 
void yang_patch_free_edit (yang_patch_edit_t *edit)
 Free a YANG Patch edit control block. More...
 
yang_patch_edit_t * yang_patch_new_edit (const xmlChar *edit_id, yang_patch_op_t operation, const xmlChar *target, const xmlChar *point, yang_patch_where_t insert_where, val_value_t *value)
 Malloc a new YANG Patch edit control block Any of the fields can be NULL to add later or not use. More...
 
yang_patch_edit_t * yang_patch_new_edit2 (const xmlChar *edit_id, yang_patch_op_t operation, const xmlChar *target, const xmlChar *point, yang_patch_where_t insert_where, val_value_t *value, boolean plain_clone)
 Malloc a new YANG Patch edit control block Any of the fields can be NULL to add later or not use. More...
 
void yang_patch_add_edit (yang_patch_cb_t *pcb, yang_patch_edit_t *edit)
 Malloc and add new YANG Patch edit control block. More...
 
yang_patch_edit_t * yang_patch_find_edit (yang_patch_cb_t *pcb, const xmlChar *edit_id)
 Find an edit by its edit_id in the YANG Patch. More...
 
uint32 yang_patch_edit_count (yang_patch_cb_t *pcb)
 Get the number of edits in the PCB. More...
 
yang_patch_op_t yang_patch_str_to_op (const xmlChar *opstr)
 Convert a YANG Patch operation string to the operation enumeration for the string. More...
 
const xmlChar * yang_patch_op_to_str (yang_patch_op_t op)
 Convert a YANG Patch operation enum to the operation string for the enumeration. More...
 
yang_patch_edit_type_t yang_patch_str_to_edit_type (const xmlChar *str)
 Convert a YANG Patch edit-type string to the edit_type enumeration for the string. More...
 
const xmlChar * yang_patch_edit_type_to_str (yang_patch_edit_type_t typ)
 Convert a YANG Patch edit type enum to the string for the enumeration. More...
 
yang_patch_where_t yang_patch_str_to_where (const xmlChar *wherestr)
 Convert a YANG Patch where string to the where enumeration for the string. More...
 
const xmlChar * yang_patch_where_to_str (yang_patch_where_t wh)
 Convert a YANG Patch where enum to the where string for the enumeration. More...
 
val_value_t * yang_patch_edit_to_value (obj_template_t *edit_obj, yang_patch_edit_t *edit, status_t *res)
 Convert a YANG Patch edit to a val_value_t tree. More...
 
val_value_t * yang_patch_to_value (obj_template_t *patch_obj, yang_patch_cb_t *pcb, status_t *res)
 Convert a YANG Patch control block to a val_value_t tree. More...
 
yang_patch_edit_t * yang_patch_value_to_edit (val_value_t *edit_val, boolean preserve_editval, status_t *res)
 Convert a val_value_t tree to a YANG Patch edit. More...
 
yang_patch_cb_t * yang_patch_value_to_patch (val_value_t *patch_val, const xmlChar *target, boolean preserve_patchval, status_t *res)
 Convert a val_value tree to a YANG Patch control block. More...
 
op_editop_t yang_patch_op_to_editop (yang_patch_op_t op, boolean *is_insert)
 Convert a YANG Patch operation enum to the corresponding edit operation. More...
 
yang_patch_op_t yang_patch_editop_to_op (op_editop_t edit_op)
 Convert an edit operation enum to a YANG Patch operation enum. More...
 
void yang_patch_dump_pcb (yang_patch_cb_t *pcb)
 Dump the current Patch Control block with all the edits. More...
 

Detailed Description

YANG Patch Media Type.

Matches IETF YANG Patch definitions https://tools.ietf.org/html/rfc8072