Data Structures |
| struct | parser |
Defines |
| #define | NDEBUG |
| #define | CONTROL_Z '\x1a' |
| #define | MAX_SECTION_NAME_LEN 255 |
| #define | MAX_FIELD_LEN 511 /* larger fields get silently truncated */ |
| #define | MAX_STRING_LEN (MAX_INF_STRING_LENGTH+1) |
Typedefs |
| typedef const CHAR *(* | parser_state_func )(struct parser *parser, const CHAR *pos) |
Enumerations |
| enum | parser_state {
LINE_START,
SECTION_NAME,
KEY_NAME,
VALUE_NAME,
EOL_BACKSLASH,
QUOTES,
LEADING_SPACES,
TRAILING_SPACES,
COMMENT,
NB_PARSER_STATES,
LINE_START,
SECTION_NAME,
KEY_NAME,
VALUE_NAME,
EOL_BACKSLASH,
QUOTES,
LEADING_SPACES,
TRAILING_SPACES,
COMMENT,
NB_PARSER_STATES,
LINE_START,
SECTION_NAME,
KEY_NAME,
VALUE_NAME,
EOL_BACKSLASH,
QUOTES,
LEADING_SPACES,
TRAILING_SPACES,
COMMENT,
NB_PARSER_STATES,
LINE_START,
SECTION_NAME,
KEY_NAME,
VALUE_NAME,
EOL_BACKSLASH,
QUOTES,
LEADING_SPACES,
TRAILING_SPACES,
COMMENT,
NB_PARSER_STATES
} |
Functions |
| static const CHAR * | line_start_state (struct parser *parser, const CHAR *pos) |
| static const CHAR * | section_name_state (struct parser *parser, const CHAR *pos) |
| static const CHAR * | key_name_state (struct parser *parser, const CHAR *pos) |
| static const CHAR * | value_name_state (struct parser *parser, const CHAR *pos) |
| static const CHAR * | eol_backslash_state (struct parser *parser, const CHAR *pos) |
| static const CHAR * | quotes_state (struct parser *parser, const CHAR *pos) |
| static const CHAR * | leading_spaces_state (struct parser *parser, const CHAR *pos) |
| static const CHAR * | trailing_spaces_state (struct parser *parser, const CHAR *pos) |
| static const CHAR * | comment_state (struct parser *parser, const CHAR *pos) |
| static PINFCACHELINE | InfpFreeLine (PINFCACHELINE Line) |
| PINFCACHESECTION | InfpFreeSection (PINFCACHESECTION Section) |
| PINFCACHESECTION | InfpFindSection (PINFCACHE Cache, PCTSTR Name) |
| PINFCACHESECTION | InfpAddSection (PINFCACHE Cache, PCTSTR Name) |
| PINFCACHELINE | InfpAddLine (PINFCACHESECTION Section) |
| PVOID | InfpAddKeyToLine (PINFCACHELINE Line, PCTSTR Key) |
| PVOID | InfpAddFieldToLine (PINFCACHELINE Line, PCTSTR Data) |
| PINFCACHELINE | InfpFindKeyLine (PINFCACHESECTION Section, PCTSTR Key) |
| static __inline void | push_state (struct parser *parser, enum parser_state state) |
| static __inline void | pop_state (struct parser *parser) |
| static __inline enum parser_state | set_state (struct parser *parser, enum parser_state state) |
| static __inline int | is_eof (struct parser *parser, const CHAR *ptr) |
| static __inline int | is_eol (struct parser *parser, const CHAR *ptr) |
| static int | push_token (struct parser *parser, const CHAR *pos) |
| static PVOID | add_section_from_token (struct parser *parser) |
| static struct field * | add_field_from_token (struct parser *parser, int is_key) |
| static void | close_current_line (struct parser *parser) |
| INFSTATUS | InfpParseBuffer (PINFCACHE file, const CHAR *buffer, const CHAR *end, PULONG error_line) |
Variables |
| static const parser_state_func | parser_funcs [NB_PARSER_STATES] |