* @brief Public interface for libyaml.
- * Include the header file with
+ * Include the header file with
+ * @defgroup version Version Information
+ * Get the library version as a string.
+ * @returns The function returns the pointer to a static string of the form
+ * @c "X.Y.Z", where @c X is the major version number, @c Y is a minor version
+ * number, and @c Z is the patch version number.
+ * Get the library version numbers.
+ * @param[out] major Major version number.
+ * @param[out] minor Minor version number.
+ * @param[out] patch Patch version number.
+yaml_get_version(int *major, int *minor, int *patch);
+ * @defgroup basic Basic Types
+/** The character type. */
+typedef unsigned char yaml_char_t;
+/** The stream encoding. */
+ * @defgroup parser Parser Definitions
+ * The prototype of a read handler.
+ * The read handler is called when the parser needs to read more bytes from the
+ * source. The handler should write not more than @a size bytes to the @a
+ * buffer. The number of written bytes should be set to the @a length variable.
+ * @param[in] ext A pointer to an application data specified by
+ * @c yaml_parser_set_read_handler.
+ * @param[out] buffer The buffer to write the data from the source.
+ * @param[in] size The size of the buffer.
+ * @param[out] length The actual number of bytes read from the source.
+ * @returns On success, the handler should return @c 1. If the handler failed,
+ * the returned value should be @c 0. On EOF, the handler should set the
+ * @a length to @c 0 and return @c 1.
+typedef int yaml_read_handler_t(void *ext, yaml_char_t *buffer, size_t size,
+ * The parser structure.
+ * All members are internal. Manage the structure using the @c yaml_parser_
+ yaml_read_handler_t *reader;
+ /** A pointer for passing to the read handler. */
+ /** The pointer to the beginning of the working buffer. */
+ /** The pointer to the current character in the working buffer. */
+ /** The remaining undecoded characters. */
+ unsigned char *raw_buffer;
+ /** The size of the raw buffer. */
+ size_t raw_buffer_size;
+ /** The input encoding. */
+ yaml_encoding_t encoding;
+ * This function creates a new parser object. An application is responsible
+ * for destroying the object using the @c yaml_parser_delete function.
+ * @returns A new parser object; @c NULL on error.
+ * @param[in] parser A parser object.