EPICS Base  7.0.6.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Macros | Typedefs
yajl_common.h File Reference

Common routines and macros used by other YAJL APIs. More...

#include <stddef.h>
#include <libComAPI.h>
#include <epicsVersion.h>
Include dependency graph for yajl_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  yajl_alloc_funcs
 

Macros

#define EPICS_YAJL_VERSION   VERSION_INT(2,2,0,0)
 
#define HAS_JSON5
 
#define YAJL_MAX_DEPTH   128
 
#define YAJL_API   LIBCOM_API
 

Typedefs

typedef void *(* yajl_malloc_func )(void *ctx, size_t sz)
 
typedef void(* yajl_free_func )(void *ctx, void *ptr)
 
typedef void *(* yajl_realloc_func )(void *ctx, void *ptr, size_t sz)
 

Detailed Description

Author
Lloyd Hilaiel

Definition in file yajl_common.h.

Macro Definition Documentation

#define EPICS_YAJL_VERSION   VERSION_INT(2,2,0,0)

YAJL API history in brief

This macro was not defined in the YAJL 1.0.12 version that was bundled with EPICS Base 3.15.0.1

***YAJL 2.1.0***

  • Changes argument type for yajl_integer() from int to long long
  • Changes argument type for yajl_string() and yajl_map_key() from unsigned to size_t
  • Replacement of struct yajl_parser_config with yajl_config()
  • Replacement of yajl_parse_complete() with yajl_complete_parse()

***YAJL 2.2.0*** This version adds support for JSON5 parsing and generation. The upstream YAJL repository is no longer being maintained and the original author no longer responds to messages, so while this code has been offered for merging into the upstream it is unlikely that will ever happen. The version number here is thus an EPICS-specific construct.

Definition at line 55 of file yajl_common.h.

#define HAS_JSON5

A macro to make it easy to conditionally compile code that supports older releases.

Definition at line 60 of file yajl_common.h.

#define YAJL_MAX_DEPTH   128

A limit used by the generator API, YAJL_MAX_DEPTH is the maximum depth to which arrays and maps may be nested.

Definition at line 65 of file yajl_common.h.

#define YAJL_API   LIBCOM_API

Marks a yajl routine for export from the DLL/shared library.

Definition at line 68 of file yajl_common.h.

Typedef Documentation

typedef void*(* yajl_malloc_func)(void *ctx, size_t sz)

Pointer to a malloc() function, supporting client overriding memory allocation routines

Definition at line 72 of file yajl_common.h.

typedef void(* yajl_free_func)(void *ctx, void *ptr)

Pointer to a free() function, supporting client overriding memory allocation routines

Definition at line 76 of file yajl_common.h.

typedef void*(* yajl_realloc_func)(void *ctx, void *ptr, size_t sz)

Pointer to a realloc() function which can resize an allocation.

Definition at line 79 of file yajl_common.h.