31#if !defined(__WINDOWS__) && (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32))
55#define CJSON_CDECL __cdecl
56#define CJSON_STDCALL __stdcall
59#if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS)
60#define CJSON_EXPORT_SYMBOLS
63#if defined(CJSON_HIDE_SYMBOLS)
64#define CJSON_PUBLIC(type) type CJSON_STDCALL
65#elif defined(CJSON_EXPORT_SYMBOLS)
66#define CJSON_PUBLIC(type) __declspec(dllexport) type CJSON_STDCALL
67#elif defined(CJSON_IMPORT_SYMBOLS)
68#define CJSON_PUBLIC(type) __declspec(dllimport) type CJSON_STDCALL
74#if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(CJSON_API_VISIBILITY)
75#define CJSON_PUBLIC(type) __attribute__((visibility("default"))) type
77#define CJSON_PUBLIC(type) type
82#define CJSON_VERSION_MAJOR 1
83#define CJSON_VERSION_MINOR 7
84#define CJSON_VERSION_PATCH 18
89#define cJSON_Invalid (0)
90#define cJSON_False (1 << 0)
91#define cJSON_True (1 << 1)
92#define cJSON_NULL (1 << 2)
93#define cJSON_Number (1 << 3)
94#define cJSON_String (1 << 4)
95#define cJSON_Array (1 << 5)
96#define cJSON_Object (1 << 6)
97#define cJSON_Raw (1 << 7)
99#define cJSON_IsReference 256
100#define cJSON_StringIsConst 512
136#ifndef CJSON_NESTING_LIMIT
137#define CJSON_NESTING_LIMIT 1000
142#ifndef CJSON_CIRCULAR_LIMIT
143#define CJSON_CIRCULAR_LIMIT 10000
179 CJSON_PUBLIC(
cJSON*) cJSON_GetObjectItemCaseSensitive(
const cJSON*
const object,
const char*
const string);
244 CJSON_PUBLIC(
void) cJSON_DeleteItemFromObject(
cJSON*
object,
const char*
string);
245 CJSON_PUBLIC(
void) cJSON_DeleteItemFromObjectCaseSensitive(
cJSON*
object,
const char*
string);
281#define cJSON_SetIntValue(object, number) ((object) ? (object)->valueint = (object)->valuedouble = (number) : (number))
284#define cJSON_SetNumberValue(object, number) ((object != NULL) ? cJSON_SetNumberHelper(object, (double)number) : (number))
289#define cJSON_SetBoolValue(object, boolValue) ( \
290 (object != NULL && ((object)->type & (cJSON_False|cJSON_True))) ? \
291 (object)->type=((object)->type &(~(cJSON_False|cJSON_True)))|((boolValue)?cJSON_True:cJSON_False) : \
296#define cJSON_ArrayForEach(element, array) for(element = (array != NULL) ? (array)->child : NULL; element != NULL; element = element->next)
const char *const const double number
Definition cJSON.h:274
int prebuffer
Definition cJSON.h:166
char const int length
Definition cJSON.h:169
const cJSON *const const cJSON_bool case_sensitive
Definition cJSON.h:261
cJSON *const cJSON * replacement
Definition cJSON.h:249
const cJSON *const b
Definition cJSON.h:261
const char *const name
Definition cJSON.h:270
const char cJSON_bool require_null_terminated
Definition cJSON.h:158
#define CJSON_PUBLIC(type)
Definition cJSON.h:77
int index
Definition cJSON.h:176
const char ** return_parse_end
Definition cJSON.h:158
const char *const const char *const raw
Definition cJSON.h:276
#define CJSON_CDECL
Definition cJSON.h:71
size_t buffer_length
Definition cJSON.h:155
int which
Definition cJSON.h:240
const char * valuestring
Definition cJSON.h:286
int cJSON_bool fmt
Definition cJSON.h:166
int cJSON * newitem
Definition cJSON.h:248
cJSON * item
Definition cJSON.h:228
int count
Definition cJSON.h:222
char const int const cJSON_bool format
Definition cJSON.h:169
int cJSON_bool
Definition cJSON.h:132
cJSON_bool recurse
Definition cJSON.h:255
char * buffer
Definition cJSON.h:169
void(CJSON_CDECL *free_fn)(void *ptr)
void *CJSON_CDECL * malloc_fn(size_t sz)
int valueint
Definition cJSON.h:117
struct cJSON * child
Definition cJSON.h:109
struct cJSON * prev
Definition cJSON.h:107
double valuedouble
Definition cJSON.h:119
char * string
Definition cJSON.h:122
int type
Definition cJSON.h:112
char * valuestring
Definition cJSON.h:115
struct cJSON * next
Definition cJSON.h:106