1    | /*
2    |  * Copyright (c) 2007-2014, Lloyd Hilaiel <me@lloyd.io>
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   | 
17   | #ifndef __YAJL_ENCODE_H__
18   | #define __YAJL_ENCODE_H__
19   | 
20   | #include "yajl_buf.h"
21   | #include "yajl/yajl_gen.h"
22   | 
23   | void yajl_string_encode(const yajl_print_t printer,
24   |                         void * ctx,
25   |                         const unsigned char * str,
26   |                         size_t length,
27   |                         unsigned int escape_solidus);
28   | 
29   | void yajl_string_decode(yajl_buf buf, const unsigned char * str,
30   |                         size_t length);
31   | 
32   | int yajl_string_validate_utf8(const unsigned char * s, size_t len);
33   | 
34   | #endif