Di_parser

## Data Structures

struct | di_parser_info
| Parse info. More...
struct | di_parser_fieldinfo
| Info about a parser field. More...

## Macros

#define | DI_PARSER_FIELDINFO(name, read, write, integer) { { name, sizeof (name) - 1 }, read, write, integer }

## Typedefs

typedef void | di_parser_fields_function_read(void **data, const di_parser_fieldinfo *fip, di_rstring *field_modifier, di_rstring *value, void *user_data)
typedef void | di_parser_fields_function_write_callback(const di_rstring *field, const di_rstring *value, void *data)
typedef void | di_parser_fields_function_write(void **data, const di_parser_fieldinfo *fip, di_parser_fields_function_write_callback callback, void *callback_data, void *user_data)
typedef void * | di_parser_read_entry_new(void *user_data)
typedef int | di_parser_read_entry_finish(void *data, void *user_data)
typedef void * | di_parser_write_entry_next(void **state_data, void *user_data)

## Functions

di_parser_info * | di_parser_info_alloc (void)
void | di_parser_info_free (di_parser_info *info)
void | di_parser_info_add (di_parser_info *info, const di_parser_fieldinfo *fieldinfo[])

## Variables

di_parser_fields_function_read | di_parser_read_boolean
di_parser_fields_function_read | di_parser_read_int
di_parser_fields_function_read | di_parser_read_rstring
di_parser_fields_function_read | di_parser_read_string
di_parser_fields_function_write | di_parser_write_boolean
di_parser_fields_function_write | di_parser_write_int
di_parser_fields_function_write | di_parser_write_rstring
di_parser_fields_function_write | di_parser_write_string

## Detailed Description

## Macro Definition Documentation

## DI_PARSER_FIELDINFO

#define DI_PARSER_FIELDINFO | ( |  | name,
|  |  | read,
|  |  | write,
|  |  | integer
| ) |  | { { name, sizeof (name) - 1 }, read, write, integer }

generates a di_parser_fieldinfo

## Typedef Documentation

## di_parser_fields_function_read

typedef void di_parser_fields_function_read(void **data, const di_parser_fieldinfo *fip, di_rstring *field_modifier, di_rstring *value, void *user_data)

Read a single field

Parameters

  data | the actual data
  fip | info of the actual field
  value | the actual value
  value_size | size of the actual value
  user_data | data supplied to the parser

## di_parser_fields_function_write

typedef void di_parser_fields_function_write(void **data, const di_parser_fieldinfo *fip, di_parser_fields_function_write_callback callback, void *callback_data, void *user_data)

Write a single field

Parameters

  data | the actual data
  fip | info of the actual field
  output | static buffer for output
  user_data | data supplied to the parser

Returns
  written bytes

## di_parser_fields_function_write_callback

typedef void di_parser_fields_function_write_callback(const di_rstring *field, const di_rstring *value, void *data)

Write a single field - callback

Parameters

  field | the field
  value | the value of the field
  data | the callback_data

## di_parser_read_entry_finish

typedef int di_parser_read_entry_finish(void *data, void *user_data)

Parameters

  data | the actual data
  user_data | data supplied to di_parse

## di_parser_read_entry_new

typedef void* di_parser_read_entry_new(void *user_data)

Parameters

  user_data | data supplied to di_parse

Returns
  new data

## di_parser_write_entry_next

typedef void* di_parser_write_entry_next(void **state_data, void *user_data)

Parameters

  data | the actual data
  user_data | data supplied to di_parse

## Variable Documentation

## di_parser_read_boolean

di_parser_fields_function_read di_parser_read_boolean

Read function for a boolean (true == "Yes")

## di_parser_read_int

di_parser_fields_function_read di_parser_read_int

Read function for an int

## di_parser_read_rstring

di_parser_fields_function_read di_parser_read_rstring

Read function for a di_rstring

## di_parser_read_string

di_parser_fields_function_read di_parser_read_string

Read function for a string

## di_parser_write_boolean

di_parser_fields_function_write di_parser_write_boolean

Write function for a boolean ("Yes" == true)

## di_parser_write_int

di_parser_fields_function_write di_parser_write_int

Write function for an int

## di_parser_write_rstring

di_parser_fields_function_write di_parser_write_rstring

Write function for a di_string

## di_parser_write_string

di_parser_fields_function_write di_parser_write_string

Write function for a string