106 const char *
const key,
116 assert(option != NULL);
147 const char *
const key,
148 const char *
const value)
158 assert(jbuf != NULL);
164 evel_json_kv_comma(jbuf),
170 length = strlen(value);
172 for (index = 0; index < length; index++)
186 if ((value[index] ==
'\"') || (value[index] ==
'\\'))
212 const char *
const key,
222 assert(option != NULL);
253 const char *
const key,
261 assert(jbuf != NULL);
267 evel_json_kv_comma(jbuf),
283 const char *
const key,
293 assert(option != NULL);
324 const char *
const key,
332 assert(jbuf != NULL);
338 evel_json_kv_comma(jbuf),
354 const char *
const key,
364 assert(option != NULL);
395 const char *
const key,
396 const unsigned long long value)
403 assert(jbuf != NULL);
409 evel_json_kv_comma(jbuf),
425 const char *
const key,
435 assert(option != NULL);
466 const char *
const key,
474 assert(jbuf != NULL);
476 assert(time != NULL);
481 evel_json_kv_comma(jbuf),
502 const char *
const key,
503 const int major_version,
504 const int minor_version)
511 assert(jbuf != NULL);
515 if (minor_version != 0)
534 const char *
const key)
543 assert(jbuf != NULL);
571 const char *
const key)
578 assert(jbuf != NULL);
584 evel_json_kv_comma(jbuf),
603 assert(jbuf != NULL);
621 const char *
const format,
631 assert(jbuf != NULL);
632 assert(format != NULL);
644 va_start(largs, format);
661 const char *
const key)
670 assert(jbuf != NULL);
699 const char *
const key)
706 assert(jbuf != NULL);
712 evel_json_kv_comma(jbuf),
733 assert(jbuf != NULL);
765 assert(jbuf != NULL);
790 assert(jbuf != NULL);
792 if ((jbuf->
offset == 0) ||
820 assert(jbuf != NULL);
842 assert(jbuf != NULL);
#define EVEL_DEBUG(FMT,...)
void evel_enc_kv_int(EVEL_JSON_BUFFER *jbuf, const char *const key, const int value)
Encode a string key and integer value to a EVEL_JSON_BUFFER.
void evel_json_checkpoint(EVEL_JSON_BUFFER *jbuf)
Add a checkpoint - a stake in the ground to which we can rewind.
#define EVEL_INFO(FMT,...)
Optional parameter holder for unsigned long long.
Optional parameter holder for double.
Optional parameter holder for string.
void evel_enc_int(EVEL_JSON_BUFFER *jbuf, const int value)
Encode an integer value to a JSON buffer.
void evel_json_rewind(EVEL_JSON_BUFFER *jbuf)
Rewind to the latest checkoint.
bool evel_enc_kv_opt_time(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_TIME *const option)
Encode a string key and time value to a EVEL_JSON_BUFFER.
EVEL_THROTTLE_SPEC * throttle_spec
#define EVEL_THROTTLE_FIELD_DEPTH
bool evel_enc_kv_opt_double(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_DOUBLE *const option)
Encode a string key and double value to a EVEL_JSON_BUFFER.
bool evel_json_open_opt_named_object(EVEL_JSON_BUFFER *jbuf, const char *const key)
Add the opening bracket of an optional named object to a JSON buffer.
bool evel_throttle_suppress_field(EVEL_THROTTLE_SPEC *throttle_spec, const char *const field_name)
Determine whether a field_name should be suppressed.
void evel_enc_kv_ull(EVEL_JSON_BUFFER *jbuf, const char *const key, const unsigned long long value)
Encode a string key and unsigned long long value to a EVEL_JSON_BUFFER.
void evel_json_buffer_init(EVEL_JSON_BUFFER *jbuf, char *const json, const int max_size, EVEL_THROTTLE_SPEC *throttle_spec)
Initialize a EVEL_JSON_BUFFER.
void evel_enc_kv_double(EVEL_JSON_BUFFER *jbuf, const char *const key, const double value)
Encode a string key and double value to a EVEL_JSON_BUFFER.
bool evel_enc_kv_opt_int(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_INT *const option)
Encode a string key and integer value to a EVEL_JSON_BUFFER.
#define EVEL_RFC2822_STRFTIME_FORMAT
void evel_enc_kv_string(EVEL_JSON_BUFFER *jbuf, const char *const key, const char *const value)
Encode a string key and string value to a EVEL_JSON_BUFFER.
Event Throttling Specification for a domain which is in a throttled state.
Optional parameter holder for int.
bool evel_enc_kv_opt_ull(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_ULL *const option)
Encode a string key and unsigned long long value to a EVEL_JSON_BUFFER.
void evel_json_open_named_object(EVEL_JSON_BUFFER *jbuf, const char *const key)
Add the opening bracket of an object to a JSON buffer.
void evel_enc_version(EVEL_JSON_BUFFER *jbuf, const char *const key, const int major_version, const int minor_version)
Encode a key and version.
void evel_json_open_named_list(EVEL_JSON_BUFFER *jbuf, const char *const key)
Add the key and opening bracket of a named list to a JSON buffer.
void evel_enc_kv_time(EVEL_JSON_BUFFER *jbuf, const char *const key, const time_t *time)
Encode a string key and time value to a EVEL_JSON_BUFFER.
bool evel_enc_kv_opt_string(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_STRING *const option)
Encode a string key and string value to a EVEL_JSON_BUFFER.
EVEL throttle definitions.
Optional parameter holder for time_t.
void evel_json_close_list(EVEL_JSON_BUFFER *jbuf)
Add the closing bracket of a list to a JSON buffer.
void evel_enc_list_item(EVEL_JSON_BUFFER *jbuf, const char *const format,...)
Encode a list item with format and param list to a EVEL_JSON_BUFFER.
void evel_json_open_object(EVEL_JSON_BUFFER *jbuf)
Add the opening bracket of an object to a JSON buffer.
void evel_json_close_object(EVEL_JSON_BUFFER *jbuf)
Add the closing bracket of an object to a JSON buffer.
bool evel_json_open_opt_named_list(EVEL_JSON_BUFFER *jbuf, const char *const key)
Add the key and opening bracket of an optional named list to a JSON buffer.