wmem: allow wmem_destroy_list to ignore a NULL list.
[metze/wireshark/wip.git] / wsutil / wsjson.h
1 /* wsjson.h
2  * JSON parsing functions.
3  *
4  * Copyright 2016, Dario Lombardo
5  *
6  * Wireshark - Network traffic analyzer
7  * By Gerald Combs <gerald@wireshark.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * SPDX-License-Identifier: GPL-2.0-or-later
11  */
12
13 #ifndef __WSJSON_H__
14 #define __WSJSON_H__
15
16 #include "ws_symbol_export.h"
17 #include <glib.h>
18
19 #include "jsmn.h"
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 /**
26  * Check if a buffer is json an returns true if it is.
27  */
28 WS_DLL_PUBLIC gboolean json_validate(const guint8 *buf, const size_t len);
29
30 WS_DLL_PUBLIC int json_parse(const char *buf, jsmntok_t *tokens, unsigned int max_tokens);
31
32 /**
33  * Decode the contents of a JSON string value by overwriting the input data.
34  * Returns TRUE on success and FALSE if invalid characters were encountered.
35  */
36 WS_DLL_PUBLIC gboolean json_decode_string_inplace(char *text);
37
38 #ifdef __cplusplus
39 }
40 #endif
41
42 #endif
43
44 /*
45  * Editor modelines  -  https://www.wireshark.org/tools/modelines.html
46  *
47  * Local variables:
48  * c-basic-offset: 4
49  * tab-width: 8
50  * indent-tabs-mode: nil
51  * End:
52  *
53  * vi: set shiftwidth=4 tabstop=8 expandtab:
54  * :indentSize=4:tabSize=8:noTabs=true:
55  */