Changeset 178 for libyaml/trunk/include/yaml/yaml.h
- Timestamp:
- 05/26/06 17:46:47 (7 years ago)
- File:
-
- 1 edited
-
libyaml/trunk/include/yaml/yaml.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libyaml/trunk/include/yaml/yaml.h
r172 r178 3 3 * @brief Public interface for libyaml. 4 4 * 5 * Include the header file with 5 * Include the header file with the code: 6 6 * @code 7 7 * #include <yaml/yaml.h> … … 18 18 #include <stdlib.h> 19 19 20 #include "yaml_version.h" 21 #include "yaml_error.h" 22 23 typedef enum { 24 YAML_DETECT_ENCODING, 20 /** 21 * @defgroup version Version Information 22 * @{ 23 */ 24 25 /** 26 * Get the library version as a string. 27 * 28 * @returns The function returns the pointer to a static string of the form 29 * @c "X.Y.Z", where @c X is the major version number, @c Y is a minor version 30 * number, and @c Z is the patch version number. 31 */ 32 33 const char * 34 yaml_get_version_string(void); 35 36 /** 37 * Get the library version numbers. 38 * 39 * @param[out] major Major version number. 40 * @param[out] minor Minor version number. 41 * @param[out] patch Patch version number. 42 */ 43 44 void 45 yaml_get_version(int *major, int *minor, int *patch); 46 47 /** @} */ 48 49 /** 50 * @defgroup basic Basic Types 51 * @{ 52 */ 53 54 /** The character type. */ 55 typedef unsigned char yaml_char_t; 56 57 /** The stream encoding. */ 58 typedef enum { 59 YAML_ANY_ENCODING, 25 60 YAML_UTF8_ENCODING, 26 61 YAML_UTF16LE_ENCODING, 27 62 YAML_UTF16BE_ENCODING 28 63 } yaml_encoding_t; 64 65 /** @} */ 66 67 /* 68 69 typedef enum { 70 YAML_NO_ERROR, 71 72 YAML_MEMORY_ERROR, 73 74 YAML_READER_ERROR, 75 YAML_SCANNER_ERROR, 76 YAML_PARSER_ERROR, 77 78 YAML_WRITER_ERROR, 79 YAML_EMITTER_ERROR 80 } yaml_error_type_t; 29 81 30 82 typedef enum { … … 183 235 } yaml_event_t; 184 236 237 */ 238 239 240 /** 241 * @defgroup parser Parser Definitions 242 * @{ 243 */ 244 245 /** 246 * The prototype of a read handler. 247 * 248 * The read handler is called when the parser needs to read more bytes from the 249 * source. The handler should write not more than @a size bytes to the @a 250 * buffer. The number of written bytes should be set to the @a length variable. 251 * 252 * @param[in] ext A pointer to an application data specified by 253 * @c yaml_parser_set_read_handler. 254 * @param[out] buffer The buffer to write the data from the source. 255 * @param[in] size The size of the buffer. 256 * @param[out] length The actual number of bytes read from the source. 257 * 258 * @returns On success, the handler should return @c 1. If the handler failed, 259 * the returned value should be @c 0. On EOF, the handler should set the 260 * @a length to @c 0 and return @c 1. 261 */ 262 typedef int yaml_read_handler_t(void *ext, yaml_char_t *buffer, size_t size, 263 size_t *length); 264 265 266 /** 267 * The parser structure. 268 * 269 * All members are internal. Manage the structure using the @c yaml_parser_ 270 * family of functions. 271 */ 272 273 typedef struct { 274 275 /** 276 * @name Reader stuff 277 * @{ 278 */ 279 280 /** Read handler */ 281 yaml_read_handler_t *reader; 282 283 /** A pointer for passing to the read handler. */ 284 void *reader_ext; 285 286 /** EOF flag */ 287 int eof; 288 289 /** The pointer to the beginning of the working buffer. */ 290 yaml_char_t *buffer; 291 292 /** The pointer to the current character in the working buffer. */ 293 yaml_char_t *pointer; 294 295 /** The remaining undecoded characters. */ 296 unsigned char *raw_buffer; 297 298 /** The size of the raw buffer. */ 299 size_t raw_buffer_size; 300 301 /** The input encoding. */ 302 yaml_encoding_t encoding; 303 304 /** 305 * @} 306 */ 307 308 } yaml_parser_t; 309 310 /** 311 * Create a new parser. 312 * 313 * This function creates a new parser object. An application is responsible 314 * for destroying the object using the @c yaml_parser_delete function. 315 * 316 * @returns A new parser object; @c NULL on error. 317 */ 318 319 yaml_parser_t * 320 yaml_parser_new(void); 321 322 /** 323 * Destroy a parser. 324 * 325 * @param[in] parser A parser object. 326 */ 327 328 void 329 yaml_parser_delete(yaml_parser_t *parser); 330 331 /** @} */ 332 185 333 /* 186 typedef struct {187 } yaml_parser_t;188 189 334 typedef struct { 190 335 } yaml_emitter_t;
Note: See TracChangeset
for help on using the changeset viewer.
