Data Structures | Defines | Typedefs | Enumerations

ext/syck/yamlbyte.h File Reference

#include <stddef.h>
Include dependency graph for yamlbyte.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  yaml_instruction

Defines

#define YAMLBYTE_FINISH   ((yamlbyte_char_t) 0)
#define YAMLBYTE_DOCUMENT   ((yamlbyte_char_t)'D')
#define YAMLBYTE_DIRECTIVE   ((yamlbyte_char_t)'V')
#define YAMLBYTE_PAUSE   ((yamlbyte_char_t)'P')
#define YAMLBYTE_MAPPING   ((yamlbyte_char_t)'M')
#define YAMLBYTE_SEQUENCE   ((yamlbyte_char_t)'Q')
#define YAMLBYTE_END_BRANCH   ((yamlbyte_char_t)'E')
#define YAMLBYTE_SCALAR   ((yamlbyte_char_t)'S')
#define YAMLBYTE_CONTINUE   ((yamlbyte_char_t)'C')
#define YAMLBYTE_NEWLINE   ((yamlbyte_char_t)'N')
#define YAMLBYTE_NULLCHAR   ((yamlbyte_char_t)'Z')
#define YAMLBYTE_ANCHOR   ((yamlbyte_char_t)'A')
#define YAMLBYTE_ALIAS   ((yamlbyte_char_t)'R')
#define YAMLBYTE_TRANSFER   ((yamlbyte_char_t)'T')
#define YAMLBYTE_COMMENT   ((yamlbyte_char_t)'c')
#define YAMLBYTE_INDENT   ((yamlbyte_char_t)'i')
#define YAMLBYTE_STYLE   ((yamlbyte_char_t)'s')
#define YAMLBYTE_LINE_NUMBER   ((yamlbyte_char_t)'#')
#define YAMLBYTE_WHOLE_SCALAR   ((yamlbyte_char_t)'<')
#define YAMLBYTE_NOTICE   ((yamlbyte_char_t)'!')
#define YAMLBYTE_SPAN   ((yamlbyte_char_t)')')
#define YAMLBYTE_ALLOC   ((yamlbyte_char_t)'@')
#define YAMLBYTE_FLOW   ((yamlbyte_char_t)'>')
#define YAMLBYTE_LITERAL   ((yamlbyte_char_t)'|')
#define YAMLBYTE_BLOCK   ((yamlbyte_char_t)'b')
#define YAMLBYTE_PLAIN   ((yamlbyte_char_t)'p')
#define YAMLBYTE_INLINE_MAPPING   ((yamlbyte_char_t)'{')
#define YAMLBYTE_INLINE_SEQUENCE   ((yamlbyte_char_t)'[')
#define YAMLBYTE_SINGLE_QUOTED   ((yamlbyte_char_t)39)
#define YAMLBYTE_DOUBLE_QUOTED   ((yamlbyte_char_t)'"')
#define YAMLBYTE_PULL2PUSH(pull, producer, push, consumer, result)

Typedefs

typedef unsigned char yamlbyte_utf8_t
typedef unsigned short yamlbyte_utf16_t
typedef void * yamlbyte_consumer_t
typedef void * yamlbyte_producer_t
typedef const yamlbyte_char_t * yamlbyte_buff_t
typedef struct yaml_instructionyamlbyte_inst_t
typedef yamlbyte_result_t(* yamlbyte_push_t )(yamlbyte_consumer_t self, yamlbyte_inst_t inst)
typedef yamlbyte_result_t(* yamlbyte_pull_t )(yamlbyte_producer_t self, yamlbyte_inst_t *inst)
typedef yamlbyte_result_t(* yamlbyte_pushbuff_t )(yamlbyte_consumer_t self, yamlbyte_buff_t buff)
typedef yamlbyte_result_t(* yamlbyte_pullbuff_t )(yamlbyte_producer_t self, yamlbyte_buff_t *buff)

Enumerations

enum  yamlbyte_result_t {
  YAMLBYTE_OK = 0, YAMLBYTE_E_MEMORY = 'M', YAMLBYTE_E_READ = 'R', YAMLBYTE_E_WRITE = 'W',
  YAMLBYTE_E_OTHER = '?', YAMLBYTE_E_PARSE = 'P', YAMLBYTE_MAX
}

Define Documentation

#define YAMLBYTE_ALIAS   ((yamlbyte_char_t)'R')

Definition at line 41 of file yamlbyte.h.

Referenced by bytestring_extend().

#define YAMLBYTE_ALLOC   ((yamlbyte_char_t)'@')

Definition at line 52 of file yamlbyte.h.

#define YAMLBYTE_ANCHOR   ((yamlbyte_char_t)'A')

Definition at line 40 of file yamlbyte.h.

Referenced by bytestring_extend(), and syck_yaml2byte_handler().

#define YAMLBYTE_BLOCK   ((yamlbyte_char_t)'b')

Definition at line 57 of file yamlbyte.h.

#define YAMLBYTE_COMMENT   ((yamlbyte_char_t)'c')

Definition at line 44 of file yamlbyte.h.

#define YAMLBYTE_CONTINUE   ((yamlbyte_char_t)'C')

Definition at line 37 of file yamlbyte.h.

#define YAMLBYTE_DIRECTIVE   ((yamlbyte_char_t)'V')

Definition at line 31 of file yamlbyte.h.

#define YAMLBYTE_DOCUMENT   ((yamlbyte_char_t)'D')

