| 
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 !!nullwith the only possible value:null.
 | 
| #define | YAML_BOOL_TAG   "tag:yaml.org,2002:bool" | 
|  | The tag !!boolwith the values:trueandfalce.
 | 
| #define | YAML_STR_TAG   "tag:yaml.org,2002:str" | 
|  | The tag !!strfor string values.
 | 
| #define | YAML_INT_TAG   "tag:yaml.org,2002:int" | 
|  | The tag !!intfor integer values.
 | 
| #define | YAML_FLOAT_TAG   "tag:yaml.org,2002:float" | 
|  | The tag !!floatfor float values.
 | 
| #define | YAML_TIMESTAMP_TAG   "tag:yaml.org,2002:timestamp" | 
|  | The tag !!timestampfor date and time values.
 | 
| #define | YAML_SEQ_TAG   "tag:yaml.org,2002:seq" | 
|  | The tag !!seqis used to denote sequences.
 | 
| #define | YAML_MAP_TAG   "tag:yaml.org,2002:map" | 
|  | The tag !!mapis 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: