| PipeWire 1.4.6
    | 
Relaxed JSON variant parsing. More...
| Files | |
| file | json-core.h | 
| spa/utils/json-core.h | |
| file | json.h | 
| spa/utils/json.h | |
| Data Structures | |
| struct | spa_json | 
| Macros | |
| #define | SPA_JSON_ERROR_FLAG 0x100 | 
| #define | SPA_JSON_INIT(data, size) | 
| #define | SPA_JSON_ENTER(iter) | 
| #define | SPA_JSON_SAVE(iter) | 
| #define | SPA_JSON_START(iter, p) | 
| #define | spa_json_make_str_array_unpack(maxlen, type, conv) | 
| Functions | |
| SPA_API_JSON void | spa_json_init (struct spa_json *iter, const char *data, size_t size) | 
| SPA_API_JSON void | spa_json_enter (struct spa_json *iter, struct spa_json *sub) | 
| SPA_API_JSON void | spa_json_save (struct spa_json *iter, struct spa_json *save) | 
| SPA_API_JSON void | spa_json_start (struct spa_json *iter, struct spa_json *sub, const char *pos) | 
| SPA_API_JSON int | spa_json_next (struct spa_json *iter, const char **value) | 
| Get the next token. | |
| SPA_API_JSON bool | spa_json_get_error (struct spa_json *iter, const char *start, struct spa_error_location *loc) | 
| Return if there was a parse error, and its possible location. | |
| SPA_API_JSON int | spa_json_is_container (const char *val, int len) | 
| SPA_API_JSON int | spa_json_is_object (const char *val, int len) | 
| SPA_API_JSON bool | spa_json_is_array (const char *val, int len) | 
| SPA_API_JSON bool | spa_json_is_null (const char *val, int len) | 
| SPA_API_JSON int | spa_json_parse_float (const char *val, int len, float *result) | 
| SPA_API_JSON bool | spa_json_is_float (const char *val, int len) | 
| SPA_API_JSON char * | spa_json_format_float (char *str, int size, float val) | 
| SPA_API_JSON int | spa_json_parse_int (const char *val, int len, int *result) | 
| SPA_API_JSON bool | spa_json_is_int (const char *val, int len) | 
| SPA_API_JSON bool | spa_json_is_true (const char *val, int len) | 
| SPA_API_JSON bool | spa_json_is_false (const char *val, int len) | 
| SPA_API_JSON bool | spa_json_is_bool (const char *val, int len) | 
| SPA_API_JSON int | spa_json_parse_bool (const char *val, int len, bool *result) | 
| SPA_API_JSON bool | spa_json_is_string (const char *val, int len) | 
| SPA_API_JSON int | spa_json_parse_hex (const char *p, int num, uint32_t *res) | 
| SPA_API_JSON int | spa_json_parse_stringn (const char *val, int len, char *result, int maxlen) | 
| SPA_API_JSON int | spa_json_parse_string (const char *val, int len, char *result) | 
| SPA_API_JSON int | spa_json_encode_string (char *str, int size, const char *val) | 
| SPA_API_JSON_UTILS int | spa_json_begin (struct spa_json *iter, const char *data, size_t size, const char **val) | 
| SPA_API_JSON_UTILS int | spa_json_get_float (struct spa_json *iter, float *res) | 
| SPA_API_JSON_UTILS int | spa_json_get_int (struct spa_json *iter, int *res) | 
| SPA_API_JSON_UTILS int | spa_json_get_bool (struct spa_json *iter, bool *res) | 
| SPA_API_JSON_UTILS int | spa_json_get_string (struct spa_json *iter, char *res, int maxlen) | 
| SPA_API_JSON_UTILS int | spa_json_enter_container (struct spa_json *iter, struct spa_json *sub, char type) | 
| SPA_API_JSON_UTILS int | spa_json_begin_container (struct spa_json *iter, const char *data, size_t size, char type, bool relax) | 
| SPA_API_JSON_UTILS int | spa_json_container_len (struct spa_json *iter, const char *value, int len 1) | 
| Return length of container at current position, starting at value. | |
| SPA_API_JSON_UTILS int | spa_json_enter_object (struct spa_json *iter, struct spa_json *sub) | 
| SPA_API_JSON_UTILS int | spa_json_begin_object_relax (struct spa_json *iter, const char *data, size_t size) | 
| SPA_API_JSON_UTILS int | spa_json_begin_object (struct spa_json *iter, const char *data, size_t size) | 
| SPA_API_JSON_UTILS int | spa_json_object_next (struct spa_json *iter, char *key, int maxkeylen, const char **value) | 
| SPA_API_JSON_UTILS int | spa_json_object_find (struct spa_json *iter, const char *key, const char **value) | 
| SPA_API_JSON_UTILS int | spa_json_str_object_find (const char *obj, size_t obj_len, const char *key, char *value, size_t maxlen) | 
| SPA_API_JSON_UTILS int | spa_json_enter_array (struct spa_json *iter, struct spa_json *sub) | 
| SPA_API_JSON_UTILS int | spa_json_begin_array_relax (struct spa_json *iter, const char *data, size_t size) | 
| SPA_API_JSON_UTILS int | spa_json_begin_array (struct spa_json *iter, const char *data, size_t size) | 
| SPA_API_JSON_UTILS int | spa_json_str_array_uint32 (const char *arr, size_t arr_len, uint32_t *values, size_t max) | 
Relaxed JSON variant parsing.
| #define SPA_JSON_ERROR_FLAG 0x100 | 
| #define SPA_JSON_INIT | ( | data, | |
| size ) | 
| #define SPA_JSON_ENTER | ( | iter | ) | 
| #define SPA_JSON_SAVE | ( | iter | ) | 
| #define SPA_JSON_START | ( | iter, | |
| p ) | 
| #define spa_json_make_str_array_unpack | ( | maxlen, | |
| type, | |||
| conv ) | 
| SPA_API_JSON void spa_json_init | ( | struct spa_json * | iter, | 
| const char * | data, | ||
| size_t | size ) | 
| SPA_API_JSON void spa_json_enter | ( | struct spa_json * | iter, | 
| struct spa_json * | sub ) | 
| SPA_API_JSON void spa_json_save | ( | struct spa_json * | iter, | 
| struct spa_json * | save ) | 
| SPA_API_JSON void spa_json_start | ( | struct spa_json * | iter, | 
| struct spa_json * | sub, | ||
| const char * | pos ) | 
| SPA_API_JSON int spa_json_next | ( | struct spa_json * | iter, | 
| const char ** | value ) | 
Get the next token.
value points to the token and the return value is the length. Returns -1 on parse error, 0 on end of input.
| SPA_API_JSON bool spa_json_get_error | ( | struct spa_json * | iter, | 
| const char * | start, | ||
| struct spa_error_location * | loc ) | 
Return if there was a parse error, and its possible location.
| SPA_API_JSON int spa_json_is_container | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON int spa_json_is_object | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON bool spa_json_is_array | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON bool spa_json_is_null | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON int spa_json_parse_float | ( | const char * | val, | 
| int | len, | ||
| float * | result ) | 
| SPA_API_JSON bool spa_json_is_float | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON char * spa_json_format_float | ( | char * | str, | 
| int | size, | ||
| float | val ) | 
| SPA_API_JSON int spa_json_parse_int | ( | const char * | val, | 
| int | len, | ||
| int * | result ) | 
| SPA_API_JSON bool spa_json_is_int | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON bool spa_json_is_true | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON bool spa_json_is_false | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON bool spa_json_is_bool | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON int spa_json_parse_bool | ( | const char * | val, | 
| int | len, | ||
| bool * | result ) | 
| SPA_API_JSON bool spa_json_is_string | ( | const char * | val, | 
| int | len ) | 
| SPA_API_JSON int spa_json_parse_hex | ( | const char * | p, | 
| int | num, | ||
| uint32_t * | res ) | 
| SPA_API_JSON int spa_json_parse_stringn | ( | const char * | val, | 
| int | len, | ||
| char * | result, | ||
| int | maxlen ) | 
| SPA_API_JSON int spa_json_parse_string | ( | const char * | val, | 
| int | len, | ||
| char * | result ) | 
| SPA_API_JSON int spa_json_encode_string | ( | char * | str, | 
| int | size, | ||
| const char * | val ) | 
| SPA_API_JSON_UTILS int spa_json_begin | ( | struct spa_json * | iter, | 
| const char * | data, | ||
| size_t | size, | ||
| const char ** | val ) | 
| SPA_API_JSON_UTILS int spa_json_get_float | ( | struct spa_json * | iter, | 
| float * | res ) | 
| SPA_API_JSON_UTILS int spa_json_get_int | ( | struct spa_json * | iter, | 
| int * | res ) | 
| SPA_API_JSON_UTILS int spa_json_get_bool | ( | struct spa_json * | iter, | 
| bool * | res ) | 
| SPA_API_JSON_UTILS int spa_json_get_string | ( | struct spa_json * | iter, | 
| char * | res, | ||
| int | maxlen ) | 
| SPA_API_JSON_UTILS int spa_json_enter_container | ( | struct spa_json * | iter, | 
| struct spa_json * | sub, | ||
| char | type ) | 
| SPA_API_JSON_UTILS int spa_json_begin_container | ( | struct spa_json * | iter, | 
| const char * | data, | ||
| size_t | size, | ||
| char | type, | ||
| bool | relax ) | 
| SPA_API_JSON_UTILS int spa_json_container_len | ( | struct spa_json * | iter, | 
| const char * | value, | ||
| int len | 1 ) | 
Return length of container at current position, starting at value.
| SPA_API_JSON_UTILS int spa_json_enter_object | ( | struct spa_json * | iter, | 
| struct spa_json * | sub ) | 
| SPA_API_JSON_UTILS int spa_json_begin_object_relax | ( | struct spa_json * | iter, | 
| const char * | data, | ||
| size_t | size ) | 
| SPA_API_JSON_UTILS int spa_json_begin_object | ( | struct spa_json * | iter, | 
| const char * | data, | ||
| size_t | size ) | 
| SPA_API_JSON_UTILS int spa_json_object_next | ( | struct spa_json * | iter, | 
| char * | key, | ||
| int | maxkeylen, | ||
| const char ** | value ) | 
| SPA_API_JSON_UTILS int spa_json_object_find | ( | struct spa_json * | iter, | 
| const char * | key, | ||
| const char ** | value ) | 
| SPA_API_JSON_UTILS int spa_json_str_object_find | ( | const char * | obj, | 
| size_t | obj_len, | ||
| const char * | key, | ||
| char * | value, | ||
| size_t | maxlen ) | 
| SPA_API_JSON_UTILS int spa_json_enter_array | ( | struct spa_json * | iter, | 
| struct spa_json * | sub ) | 
| SPA_API_JSON_UTILS int spa_json_begin_array_relax | ( | struct spa_json * | iter, | 
| const char * | data, | ||
| size_t | size ) | 
| SPA_API_JSON_UTILS int spa_json_begin_array | ( | struct spa_json * | iter, | 
| const char * | data, | ||
| size_t | size ) | 
| SPA_API_JSON_UTILS int spa_json_str_array_uint32 | ( | const char * | arr, | 
| size_t | arr_len, | ||
| uint32_t * | values, | ||
| size_t | max ) |