Definition at line 30 of file yamlbyte.h.

#define YAMLBYTE_DOUBLE_QUOTED   ((yamlbyte_char_t)'"')

Definition at line 62 of file yamlbyte.h.

#define YAMLBYTE_END_BRANCH   ((yamlbyte_char_t)'E')

Definition at line 35 of file yamlbyte.h.

Referenced by syck_yaml2byte_handler().

#define YAMLBYTE_FINISH   ((yamlbyte_char_t) 0)

Definition at line 29 of file yamlbyte.h.

#define YAMLBYTE_FLOW   ((yamlbyte_char_t)'>')

Definition at line 55 of file yamlbyte.h.

#define YAMLBYTE_INDENT   ((yamlbyte_char_t)'i')

Definition at line 45 of file yamlbyte.h.

#define YAMLBYTE_INLINE_MAPPING   ((yamlbyte_char_t)'{')

Definition at line 59 of file yamlbyte.h.

#define YAMLBYTE_INLINE_SEQUENCE   ((yamlbyte_char_t)'[')

Definition at line 60 of file yamlbyte.h.

#define YAMLBYTE_LINE_NUMBER   ((yamlbyte_char_t)'#')

Definition at line 48 of file yamlbyte.h.

#define YAMLBYTE_LITERAL   ((yamlbyte_char_t)'|')

Definition at line 56 of file yamlbyte.h.

#define YAMLBYTE_MAPPING   ((yamlbyte_char_t)'M')

Definition at line 33 of file yamlbyte.h.

Referenced by syck_yaml2byte_handler().

#define YAMLBYTE_NEWLINE   ((yamlbyte_char_t)'N')

Definition at line 38 of file yamlbyte.h.

Referenced by syck_yaml2byte_handler().

#define YAMLBYTE_NOTICE   ((yamlbyte_char_t)'!')

Definition at line 50 of file yamlbyte.h.

#define YAMLBYTE_NULLCHAR   ((yamlbyte_char_t)'Z')

Definition at line 39 of file yamlbyte.h.

Referenced by syck_yaml2byte_handler().

#define YAMLBYTE_PAUSE   ((yamlbyte_char_t)'P')

Definition at line 32 of file yamlbyte.h.

#define YAMLBYTE_PLAIN   ((yamlbyte_char_t)'p')

Definition at line 58 of file yamlbyte.h.

#define YAMLBYTE_PULL2PUSH (   pull,
  producer,
  push,
  consumer,
  result 
)
Value:
do {                                                         \
        yamlbyte_pullbuff_t _pull = (pull);                              \
        yamlbyte_pushbuff_t _push = (push);                              \
        yamlbyte_result_t _result = YAMLBYTE_OK;                         \
        yamlbyte_producer_t _producer = (producer);                  \
        yamlbyte_consumer_t _consumer = (consumer);                  \
        while(1) {                                               \
            yamlbyte_buff_t buff = NULL;                           \
            _result = _pull(_producer,&buff);                    \
            if(YAMLBYTE_OK != result || NULL == buff)                \
                break;                                           \
            _result = _push(_consumer,buff);                     \
            if(YAMLBYTE_OK != result)                                \
                break;                                           \
        }                                                        \
        (result) = _result;                                      \
    } while(0)

Definition at line 152 of file yamlbyte.h.

#define YAMLBYTE_SCALAR   ((yamlbyte_char_t)'S')

Definition at line 36 of file yamlbyte.h.

#define YAMLBYTE_SEQUENCE   ((yamlbyte_char_t)'Q')

Definition at line 34 of file yamlbyte.h.

Referenced by syck_yaml2byte_handler().

#define YAMLBYTE_SINGLE_QUOTED   ((yamlbyte_char_t)39)

Definition at line 61 of file yamlbyte.h.

#define YAMLBYTE_SPAN   ((yamlbyte_char_t)')')

Definition at line 51 of file yamlbyte.h.

#define YAMLBYTE_STYLE   ((yamlbyte_char_t)'s')

Definition at line 46 of file yamlbyte.h.

#define YAMLBYTE_TRANSFER   ((yamlbyte_char_t)'T')

Definition at line 42 of file yamlbyte.h.

Referenced by syck_yaml2byte_handler().

#define YAMLBYTE_WHOLE_SCALAR   ((yamlbyte_char_t)'<')

Definition at line 49 of file yamlbyte.h.


Typedef Documentation

typedef const yamlbyte_char_t* yamlbyte_buff_t

Definition at line 88 of file yamlbyte.h.

typedef void* yamlbyte_consumer_t

Definition at line 74 of file yamlbyte.h.

typedef void* yamlbyte_producer_t

Definition at line 75 of file yamlbyte.h.

Definition at line 118 of file yamlbyte.h.

Definition at line 145 of file yamlbyte.h.

Definition at line 105 of file yamlbyte.h.

Definition at line 132 of file yamlbyte.h.

typedef unsigned short yamlbyte_utf16_t

Definition at line 14 of file yamlbyte.h.

typedef unsigned char yamlbyte_utf8_t

Definition at line 13 of file yamlbyte.h.


Enumeration Type Documentation

Enumerator:
YAMLBYTE_OK 
YAMLBYTE_E_MEMORY 
YAMLBYTE_E_READ 
YAMLBYTE_E_WRITE 
YAMLBYTE_E_OTHER 
YAMLBYTE_E_PARSE 
YAMLBYTE_MAX 

Definition at line 78 of file yamlbyte.h.