YAJL
2.0.4
Main Page
Data Structures
Files
Examples
File List
Globals
src
api
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
22
#include <yajl/yajl_common.h>
23
24
#ifndef __YAJL_GEN_H__
25
#define __YAJL_GEN_H__
26
27
#include <stddef.h>
28
29
#ifdef __cplusplus
30
extern
"C"
{
31
#endif
32
33
typedef
enum
{
35
yajl_gen_status_ok
= 0,
38
yajl_gen_keys_must_be_strings
,
41
yajl_max_depth_exceeded
,
44
yajl_gen_in_error_state
,
46
yajl_gen_generation_complete
,
49
yajl_gen_invalid_number
,
52
yajl_gen_no_buf
,
56
yajl_gen_invalid_string
57
}
yajl_gen_status
;
58
60
typedef
struct
yajl_gen_t *
yajl_gen
;
61
63
typedef
void (*
yajl_print_t
)(
void
* ctx,
64
const
char
* str,
65
size_t
len);
66
70
typedef
enum
{
72
yajl_gen_beautify
= 0x01,
78
yajl_gen_indent_string
= 0x02,
88
yajl_gen_print_callback
= 0x04,
94
yajl_gen_validate_utf8
= 0x08,
101
yajl_gen_escape_solidus
= 0x10
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
123
YAJL_API
yajl_gen_status
yajl_gen_integer
(yajl_gen hand,
long
long
int
number);
127
YAJL_API
yajl_gen_status
yajl_gen_double
(yajl_gen hand,
double
number);
128
YAJL_API
yajl_gen_status
yajl_gen_number
(yajl_gen hand,
129
const
char
* num,
130
size_t
len);
131
YAJL_API
yajl_gen_status
yajl_gen_string
(yajl_gen hand,
132
const
unsigned
char
* str,
133
size_t
len);
134
YAJL_API
yajl_gen_status
yajl_gen_null
(yajl_gen hand);
135
YAJL_API
yajl_gen_status
yajl_gen_bool
(yajl_gen hand,
int
boolean
);
136
YAJL_API
yajl_gen_status
yajl_gen_map_open
(yajl_gen hand);
137
YAJL_API
yajl_gen_status
yajl_gen_map_close
(yajl_gen hand);
138
YAJL_API
yajl_gen_status
yajl_gen_array_open
(yajl_gen hand);
139
YAJL_API
yajl_gen_status
yajl_gen_array_close
(yajl_gen hand);
140
144
YAJL_API
yajl_gen_status
yajl_gen_get_buf
(yajl_gen hand,
145
const
unsigned
char
** buf,
146
size_t
* len);
147
151
YAJL_API
void
yajl_gen_clear
(yajl_gen hand);
152
153
#ifdef __cplusplus
154
}
155
#endif
156
157
#endif
Generated on Sun Mar 16 2014 17:14:50 for YAJL by
1.8.1.2