Lines Matching +full:json +full:- +full:schema

1 /* Copyright (c) 2013-2015, Vsevolod Stakhov
47 * - @ref structures
48 * - @ref utils
49 * - @ref parser
50 * - @ref emitter
58 * JSON with less strict rules that make it more comfortable for
66 * UCL_ALLOC(size) - allocate memory for UCL
67 * UCL_FREE(size, ptr) - free memory of specified size at ptr
122 UCL_OBJECT = 0, /**< UCL object - key/value pairs */
137 UCL_EMIT_JSON = 0, /**< Emit fine formatted JSON */
138 UCL_EMIT_JSON_COMPACT, /**< Emit compacted JSON */
148 * zero-terminated keys and string values then you should not use zero-copy mode, as in this case
154 UCL_PARSER_ZEROCOPY = (1 << 1), /**< Parse input in zero-copy mode if possible */
167 UCL_STRING_ESCAPE = (1 << 0), /**< Perform JSON escape */
212 UCL_PARSE_CSEXP, /**< Canonical S-expressions */
259 * Copy and return a key of an object, returned key is zero-terminated
266 * Copy and return a string value of an object, returned key is zero-terminated
345 * @param str NULL terminated string, will be json escaped
352 * @param str fixed size string, will be json escaped
472 * @return 0 on success, -1 on failure (i.e. ENOMEM)
567 * @return index of `elt` in the array `top or (unsigned int)-1 if `elt` is not found
655 * Convert any object to a string in JSON notation if needed
663 * allows zero-copy (if #UCL_PARSER_ZEROCOPY has been used during parsing)
970 * @return true default priority (0 .. 16), -1 for failure
1081 * @param len the length of the string, if `len` is 0 then `data` must be zero-terminated string
1091 * @param len the length of the string, if `len` is 0 then `data` must be zero-terminated string
1429 /** Name of emitter (e.g. json, compact_json) */
1448 * @param emit_type if type is #UCL_EMIT_JSON then emit json, if type is
1458 * @param emit_type if type is #UCL_EMIT_JSON then emit json, if type is
1469 * @param emit_type if type is #UCL_EMIT_JSON then emit json, if type is
1551 * @defgroup schema Schema functions
1552 * These functions are used to validate UCL objects using json schema format
1558 * Used to define UCL schema error
1563 UCL_SCHEMA_INVALID_SCHEMA, /**< schema is invalid */
1574 * Generic ucl schema error
1583 * Validate object `obj` using schema object `schema`.
1584 * @param schema schema object
1588 * @return true if `obj` is valid using `schema`
1590 UCL_EXTERN bool ucl_object_validate (const ucl_object_t *schema,
1594 * Validate object `obj` using schema object `schema` and root schema at `root`.
1595 * @param schema schema object
1597 * @param root root schema object
1600 * @return true if `obj` is valid using `schema`
1602 UCL_EXTERN bool ucl_object_validate_root (const ucl_object_t *schema,
1608 * Validate object `obj` using schema object `schema` and root schema at `root`
1610 * @param schema schema object
1612 * @param root root schema object
1616 * @return true if `obj` is valid using `schema`
1618 UCL_EXTERN bool ucl_object_validate_root_ext (const ucl_object_t *schema,