This is Unofficial EPICS BASE Doxygen Site
yajl_gen.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2007-2011, Lloyd Hilaiel <lloyd@hilaiel.com>
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
23 #ifndef __YAJL_GEN_H__
24 #define __YAJL_GEN_H__
25 
26 #include "yajl_common.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32  typedef enum {
57 
59  typedef struct yajl_gen_t * yajl_gen;
60 
62  typedef void (*yajl_print_t)(void * ctx,
63  const char * str,
64  size_t len);
65 
69  typedef enum {
102  } yajl_gen_option;
103 
108  YAJL_API int yajl_gen_config(yajl_gen g, yajl_gen_option opt, ...);
109 
118  YAJL_API yajl_gen yajl_gen_alloc(const yajl_alloc_funcs * allocFuncs);
119 
121  YAJL_API void yajl_gen_free(yajl_gen handle);
122 
124  YAJL_API yajl_gen_status yajl_gen_integer(yajl_gen hand, long long int number);
128  YAJL_API yajl_gen_status yajl_gen_double(yajl_gen hand, double number);
130  YAJL_API yajl_gen_status yajl_gen_number(yajl_gen hand,
131  const char * num,
132  size_t len);
134  YAJL_API yajl_gen_status yajl_gen_string(yajl_gen hand,
135  const unsigned char * str,
136  size_t len);
138  YAJL_API yajl_gen_status yajl_gen_null(yajl_gen hand);
140  YAJL_API yajl_gen_status yajl_gen_bool(yajl_gen hand, int boolean);
144  YAJL_API yajl_gen_status yajl_gen_map_open(yajl_gen hand);
146  YAJL_API yajl_gen_status yajl_gen_map_close(yajl_gen hand);
148  YAJL_API yajl_gen_status yajl_gen_array_open(yajl_gen hand);
150  YAJL_API yajl_gen_status yajl_gen_array_close(yajl_gen hand);
151 
155  YAJL_API yajl_gen_status yajl_gen_get_buf(yajl_gen hand,
156  const unsigned char ** buf,
157  size_t * len);
158 
162  YAJL_API void yajl_gen_clear(yajl_gen hand);
163 
164 #ifdef __cplusplus
165 }
166 #endif
167 
168 #endif
struct yajl_gen_t * yajl_gen
Definition: yajl_gen.h:59
YAJL_API yajl_gen_status yajl_gen_array_close(yajl_gen hand)
Definition: yajl_gen.c:318
YAJL_API yajl_gen_status yajl_gen_double(yajl_gen hand, double number)
Definition: yajl_gen.c:212
YAJL_API yajl_gen_status yajl_gen_null(yajl_gen hand)
Definition: yajl_gen.c:257
YAJL_API yajl_gen_status yajl_gen_number(yajl_gen hand, const char *num, size_t len)
Definition: yajl_gen.c:226
#define str(v)
#define YAJL_API
Definition: yajl_common.h:52
YAJL_API int yajl_gen_config(yajl_gen g, yajl_gen_option opt,...)
Definition: yajl_gen.c:51
YAJL_API yajl_gen_status yajl_gen_map_open(yajl_gen hand)
Definition: yajl_gen.c:279
YAJL_API yajl_gen_status yajl_gen_map_close(yajl_gen hand)
Definition: yajl_gen.c:292
YAJL_API void yajl_gen_clear(yajl_gen hand)
Definition: yajl_gen.c:341
YAJL_API yajl_gen_status yajl_gen_array_open(yajl_gen hand)
Definition: yajl_gen.c:306
YAJL_API yajl_gen_status yajl_gen_bool(yajl_gen hand, int boolean)
Definition: yajl_gen.c:267
Common routines and macros used by other YAJL APIs.
YAJL_API void yajl_gen_free(yajl_gen handle)
Definition: yajl_gen.c:128
YAJL_API yajl_gen_status yajl_gen_string(yajl_gen hand, const unsigned char *str, size_t len)
Definition: yajl_gen.c:236
yajl_gen_option
Definition: yajl_gen.h:69
void(* yajl_print_t)(void *ctx, const char *str, size_t len)
Definition: yajl_gen.h:62
YAJL_API yajl_gen_status yajl_gen_get_buf(yajl_gen hand, const unsigned char **buf, size_t *len)
Definition: yajl_gen.c:331
YAJL_API yajl_gen_status yajl_gen_integer(yajl_gen hand, long long int number)
Definition: yajl_gen.c:200
YAJL_API yajl_gen yajl_gen_alloc(const yajl_alloc_funcs *allocFuncs)
Definition: yajl_gen.c:97
yajl_gen_status
Definition: yajl_gen.h:32
void * ctx
Definition: yajl_gen.c:45