diff options
Diffstat (limited to 'vpp-api-test/vat/json_format.h')
-rw-r--r-- | vpp-api-test/vat/json_format.h | 271 |
1 files changed, 146 insertions, 125 deletions
diff --git a/vpp-api-test/vat/json_format.h b/vpp-api-test/vat/json_format.h index 5a264d08df9..154fb3df04b 100644 --- a/vpp-api-test/vat/json_format.h +++ b/vpp-api-test/vat/json_format.h @@ -25,209 +25,230 @@ #include <netinet/ip.h> /* JSON value type */ -typedef enum { - 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 +typedef enum +{ + 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 } vat_json_val_type_t; typedef struct vat_json_node_s vat_json_node_t; typedef struct vat_json_pair_s vat_json_pair_t; /* JSON object structure */ -struct vat_json_node_s { - vat_json_val_type_t type; - union { - vat_json_pair_t * pairs; - vat_json_node_t * array; - u8 * string; - struct in_addr ip4; - struct in6_addr ip6; - u64 uint; - i64 sint; - f64 real; - }; +struct vat_json_node_s +{ + vat_json_val_type_t type; + union + { + vat_json_pair_t *pairs; + vat_json_node_t *array; + u8 *string; + struct in_addr ip4; + struct in6_addr ip6; + u64 uint; + i64 sint; + f64 real; + }; }; -struct vat_json_pair_s { - const char *name; - vat_json_node_t value; +struct vat_json_pair_s +{ + const char *name; + vat_json_node_t value; }; -void vat_json_print(FILE *ofp, vat_json_node_t *node); -void vat_json_free(vat_json_node_t *node); +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_object (vat_json_node_t * json) { - json->type = VAT_JSON_OBJECT; - json->pairs = NULL; + json->type = VAT_JSON_OBJECT; + json->pairs = NULL; } -static_always_inline void vat_json_init_array(vat_json_node_t *json) +static_always_inline void +vat_json_init_array (vat_json_node_t * json) { - json->type = VAT_JSON_ARRAY; - json->array = NULL; + json->type = VAT_JSON_ARRAY; + json->array = NULL; } -static_always_inline void vat_json_set_string(vat_json_node_t *json, u8 *str) +static_always_inline void +vat_json_set_string (vat_json_node_t * json, u8 * str) { - json->type = VAT_JSON_STRING; - json->string = str; + json->type = VAT_JSON_STRING; + json->string = 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_string_copy (vat_json_node_t * json, const u8 * str) { - u8 * ns = NULL; - vec_validate(ns, strlen((const char *)str)); - strcpy((char*)ns, (const char*)str); - vec_add1(ns, '\0'); - vat_json_set_string(json, ns); + u8 *ns = NULL; + vec_validate (ns, strlen ((const char *) str)); + strcpy ((char *) ns, (const char *) str); + vec_add1 (ns, '\0'); + vat_json_set_string (json, ns); } -static_always_inline void vat_json_set_int(vat_json_node_t *json, i64 num) +static_always_inline void +vat_json_set_int (vat_json_node_t * json, i64 num) { - json->type = VAT_JSON_INT; - json->sint = num; + json->type = VAT_JSON_INT; + json->sint = num; } -static_always_inline void vat_json_set_uint(vat_json_node_t *json, u64 num) +static_always_inline void +vat_json_set_uint (vat_json_node_t * json, u64 num) { - json->type = VAT_JSON_UINT; - json->uint = num; + json->type = VAT_JSON_UINT; + json->uint = num; } -static_always_inline void vat_json_set_real(vat_json_node_t *json, f64 real) +static_always_inline void +vat_json_set_real (vat_json_node_t * json, f64 real) { - json->type = VAT_JSON_REAL; - json->real = real; + json->type = VAT_JSON_REAL; + json->real = 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_ip4 (vat_json_node_t * json, struct in_addr ip4) { - json->type = VAT_JSON_IPV4; - json->ip4 = ip4; + json->type = VAT_JSON_IPV4; + json->ip4 = ip4; } -static_always_inline void vat_json_set_ip6(vat_json_node_t *json, - struct in6_addr ip6) +static_always_inline void +vat_json_set_ip6 (vat_json_node_t * json, struct in6_addr ip6) { - json->type = VAT_JSON_IPV6; - json->ip6 = ip6; + json->type = VAT_JSON_IPV6; + json->ip6 = ip6; } -static_always_inline vat_json_node_t* vat_json_object_add(vat_json_node_t *json, - const char *name) +static_always_inline vat_json_node_t * +vat_json_object_add (vat_json_node_t * json, const char *name) { - ASSERT(VAT_JSON_OBJECT == json->type); - uword pos = vec_len(json->pairs); - vec_validate(json->pairs, pos); - json->pairs[pos].name = name; - return &json->pairs[pos].value; + ASSERT (VAT_JSON_OBJECT == json->type); + uword pos = vec_len (json->pairs); + vec_validate (json->pairs, pos); + json->pairs[pos].name = name; + return &json->pairs[pos].value; } -static_always_inline vat_json_node_t* vat_json_array_add(vat_json_node_t *json) +static_always_inline vat_json_node_t * +vat_json_array_add (vat_json_node_t * json) { - ASSERT(VAT_JSON_ARRAY == json->type); - uword pos = vec_len(json->array); - vec_validate(json->array, pos); - return &json->array[pos]; + ASSERT (VAT_JSON_ARRAY == json->type); + uword pos = vec_len (json->array); + vec_validate (json->array, pos); + return &json->array[pos]; } -static_always_inline vat_json_node_t* vat_json_object_add_list(vat_json_node_t *json, - const char *name) +static_always_inline vat_json_node_t * +vat_json_object_add_list (vat_json_node_t * json, const char *name) { - vat_json_node_t *array_node = vat_json_object_add(json, name); - vat_json_init_array(array_node); - return array_node; + vat_json_node_t *array_node = vat_json_object_add (json, name); + vat_json_init_array (array_node); + return array_node; } -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_string_copy (vat_json_node_t * json, + const char *name, u8 * str) { - vat_json_set_string_copy(vat_json_object_add(json, name), str); + vat_json_set_string_copy (vat_json_object_add (json, name), 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_uint (vat_json_node_t * json, + const char *name, u64 number) { - vat_json_set_uint(vat_json_object_add(json, name), number); + vat_json_set_uint (vat_json_object_add (json, name), 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_int (vat_json_node_t * json, const char *name, i64 number) { - vat_json_set_int(vat_json_object_add(json, name), number); + vat_json_set_int (vat_json_object_add (json, name), 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_real (vat_json_node_t * json, const char *name, f64 real) { - vat_json_set_real(vat_json_object_add(json, name), real); + vat_json_set_real (vat_json_object_add (json, name), 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_ip4 (vat_json_node_t * json, + const char *name, struct in_addr ip4) { - vat_json_set_ip4(vat_json_object_add(json, name), ip4); + vat_json_set_ip4 (vat_json_object_add (json, name), 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_object_add_ip6 (vat_json_node_t * json, + const char *name, struct in6_addr ip6) { - vat_json_set_ip6(vat_json_object_add(json, name), ip6); + vat_json_set_ip6 (vat_json_object_add (json, name), 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_int (vat_json_node_t * json, i64 number) { - vat_json_set_int(vat_json_array_add(json), number); + vat_json_set_int (vat_json_array_add (json), number); } -static_always_inline void vat_json_array_add_uint(vat_json_node_t *json, - u64 number) +static_always_inline void +vat_json_array_add_uint (vat_json_node_t * json, u64 number) { - vat_json_set_uint(vat_json_array_add(json), number); + vat_json_set_uint (vat_json_array_add (json), 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 void +vat_json_object_add_bytes (vat_json_node_t * json, + const char *name, u8 * array, uword size) { - ASSERT(VAT_JSON_OBJECT == json->type); - vat_json_node_t *json_array = vat_json_object_add(json, name); - vat_json_init_array(json_array); - int i; - for (i = 0; i < size; i++) { - vat_json_array_add_uint(json_array, array[i]); + ASSERT (VAT_JSON_OBJECT == json->type); + vat_json_node_t *json_array = vat_json_object_add (json, name); + vat_json_init_array (json_array); + int i; + for (i = 0; i < size; i++) + { + vat_json_array_add_uint (json_array, array[i]); } } -static_always_inline vat_json_node_t* -vat_json_object_get_element(vat_json_node_t *json, const char *name) +static_always_inline vat_json_node_t * +vat_json_object_get_element (vat_json_node_t * json, const char *name) { - int i = 0; + int i = 0; - ASSERT(VAT_JSON_OBJECT == json->type); - for (i = 0; i < vec_len(json->pairs); i++) { - if (0 == strcmp(json->pairs[i].name, name)) { - return &json->pairs[i].value; - } + ASSERT (VAT_JSON_OBJECT == json->type); + for (i = 0; i < vec_len (json->pairs); i++) + { + if (0 == strcmp (json->pairs[i].name, name)) + { + return &json->pairs[i].value; + } } - return NULL; + return NULL; } #endif /* __JSON_FORMAT_H__ */ + +/* + * fd.io coding-style-patch-verification: ON + * + * Local Variables: + * eval: (c-set-style "gnu") + * End: + */ |