FD.io VPP  v21.06
Vector Packet Processing
json_format.h File Reference
+ Include dependency graph for json_format.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vat_json_node_s
 
struct  vat_json_pair_s
 

Typedefs

typedef struct vat_json_node_s vat_json_node_t
 
typedef struct vat_json_pair_s vat_json_pair_t
 

Enumerations

enum  vat_json_val_type_t {
  VAT_JSON_NONE, VAT_JSON_OBJECT, VAT_JSON_ARRAY, VAT_JSON_STRING,
  VAT_JSON_REAL, VAT_JSON_UINT, VAT_JSON_INT, VAT_JSON_IPV4,
  VAT_JSON_IPV6, VAT_JSON_MAX
}
 

Functions

void vat_json_print (FILE *ofp, vat_json_node_t *node)
 
void vat_json_free (vat_json_node_t *node)
 
static_always_inline void vat_json_init_object (vat_json_node_t *json)
 
static_always_inline void vat_json_init_array (vat_json_node_t *json)
 
static_always_inline void vat_json_set_string (vat_json_node_t *json, u8 *str)
 
static_always_inline void vat_json_set_string_copy (vat_json_node_t *json, const u8 *str)
 
static_always_inline void vat_json_set_int (vat_json_node_t *json, i64 num)
 
static_always_inline void vat_json_set_uint (vat_json_node_t *json, u64 num)
 
static_always_inline void vat_json_set_real (vat_json_node_t *json, f64 real)
 
static_always_inline void vat_json_set_ip4 (vat_json_node_t *json, struct in_addr ip4)
 
static_always_inline void vat_json_set_ip6 (vat_json_node_t *json, struct in6_addr ip6)
 
static_always_inline vat_json_node_tvat_json_object_add (vat_json_node_t *json, const char *name)
 
static_always_inline vat_json_node_tvat_json_array_add (vat_json_node_t *json)
 
static_always_inline vat_json_node_tvat_json_object_add_list (vat_json_node_t *json, const char *name)
 
static_always_inline void vat_json_object_add_string_copy (vat_json_node_t *json, const char *name, u8 *str)
 
static_always_inline void vat_json_object_add_uint (vat_json_node_t *json, const char *name, u64 number)
 
static_always_inline void vat_json_object_add_int (vat_json_node_t *json, const char *name, i64 number)
 
static_always_inline void vat_json_object_add_real (vat_json_node_t *json, const char *name, f64 real)
 
static_always_inline void vat_json_object_add_ip4 (vat_json_node_t *json, const char *name, struct in_addr ip4)
 
static_always_inline void vat_json_object_add_ip6 (vat_json_node_t *json, const char *name, struct in6_addr ip6)
 
static_always_inline void vat_json_array_add_int (vat_json_node_t *json, i64 number)
 
static_always_inline void vat_json_array_add_uint (vat_json_node_t *json, u64 number)
 
static_always_inline void vat_json_object_add_bytes (vat_json_node_t *json, const char *name, u8 *array, uword size)
 
static_always_inline vat_json_node_tvat_json_object_get_element (vat_json_node_t *json, const char *name)
 

Typedef Documentation

◆ vat_json_node_t

Definition at line 42 of file json_format.h.

◆ vat_json_pair_t

Definition at line 43 of file json_format.h.

Enumeration Type Documentation

◆ vat_json_val_type_t

Enumerator
VAT_JSON_NONE 
VAT_JSON_OBJECT 
VAT_JSON_ARRAY 
VAT_JSON_STRING 
VAT_JSON_REAL 
VAT_JSON_UINT 
VAT_JSON_INT 
VAT_JSON_IPV4 
VAT_JSON_IPV6 
VAT_JSON_MAX 

Definition at line 28 of file json_format.h.

Function Documentation

◆ vat_json_array_add()

static_always_inline vat_json_node_t* vat_json_array_add ( vat_json_node_t json)

Definition at line 148 of file json_format.h.

+ Here is the caller graph for this function:

◆ vat_json_array_add_int()

static_always_inline void vat_json_array_add_int ( vat_json_node_t json,
i64  number 
)

Definition at line 205 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_array_add_uint()

static_always_inline void vat_json_array_add_uint ( vat_json_node_t json,
u64  number 
)

Definition at line 211 of file json_format.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vat_json_free()

void vat_json_free ( vat_json_node_t node)

Definition at line 257 of file json_format.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vat_json_init_array()

static_always_inline void vat_json_init_array ( vat_json_node_t json)

Definition at line 79 of file json_format.h.

+ Here is the caller graph for this function:

◆ vat_json_init_object()

static_always_inline void vat_json_init_object ( vat_json_node_t json)

Definition at line 72 of file json_format.h.

◆ vat_json_object_add()

static_always_inline vat_json_node_t* vat_json_object_add ( vat_json_node_t json,
const char *  name 
)

Definition at line 138 of file json_format.h.

+ Here is the caller graph for this function:

◆ vat_json_object_add_bytes()

static_always_inline void vat_json_object_add_bytes ( vat_json_node_t json,
const char *  name,
u8 array,
uword  size 
)

Definition at line 217 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_object_add_int()

static_always_inline void vat_json_object_add_int ( vat_json_node_t json,
const char *  name,
i64  number 
)

Definition at line 179 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_object_add_ip4()

static_always_inline void vat_json_object_add_ip4 ( vat_json_node_t json,
const char *  name,
struct in_addr  ip4 
)

Definition at line 191 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_object_add_ip6()

static_always_inline void vat_json_object_add_ip6 ( vat_json_node_t json,
const char *  name,
struct in6_addr  ip6 
)

Definition at line 198 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_object_add_list()

static_always_inline vat_json_node_t* vat_json_object_add_list ( vat_json_node_t json,
const char *  name 
)

Definition at line 157 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_object_add_real()

static_always_inline void vat_json_object_add_real ( vat_json_node_t json,
const char *  name,
f64  real 
)

Definition at line 185 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_object_add_string_copy()

static_always_inline void vat_json_object_add_string_copy ( vat_json_node_t json,
const char *  name,
u8 str 
)

Definition at line 165 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_object_add_uint()

static_always_inline void vat_json_object_add_uint ( vat_json_node_t json,
const char *  name,
u64  number 
)

Definition at line 172 of file json_format.h.

+ Here is the call graph for this function:

◆ vat_json_object_get_element()

static_always_inline vat_json_node_t* vat_json_object_get_element ( vat_json_node_t json,
const char *  name 
)

Definition at line 231 of file json_format.h.

◆ vat_json_print()

void vat_json_print ( FILE *  ofp,
vat_json_node_t node 
)

Definition at line 245 of file json_format.c.

+ Here is the call graph for this function:

◆ vat_json_set_int()

static_always_inline void vat_json_set_int ( vat_json_node_t json,
i64  num 
)

Definition at line 103 of file json_format.h.

+ Here is the caller graph for this function:

◆ vat_json_set_ip4()

static_always_inline void vat_json_set_ip4 ( vat_json_node_t json,
struct in_addr  ip4 
)

Definition at line 124 of file json_format.h.

+ Here is the caller graph for this function:

◆ vat_json_set_ip6()

static_always_inline void vat_json_set_ip6 ( vat_json_node_t json,
struct in6_addr  ip6 
)

Definition at line 131 of file json_format.h.

+ Here is the caller graph for this function:

◆ vat_json_set_real()

static_always_inline void vat_json_set_real ( vat_json_node_t json,
f64  real 
)

Definition at line 117 of file json_format.h.

+ Here is the caller graph for this function:

◆ vat_json_set_string()

static_always_inline void vat_json_set_string ( vat_json_node_t json,
u8 str 
)

Definition at line 86 of file json_format.h.

+ Here is the caller graph for this function:

◆ vat_json_set_string_copy()

static_always_inline void vat_json_set_string_copy ( vat_json_node_t json,
const u8 str 
)

Definition at line 93 of file json_format.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vat_json_set_uint()

static_always_inline void vat_json_set_uint ( vat_json_node_t json,
u64  num 
)

Definition at line 110 of file json_format.h.

+ Here is the caller graph for this function: