Data Structures |
struct | yaml_version_directive_s |
| The version directive data. More...
|
struct | yaml_tag_directive_s |
| The tag directive data. More...
|
struct | yaml_mark_s |
| The pointer position. More...
|
struct | yaml_token_s |
| The token structure. More...
|
struct | yaml_event_s |
| The event structure. More...
|
struct | yaml_node_pair_s |
| An element of a mapping node. More...
|
struct | yaml_node_s |
| The node structure. More...
|
struct | yaml_document_s |
| The document structure. More...
|
struct | yaml_simple_key_s |
| This structure holds information about a potential simple key. More...
|
struct | yaml_alias_data_s |
| This structure holds aliases data. More...
|
struct | yaml_parser_s |
| The parser structure. More...
|
struct | yaml_emitter_s |
| The emitter structure. More...
|
Defines |
#define | YAML_DECLARE(type) type |
| The public API declaration.
|
#define | YAML_NULL_TAG "tag:yaml.org,2002:null" |
| The tag !!null with the only possible value: null .
|
#define | YAML_BOOL_TAG "tag:yaml.org,2002:bool" |
| The tag !!bool with the values: true and falce .
|
#define | YAML_STR_TAG "tag:yaml.org,2002:str" |
| The tag !!str for string values.
|
#define | YAML_INT_TAG "tag:yaml.org,2002:int" |
| The tag !!int for integer values.
|
#define | YAML_FLOAT_TAG "tag:yaml.org,2002:float" |
| The tag !!float for float values.
|
#define | YAML_TIMESTAMP_TAG "tag:yaml.org,2002:timestamp" |
| The tag !!timestamp for date and time values.
|
#define | YAML_SEQ_TAG "tag:yaml.org,2002:seq" |
| The tag !!seq is used to denote sequences.
|
#define | YAML_MAP_TAG "tag:yaml.org,2002:map" |
| The tag !!map is used to denote mapping.
|
#define | YAML_DEFAULT_SCALAR_TAG YAML_STR_TAG |
| The default scalar tag is !!str .
|
#define | YAML_DEFAULT_SEQUENCE_TAG YAML_SEQ_TAG |
| The default sequence tag is !!seq .
|
#define | YAML_DEFAULT_MAPPING_TAG YAML_MAP_TAG |
| The default mapping tag is !!map .
|
Typedefs |
typedef unsigned char | yaml_char_t |
| The character type (UTF-8 octet).
|
typedef struct
yaml_version_directive_s | yaml_version_directive_t |
| The version directive data.
|
typedef struct yaml_tag_directive_s | yaml_tag_directive_t |
| The tag directive data.
|
typedef enum yaml_encoding_e | yaml_encoding_t |
| The stream encoding.
|
typedef enum yaml_break_e | yaml_break_t |
| Line break types.
|
typedef enum yaml_error_type_e | yaml_error_type_t |
| Many bad things could happen with the parser and emitter.
|
typedef struct yaml_mark_s | yaml_mark_t |
| The pointer position.
|
typedef enum yaml_scalar_style_e | yaml_scalar_style_t |
| Scalar styles.
|
typedef enum yaml_sequence_style_e | yaml_sequence_style_t |
| Sequence styles.
|
typedef enum yaml_mapping_style_e | yaml_mapping_style_t |
| Mapping styles.
|
typedef enum yaml_token_type_e | yaml_token_type_t |
| Token types.
|
typedef struct yaml_token_s | yaml_token_t |
| The token structure.
|
typedef enum yaml_event_type_e | yaml_event_type_t |
| Event types.
|
typedef struct yaml_event_s | yaml_event_t |
| The event structure.
|
typedef enum yaml_node_type_e | yaml_node_type_t |
| Node types.
|
typedef struct yaml_node_s | yaml_node_t |
| The forward definition of a document node structure.
|
typedef int | yaml_node_item_t |
| An element of a sequence node.
|
typedef struct yaml_node_pair_s | yaml_node_pair_t |
| An element of a mapping node.
|
typedef struct yaml_document_s | yaml_document_t |
| The document structure.
|
typedef int | yaml_read_handler_t (void *data, unsigned char *buffer, size_t size, size_t *size_read) |
| The prototype of a read handler.
|
typedef struct yaml_simple_key_s | yaml_simple_key_t |
| This structure holds information about a potential simple key.
|
typedef enum yaml_parser_state_e | yaml_parser_state_t |
| The states of the parser.
|
typedef struct yaml_alias_data_s | yaml_alias_data_t |
| This structure holds aliases data.
|
typedef struct yaml_parser_s | yaml_parser_t |
| The parser structure.
|
typedef int | yaml_write_handler_t (void *data, unsigned char *buffer, size_t size) |
| The prototype of a write handler.
|
typedef enum yaml_emitter_state_e | yaml_emitter_state_t |
| The emitter states.
|
typedef struct yaml_emitter_s | yaml_emitter_t |
| The emitter structure.
|
Enumerations |
enum | yaml_encoding_e {
YAML_ANY_ENCODING,
YAML_UTF8_ENCODING,
YAML_UTF16LE_ENCODING,
YAML_UTF16BE_ENCODING
} |
| The stream encoding. More...
|
enum | yaml_break_e {
YAML_ANY_BREAK,
YAML_CR_BREAK,
YAML_LN_BREAK,
YAML_CRLN_BREAK
} |
| Line break types. More...
|
enum | yaml_error_type_e {
YAML_NO_ERROR,
YAML_MEMORY_ERROR,
YAML_READER_ERROR,
YAML_SCANNER_ERROR,
YAML_PARSER_ERROR,
YAML_COMPOSER_ERROR,
YAML_WRITER_ERROR,
YAML_EMITTER_ERROR
} |
| Many bad things could happen with the parser and emitter. More...
|
enum | yaml_scalar_style_e {
YAML_ANY_SCALAR_STYLE,
YAML_PLAIN_SCALAR_STYLE,
YAML_SINGLE_QUOTED_SCALAR_STYLE,
YAML_DOUBLE_QUOTED_SCALAR_STYLE,
YAML_LITERAL_SCALAR_STYLE,
YAML_FOLDED_SCALAR_STYLE
} |
| Scalar styles. More...
|
enum | yaml_sequence_style_e {
YAML_ANY_SEQUENCE_STYLE,
YAML_BLOCK_SEQUENCE_STYLE,
YAML_FLOW_SEQUENCE_STYLE
} |
| Sequence styles. More...
|
enum | yaml_mapping_style_e {
YAML_ANY_MAPPING_STYLE,
YAML_BLOCK_MAPPING_STYLE,
YAML_FLOW_MAPPING_STYLE
} |
| Mapping styles. More...
|
enum | yaml_token_type_e {
YAML_NO_TOKEN,
YAML_STREAM_START_TOKEN,
YAML_STREAM_END_TOKEN,
YAML_VERSION_DIRECTIVE_TOKEN,
YAML_TAG_DIRECTIVE_TOKEN,
YAML_DOCUMENT_START_TOKEN,
YAML_DOCUMENT_END_TOKEN,
YAML_BLOCK_SEQUENCE_START_TOKEN,
YAML_BLOCK_MAPPING_START_TOKEN,
YAML_BLOCK_END_TOKEN,
YAML_FLOW_SEQUENCE_START_TOKEN,
YAML_FLOW_SEQUENCE_END_TOKEN,
YAML_FLOW_MAPPING_START_TOKEN,
YAML_FLOW_MAPPING_END_TOKEN,
YAML_BLOCK_ENTRY_TOKEN,
YAML_FLOW_ENTRY_TOKEN,
YAML_KEY_TOKEN,
YAML_VALUE_TOKEN,
YAML_ALIAS_TOKEN,
YAML_ANCHOR_TOKEN,
YAML_TAG_TOKEN,
YAML_SCALAR_TOKEN
} |
| Token types. More...
|
enum | yaml_event_type_e {
YAML_NO_EVENT,
YAML_STREAM_START_EVENT,
YAML_STREAM_END_EVENT,
YAML_DOCUMENT_START_EVENT,
YAML_DOCUMENT_END_EVENT,
YAML_ALIAS_EVENT,
YAML_SCALAR_EVENT,
YAML_SEQUENCE_START_EVENT,
YAML_SEQUENCE_END_EVENT,
YAML_MAPPING_START_EVENT,
YAML_MAPPING_END_EVENT
} |
| Event types. More...
|
enum | yaml_node_type_e {
YAML_NO_NODE,
YAML_SCALAR_NODE,
YAML_SEQUENCE_NODE,
YAML_MAPPING_NODE
} |
| Node types. More...
|
enum | yaml_parser_state_e {
YAML_PARSE_STREAM_START_STATE,
YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE,
YAML_PARSE_DOCUMENT_START_STATE,
YAML_PARSE_DOCUMENT_CONTENT_STATE,
YAML_PARSE_DOCUMENT_END_STATE,
YAML_PARSE_BLOCK_NODE_STATE,
YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE,
YAML_PARSE_FLOW_NODE_STATE,
YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE,
YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE,
YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE,
YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE,
YAML_PARSE_BLOCK_MAPPING_KEY_STATE,
YAML_PARSE_BLOCK_MAPPING_VALUE_STATE,
YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE,
YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE,
YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE,
YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE,
YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE,
YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE,
YAML_PARSE_FLOW_MAPPING_KEY_STATE,
YAML_PARSE_FLOW_MAPPING_VALUE_STATE,
YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE,
YAML_PARSE_END_STATE
} |
| The states of the parser. More...
|
enum | yaml_emitter_state_e {
YAML_EMIT_STREAM_START_STATE,
YAML_EMIT_FIRST_DOCUMENT_START_STATE,
YAML_EMIT_DOCUMENT_START_STATE,
YAML_EMIT_DOCUMENT_CONTENT_STATE,
YAML_EMIT_DOCUMENT_END_STATE,
YAML_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE,
YAML_EMIT_FLOW_SEQUENCE_ITEM_STATE,
YAML_EMIT_FLOW_MAPPING_FIRST_KEY_STATE,
YAML_EMIT_FLOW_MAPPING_KEY_STATE,
YAML_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE,
YAML_EMIT_FLOW_MAPPING_VALUE_STATE,
YAML_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE,
YAML_EMIT_BLOCK_SEQUENCE_ITEM_STATE,
YAML_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE,
YAML_EMIT_BLOCK_MAPPING_KEY_STATE,
YAML_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE,
YAML_EMIT_BLOCK_MAPPING_VALUE_STATE,
YAML_EMIT_END_STATE
} |
| The emitter states. More...
|
Functions |
const char * | yaml_get_version_string (void) |
| Get the library version as a string.
|
void | yaml_get_version (int *major, int *minor, int *patch) |
| Get the library version numbers.
|
void | yaml_token_delete (yaml_token_t *token) |
| Free any memory allocated for a token object.
|
int | yaml_stream_start_event_initialize (yaml_event_t *event, yaml_encoding_t encoding) |
| Create the STREAM-START event.
|
int | yaml_stream_end_event_initialize (yaml_event_t *event) |
| Create the STREAM-END event.
|
int | yaml_document_start_event_initialize (yaml_event_t *event, yaml_version_directive_t *version_directive, yaml_tag_directive_t *tag_directives_start, yaml_tag_directive_t *tag_directives_end, int implicit) |
| Create the DOCUMENT-START event.
|
int | yaml_document_end_event_initialize (yaml_event_t *event, int implicit) |
| Create the DOCUMENT-END event.
|
int | yaml_alias_event_initialize (yaml_event_t *event, yaml_char_t *anchor) |
| Create an ALIAS event.
|
int | yaml_scalar_event_initialize (yaml_event_t *event, yaml_char_t *anchor, yaml_char_t *tag, yaml_char_t *value, int length, int plain_implicit, int quoted_implicit, yaml_scalar_style_t style) |
| Create a SCALAR event.
|
int | yaml_sequence_start_event_initialize (yaml_event_t *event, yaml_char_t *anchor, yaml_char_t *tag, int implicit, yaml_sequence_style_t style) |
| Create a SEQUENCE-START event.
|
int | yaml_sequence_end_event_initialize (yaml_event_t *event) |
| Create a SEQUENCE-END event.
|
int | yaml_mapping_start_event_initialize (yaml_event_t *event, yaml_char_t *anchor, yaml_char_t *tag, int implicit, yaml_mapping_style_t style) |
| Create a MAPPING-START event.
|
int | yaml_mapping_end_event_initialize (yaml_event_t *event) |
| Create a MAPPING-END event.
|
void | yaml_event_delete (yaml_event_t *event) |
| Free any memory allocated for an event object.
|
int | yaml_document_initialize (yaml_document_t *document, yaml_version_directive_t *version_directive, yaml_tag_directive_t *tag_directives_start, yaml_tag_directive_t *tag_directives_end, int start_implicit, int end_implicit) |
| Create a YAML document.
|
void | yaml_document_delete (yaml_document_t *document) |
| Delete a YAML document and all its nodes.
|
yaml_node_t * | yaml_document_get_node (yaml_document_t *document, int index) |
| Get a node of a YAML document.
|
yaml_node_t * | yaml_document_get_root_node (yaml_document_t *document) |
| Get the root of a YAML document node.
|
int | yaml_document_add_scalar (yaml_document_t *document, yaml_char_t *tag, yaml_char_t *value, int length, yaml_scalar_style_t style) |
| Create a SCALAR node and attach it to the document.
|
int | yaml_document_add_sequence (yaml_document_t *document, yaml_char_t *tag, yaml_sequence_style_t style) |
| Create a SEQUENCE node and attach it to the document.
|
int | yaml_document_add_mapping (yaml_document_t *document, yaml_char_t *tag, yaml_mapping_style_t style) |
| Create a MAPPING node and attach it to the document.
|
int | yaml_document_append_sequence_item (yaml_document_t *document, int sequence, int item) |
| Add an item to a SEQUENCE node.
|
int | yaml_document_append_mapping_pair (yaml_document_t *document, int mapping, int key, int value) |
| Add a pair of a key and a value to a MAPPING node.
|
int | yaml_parser_initialize (yaml_parser_t *parser) |
| Initialize a parser.
|
void | yaml_parser_delete (yaml_parser_t *parser) |
| Destroy a parser.
|
void | yaml_parser_set_input_string (yaml_parser_t *parser, const unsigned char *input, size_t size) |
| Set a string input.
|
void | yaml_parser_set_input_file (yaml_parser_t *parser, FILE *file) |
| Set a file input.
|
void | yaml_parser_set_input (yaml_parser_t *parser, yaml_read_handler_t *handler, void *data) |
| Set a generic input handler.
|
void | yaml_parser_set_encoding (yaml_parser_t *parser, yaml_encoding_t encoding) |
| Set the source encoding.
|
int | yaml_parser_scan (yaml_parser_t *parser, yaml_token_t *token) |
| Scan the input stream and produce the next token.
|
int | yaml_parser_parse (yaml_parser_t *parser, yaml_event_t *event) |
| Parse the input stream and produce the next parsing event.
|
int | yaml_parser_load (yaml_parser_t *parser, yaml_document_t *document) |
| Parse the input stream and produce the next YAML document.
|
int | yaml_emitter_initialize (yaml_emitter_t *emitter) |
| Initialize an emitter.
|
void | yaml_emitter_delete (yaml_emitter_t *emitter) |
| Destroy an emitter.
|
void | yaml_emitter_set_output_string (yaml_emitter_t *emitter, unsigned char *output, size_t size, size_t *size_written) |
| Set a string output.
|
void | yaml_emitter_set_output_file (yaml_emitter_t *emitter, FILE *file) |
| Set a file output.
|
void | yaml_emitter_set_output (yaml_emitter_t *emitter, yaml_write_handler_t *handler, void *data) |
| Set a generic output handler.
|
void | yaml_emitter_set_encoding (yaml_emitter_t *emitter, yaml_encoding_t encoding) |
| Set the output encoding.
|
void | yaml_emitter_set_canonical (yaml_emitter_t *emitter, int canonical) |
| Set if the output should be in the "canonical" format as in the YAML specification.
|
void | yaml_emitter_set_indent (yaml_emitter_t *emitter, int indent) |
| Set the intendation increment.
|
void | yaml_emitter_set_width (yaml_emitter_t *emitter, int width) |
| Set the preferred line width.
|
void | yaml_emitter_set_unicode (yaml_emitter_t *emitter, int unicode) |
| Set if unescaped non-ASCII characters are allowed.
|
void | yaml_emitter_set_break (yaml_emitter_t *emitter, yaml_break_t line_break) |
| Set the preferred line break.
|
int | yaml_emitter_emit (yaml_emitter_t *emitter, yaml_event_t *event) |
| Emit an event.
|
int | yaml_emitter_open (yaml_emitter_t *emitter) |
| Start a YAML stream.
|
int | yaml_emitter_close (yaml_emitter_t *emitter) |
| Finish a YAML stream.
|
int | yaml_emitter_dump (yaml_emitter_t *emitter, yaml_document_t *document) |
| Emit a YAML document.
|
int | yaml_emitter_flush (yaml_emitter_t *emitter) |
| Flush the accumulated characters to the output.
|
Public interface for libyaml.
Include the header file with the code: