NimYAML/bench/lib/libyaml.nim

577 lines
21 KiB
Nim

# This code is taken from https://github.com/nimlets/nimlets
# and has been slightly modified to fit our needs.
type
yaml_version_directive_t* = object
major*: cint
minor*: cint
type
yaml_tag_directive_t* = object
handle*: cstring
prefix*: cstring
type
yaml_encoding_t* {.size: sizeof(cint).} = enum
YAML_ANY_ENCODING,
YAML_UTF8_ENCODING,
YAML_UTF16LE_ENCODING,
YAML_UTF16BE_ENCODING
type
yaml_break_t* {.size: sizeof(cint).} = enum
YAML_ANY_BREAK,
YAML_CR_BREAK,
YAML_LN_BREAK,
YAML_CRLN_BREAK
type
yaml_error_type_t* {.size: sizeof(cint).} = enum
YAML_NO_ERROR,
YAML_MEMORY_ERROR,
YAML_READER_ERROR,
YAML_SCANNER_ERROR,
YAML_PARSER_ERROR,
YAML_COMPOSER_ERROR,
YAML_WRITER_ERROR,
YAML_EMITTER_ERROR
type
yaml_mark_t* = object
index*: csize
line*: csize
column*: csize
type
yaml_scalar_style_t* {.size: sizeof(cint).} = enum
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
type
yaml_sequence_style_t* {.size: sizeof(cint).} = enum
YAML_ANY_SEQUENCE_STYLE,
YAML_BLOCK_SEQUENCE_STYLE,
YAML_FLOW_SEQUENCE_STYLE
type
yaml_mapping_style_t* {.size: sizeof(cint).} = enum
YAML_ANY_MAPPING_STYLE,
YAML_BLOCK_MAPPING_STYLE,
YAML_FLOW_MAPPING_STYLE
type
yaml_token_type_t* {.size: sizeof(cint).} = enum
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
type
INNER_C_STRUCT_9581966235636552858* = object
encoding*: yaml_encoding_t
INNER_C_STRUCT_1221667129857401972* = object
value*: cstring
INNER_C_STRUCT_3317256698323717696* = object
value*: cstring
INNER_C_STRUCT_5441002398333014240* = object
handle*: cstring
suffix*: cstring
INNER_C_STRUCT_7453632048426669727* = object
value*: cstring
length*: csize
style*: yaml_scalar_style_t
INNER_C_STRUCT_9783180209656813162* = object
major*: cint
minor*: cint
INNER_C_STRUCT_13940099295483927389* = object
handle*: cstring
prefix*: cstring
INNER_C_UNION_9404448031707501477* = object {.union.}
stream_start*: INNER_C_STRUCT_9581966235636552858
alias*: INNER_C_STRUCT_1221667129857401972
anchor*: INNER_C_STRUCT_3317256698323717696
tag*: INNER_C_STRUCT_5441002398333014240
scalar*: INNER_C_STRUCT_7453632048426669727
version_directive*: INNER_C_STRUCT_9783180209656813162
tag_directive*: INNER_C_STRUCT_13940099295483927389
yaml_token_t* = object
typ*: yaml_token_type_t
data*: INNER_C_UNION_9404448031707501477
start_mark*: yaml_mark_t
end_mark*: yaml_mark_t
type
yaml_event_type_t* {.size: sizeof(cint).} = enum
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
type
INNER_C_STRUCT_12590518896704616971* = object
encoding*: yaml_encoding_t
INNER_C_STRUCT_2667561393214118032* = object
start*: ptr yaml_tag_directive_t
endd*: ptr yaml_tag_directive_t
INNER_C_STRUCT_8611624117794791642* = object
version_directive*: ptr yaml_version_directive_t
tag_directives*: INNER_C_STRUCT_2667561393214118032
implicit*: cint
INNER_C_STRUCT_6989068223488568623* = object
implicit*: cint
INNER_C_STRUCT_12004643997943399240* = object
anchor*: cstring
INNER_C_STRUCT_14974408632587267100* = object
anchor*: cstring
tag*: cstring
value*: cstring
length*: csize
plain_implicit*: cint
quoted_implicit*: cint
style*: yaml_scalar_style_t
INNER_C_STRUCT_17970865806594553108* = object
anchor*: cstring
tag*: cstring
implicit*: cint
style*: yaml_sequence_style_t
INNER_C_STRUCT_1674767092908407322* = object
anchor*: cstring
tag*: cstring
implicit*: cint
style*: yaml_mapping_style_t
INNER_C_UNION_14299011587659785980* = object {.union.}
stream_start*: INNER_C_STRUCT_12590518896704616971
document_start*: INNER_C_STRUCT_8611624117794791642
document_endd*: INNER_C_STRUCT_6989068223488568623
alias*: INNER_C_STRUCT_12004643997943399240
scalar*: INNER_C_STRUCT_14974408632587267100
sequence_start*: INNER_C_STRUCT_17970865806594553108
mapping_start*: INNER_C_STRUCT_1674767092908407322
yaml_event_t* = object
typ*: yaml_event_type_t
data*: INNER_C_UNION_14299011587659785980
start_mark*: yaml_mark_t
end_mark*: yaml_mark_t
const YAML_NULL_TAG* = "tag:yaml.org,2002:null"
const YAML_BOOL_TAG* = "tag:yaml.org,2002:bool"
const YAML_STR_TAG* = "tag:yaml.org,2002:str"
const YAML_INT_TAG* = "tag:yaml.org,2002:int"
const YAML_FLOAT_TAG* = "tag:yaml.org,2002:float"
const YAML_TIMESTAMP_TAG* = "tag:yaml.org,2002:timestamp"
const YAML_SEQ_TAG* = "tag:yaml.org,2002:seq"
const YAML_MAP_TAG* = "tag:yaml.org,2002:map"
const YAML_DEFAULT_SCALAR_TAG* = YAML_STR_TAG
const YAML_DEFAULT_SEQUENCE_TAG* = YAML_SEQ_TAG
const YAML_DEFAULT_MAPPING_TAG* = YAML_MAP_TAG
var YAML_VNULL_TAG* = "tag:yaml.org,2002:null"
var YAML_VBOOL_TAG* = "tag:yaml.org,2002:bool"
var YAML_VSTR_TAG* = "tag:yaml.org,2002:str"
var YAML_VINT_TAG* = "tag:yaml.org,2002:int"
var YAML_VFLOAT_TAG* = "tag:yaml.org,2002:float"
var YAML_VTIMESTAMP_TAG* = "tag:yaml.org,2002:timestamp"
var YAML_VSEQ_TAG* = "tag:yaml.org,2002:seq"
var YAML_VMAP_TAG* = "tag:yaml.org,2002:map"
var YAML_VDEFAULT_SCALAR_TAG* = YAML_STR_TAG
var YAML_VDEFAULT_SEQUENCE_TAG* = YAML_SEQ_TAG
var YAML_VDEFAULT_MAPPING_TAG* = YAML_MAP_TAG
type
yaml_node_type_t* {.size: sizeof(cint).} = enum
YAML_NO_NODE,
YAML_SCALAR_NODE,
YAML_SEQUENCE_NODE,
YAML_MAPPING_NODE
yaml_node_t* = yaml_node_s
yaml_node_item_t* = cint
yaml_node_pair_t* = object
key*: cint
value*: cint
INNER_C_STRUCT_2771607800107246221* = object
value*: cstring
length*: csize
style*: yaml_scalar_style_t
INNER_C_STRUCT_16176656515014249903* = object
start*: ptr yaml_node_item_t
endd*: ptr yaml_node_item_t
top*: ptr yaml_node_item_t
INNER_C_STRUCT_17512274596170441087* = object
items*: INNER_C_STRUCT_16176656515014249903
style*: yaml_sequence_style_t
INNER_C_STRUCT_6534273983681155882* = object
start*: ptr yaml_node_pair_t
endd*: ptr yaml_node_pair_t
top*: ptr yaml_node_pair_t
INNER_C_STRUCT_11518003446976276318* = object
pairs*: INNER_C_STRUCT_6534273983681155882
style*: yaml_mapping_style_t
INNER_C_UNION_9402779093446787060* = object {.union.}
scalar*: INNER_C_STRUCT_2771607800107246221
sequence*: INNER_C_STRUCT_17512274596170441087
mapping*: INNER_C_STRUCT_11518003446976276318
yaml_node_s* = object
typ*: yaml_node_type_t
tag*: cstring
data*: INNER_C_UNION_9402779093446787060
start_mark*: yaml_mark_t
end_mark*: yaml_mark_t
type
INNER_C_STRUCT_2411546260517137131* = object
start*: ptr yaml_node_t
endd*: ptr yaml_node_t
top*: ptr yaml_node_t
INNER_C_STRUCT_4991458144178661981* = object
start*: ptr yaml_tag_directive_t
endd*: ptr yaml_tag_directive_t
yaml_document_t* = object
nodes*: INNER_C_STRUCT_2411546260517137131
version_directive*: ptr yaml_version_directive_t
tag_directives*: INNER_C_STRUCT_4991458144178661981
start_implicit*: cint
end_implicit*: cint
start_mark*: yaml_mark_t
end_mark*: yaml_mark_t
type
yaml_read_handler_t* = proc (data: pointer; buffer: cstring; size: csize;
size_read: ptr csize): cint
type
yaml_simple_key_t* = object
possible*: cint
required*: cint
token_number*: csize
mark*: yaml_mark_t
type
yaml_parser_state_t* {.size: sizeof(cint).} = enum
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
type
yaml_alias_data_t* = object
anchor*: cstring
index*: cint
mark*: yaml_mark_t
type
INNER_C_STRUCT_16371464751651700497* = object
start*: cstring
endd*: cstring
current*: cstring
INNER_C_UNION_14844535658673536178* = object {.union.}
string*: INNER_C_STRUCT_16371464751651700497
file*: ptr FILE
INNER_C_STRUCT_5449995434778144246* = object
start*: cstring
endd*: cstring
pointer*: cstring
last*: cstring
INNER_C_STRUCT_1533468219873624615* = object
start*: cstring
endd*: cstring
pointer*: cstring
last*: cstring
INNER_C_STRUCT_12302340786945222376* = object
start*: ptr yaml_token_t
endd*: ptr yaml_token_t
head*: ptr yaml_token_t
tail*: ptr yaml_token_t
INNER_C_STRUCT_6311148685867902540* = object
start*: ptr cint
endd*: ptr cint
top*: ptr cint
INNER_C_STRUCT_6741121270717550011* = object
start*: ptr yaml_simple_key_t
endd*: ptr yaml_simple_key_t
top*: ptr yaml_simple_key_t
INNER_C_STRUCT_14987939425048783309* = object
start*: ptr yaml_parser_state_t
endd*: ptr yaml_parser_state_t
top*: ptr yaml_parser_state_t
INNER_C_STRUCT_11595967245106118857* = object
start*: ptr yaml_mark_t
endd*: ptr yaml_mark_t
top*: ptr yaml_mark_t
INNER_C_STRUCT_426684507395569091* = object
start*: ptr yaml_tag_directive_t
endd*: ptr yaml_tag_directive_t
top*: ptr yaml_tag_directive_t
INNER_C_STRUCT_7828170433486051057* = object
start*: ptr yaml_alias_data_t
endd*: ptr yaml_alias_data_t
top*: ptr yaml_alias_data_t
yaml_parser_t* = object
error*: yaml_error_type_t
problem*: cstring
problem_offset*: csize
problem_value*: cint
problem_mark*: yaml_mark_t
context*: cstring
context_mark*: yaml_mark_t
read_handler*: ptr yaml_read_handler_t
read_handler_data*: pointer
input*: INNER_C_UNION_14844535658673536178
eof*: cint
buffer*: INNER_C_STRUCT_5449995434778144246
unread*: csize
raw_buffer*: INNER_C_STRUCT_1533468219873624615
encoding*: yaml_encoding_t
offset*: csize
mark*: yaml_mark_t
stream_start_produced*: cint
stream_end_produced*: cint
flow_level*: cint
tokens*: INNER_C_STRUCT_12302340786945222376
tokens_parsed*: csize
token_available*: cint
indents*: INNER_C_STRUCT_6311148685867902540
indent*: cint
simple_key_allowed*: cint
simple_keys*: INNER_C_STRUCT_6741121270717550011
states*: INNER_C_STRUCT_14987939425048783309
state*: yaml_parser_state_t
marks*: INNER_C_STRUCT_11595967245106118857
tag_directives*: INNER_C_STRUCT_426684507395569091
aliases*: INNER_C_STRUCT_7828170433486051057
document*: ptr yaml_document_t
type
yaml_write_handler_t* = proc (data: pointer; buffer: cstring; size: csize): cint
type
yaml_emitter_state_t* {.size: sizeof(cint).} = enum
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
type
INNER_C_STRUCT_12749614999235445465* = object
buffer*: cstring
size*: csize
size_written*: ptr csize
INNER_C_UNION_12199099344959672631* = object {.union.}
string*: INNER_C_STRUCT_12749614999235445465
file*: ptr FILE
INNER_C_STRUCT_12563198298657885016* = object
start*: cstring
endd*: cstring
pointer*: cstring
last*: cstring
INNER_C_STRUCT_2333930655588273530* = object
start*: cstring
endd*: cstring
pointer*: cstring
last*: cstring
INNER_C_STRUCT_3757196451896818589* = object
start*: ptr yaml_emitter_state_t
endd*: ptr yaml_emitter_state_t
top*: ptr yaml_emitter_state_t
INNER_C_STRUCT_394143963162845597* = object
start*: ptr yaml_event_t
endd*: ptr yaml_event_t
head*: ptr yaml_event_t
tail*: ptr yaml_event_t
INNER_C_STRUCT_16850922517203281724* = object
start*: ptr cint
endd*: ptr cint
top*: ptr cint
INNER_C_STRUCT_12260090914027529514* = object
start*: ptr yaml_tag_directive_t
endd*: ptr yaml_tag_directive_t
top*: ptr yaml_tag_directive_t
INNER_C_STRUCT_1556210231363541236* = object
anchor*: cstring
anchor_length*: csize
alias*: cint
INNER_C_STRUCT_17739845129940504956* = object
handle*: cstring
handle_length*: csize
suffix*: cstring
suffix_length*: csize
INNER_C_STRUCT_2932767511639488752* = object
value*: cstring
length*: csize
multiline*: cint
flow_plain_allowed*: cint
block_plain_allowed*: cint
single_quoted_allowed*: cint
block_allowed*: cint
style*: yaml_scalar_style_t
INNER_C_STRUCT_11864533033166503222* = object
references*: cint
anchor*: cint
serialized*: cint
yaml_emitter_t* = object
error*: yaml_error_type_t
problem*: cstring
write_handler*: ptr yaml_write_handler_t
write_handler_data*: pointer
output*: INNER_C_UNION_12199099344959672631
buffer*: INNER_C_STRUCT_12563198298657885016
raw_buffer*: INNER_C_STRUCT_2333930655588273530
encoding*: yaml_encoding_t
canonical*: cint
best_indent*: cint
best_width*: cint
unicode*: cint
line_break*: yaml_break_t
states*: INNER_C_STRUCT_3757196451896818589
state*: yaml_emitter_state_t
events*: INNER_C_STRUCT_394143963162845597
indents*: INNER_C_STRUCT_16850922517203281724
tag_directives*: INNER_C_STRUCT_12260090914027529514
indent*: cint
flow_level*: cint
root_context*: cint
sequence_context*: cint
mapping_context*: cint
simple_key_context*: cint
line*: cint
column*: cint
whitespace*: cint
indention*: cint
open_ended*: cint
anchor_data*: INNER_C_STRUCT_1556210231363541236
tag_data*: INNER_C_STRUCT_17739845129940504956
scalar_data*: INNER_C_STRUCT_2932767511639488752
opened*: cint
closed*: cint
anchors*: ptr INNER_C_STRUCT_11864533033166503222
last_anchor_id*: cint
document*: ptr yaml_document_t
{.push importc, cdecl.}
proc yaml_get_version_string*(): cstring
proc yaml_get_version*(major: ptr cint; minor: ptr cint; patch: ptr cint)
proc yaml_token_delete*(token: ptr yaml_token_t)
proc yaml_stream_start_event_initialize*(event: ptr yaml_event_t;
encoding: yaml_encoding_t): cint
proc yaml_stream_end_event_initialize*(event: ptr yaml_event_t): cint
proc yaml_document_start_event_initialize*(event: ptr yaml_event_t;
version_directive: ptr yaml_version_directive_t;
tag_directives_start: ptr yaml_tag_directive_t;
tag_directives_end: ptr yaml_tag_directive_t; implicit: cint): cint
proc yaml_document_end_event_initialize*(event: ptr yaml_event_t; implicit: cint): cint
proc yaml_alias_event_initialize*(event: ptr yaml_event_t;
anchor: cstring): cint
proc yaml_scalar_event_initialize*(event: ptr yaml_event_t;
anchor: cstring;
tag: cstring; value: cstring;
length: cint; plain_implicit: cint;
quoted_implicit: cint;
style: yaml_scalar_style_t): cint
proc yaml_sequence_start_event_initialize*(event: ptr yaml_event_t;
anchor: cstring; tag: cstring; implicit: cint;
style: yaml_sequence_style_t): cint
proc yaml_sequence_end_event_initialize*(event: ptr yaml_event_t): cint
proc yaml_mapping_start_event_initialize*(event: ptr yaml_event_t;
anchor: cstring; tag: cstring; implicit: cint;
style: yaml_mapping_style_t): cint
proc yaml_mapping_end_event_initialize*(event: ptr yaml_event_t): cint
proc yaml_event_delete*(event: ptr yaml_event_t)
proc yaml_document_initialize*(document: ptr yaml_document_t;
version_directive: ptr yaml_version_directive_t;
tag_directives_start: ptr yaml_tag_directive_t;
tag_directives_end: ptr yaml_tag_directive_t;
start_implicit: cint; end_implicit: cint): cint
proc yaml_document_delete*(document: ptr yaml_document_t)
proc yaml_document_get_node*(document: ptr yaml_document_t; index: cint): ptr yaml_node_t
proc yaml_document_get_root_node*(document: ptr yaml_document_t): ptr yaml_node_t
proc yaml_document_add_scalar*(document: ptr yaml_document_t;
tag: cstring; value: cstring;
length: cint; style: yaml_scalar_style_t): cint
proc yaml_document_add_sequence*(document: ptr yaml_document_t;
tag: cstring;
style: yaml_sequence_style_t): cint
proc yaml_document_add_mapping*(document: ptr yaml_document_t;
tag: cstring;
style: yaml_mapping_style_t): cint
proc yaml_document_append_sequence_item*(document: ptr yaml_document_t;
sequence: cint; item: cint): cint
proc yaml_document_append_mapping_pair*(document: ptr yaml_document_t;
mapping: cint; key: cint; value: cint): cint
proc yaml_parser_initialize*(parser: ptr yaml_parser_t): cint
proc yaml_parser_delete*(parser: ptr yaml_parser_t)
proc yaml_parser_set_input_string*(parser: ptr yaml_parser_t; input: cstring;
size: csize)
proc yaml_parser_set_input_file*(parser: ptr yaml_parser_t; file: ptr FILE)
proc yaml_parser_set_input*(parser: ptr yaml_parser_t;
handler: ptr yaml_read_handler_t; data: pointer)
proc yaml_parser_set_encoding*(parser: ptr yaml_parser_t;
encoding: yaml_encoding_t)
proc yaml_parser_scan*(parser: ptr yaml_parser_t; token: ptr yaml_token_t): cint
proc yaml_parser_parse*(parser: ptr yaml_parser_t; event: ptr yaml_event_t): cint
proc yaml_parser_load*(parser: ptr yaml_parser_t; document: ptr yaml_document_t): cint
proc yaml_emitter_initialize*(emitter: ptr yaml_emitter_t): cint
proc yaml_emitter_delete*(emitter: ptr yaml_emitter_t)
proc yaml_emitter_set_output_string*(emitter: ptr yaml_emitter_t;
output: cstring; size: csize;
size_written: ptr csize)
proc yaml_emitter_set_output_file*(emitter: ptr yaml_emitter_t; file: ptr FILE)
proc yaml_emitter_set_output*(emitter: ptr yaml_emitter_t;
handler: ptr yaml_write_handler_t; data: pointer)
proc yaml_emitter_set_encoding*(emitter: ptr yaml_emitter_t;
encoding: yaml_encoding_t)
proc yaml_emitter_set_canonical*(emitter: ptr yaml_emitter_t; canonical: cint)
proc yaml_emitter_set_indent*(emitter: ptr yaml_emitter_t; indent: cint)
proc yaml_emitter_set_width*(emitter: ptr yaml_emitter_t; width: cint)
proc yaml_emitter_set_unicode*(emitter: ptr yaml_emitter_t; unicode: cint)
proc yaml_emitter_set_break*(emitter: ptr yaml_emitter_t;
line_break: yaml_break_t)
proc yaml_emitter_emit*(emitter: ptr yaml_emitter_t; event: ptr yaml_event_t): cint
proc yaml_emitter_open*(emitter: ptr yaml_emitter_t): cint
proc yaml_emitter_close*(emitter: ptr yaml_emitter_t): cint
proc yaml_emitter_dump*(emitter: ptr yaml_emitter_t;
document: ptr yaml_document_t): cint
proc yaml_emitter_flush*(emitter: ptr yaml_emitter_t): cint
{.pop.}
when system.hostOS == "linux":
{.link: "/usr/lib/x86_64-linux-gnu/libyaml-0.so.2".}
elif system.hostOS == "macosx":
{.link: "/Users/flyx/.nix-profile/lib/libyaml-0.2.dylib"}