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 WCHAR *(* | parser_state_func )(struct parser *parser, const WCHAR *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 WCHAR * | line_start_state (struct parser *parser, const WCHAR *pos) |
| static const WCHAR * | section_name_state (struct parser *parser, const WCHAR *pos) |
| static const WCHAR * | key_name_state (struct parser *parser, const WCHAR *pos) |
| static const WCHAR * | value_name_state (struct parser *parser, const WCHAR *pos) |
| static const WCHAR * | eol_backslash_state (struct parser *parser, const WCHAR *pos) |
| static const WCHAR * | quotes_state (struct parser *parser, const WCHAR *pos) |
| static const WCHAR * | leading_spaces_state (struct parser *parser, const WCHAR *pos) |
| static const WCHAR * | trailing_spaces_state (struct parser *parser, const WCHAR *pos) |
| static const WCHAR * | comment_state (struct parser *parser, const WCHAR *pos) |
| static PINFCACHELINE | InfpFreeLine (PINFCACHELINE Line) |
| PINFCACHESECTION | InfpFreeSection (PINFCACHESECTION Section) |
| PINFCACHESECTION | InfpFindSection (PINFCACHE Cache, PCWSTR Name) |
| PINFCACHESECTION | InfpAddSection (PINFCACHE Cache, PCWSTR Name) |
| PINFCACHELINE | InfpAddLine (PINFCACHESECTION Section) |
| PVOID | InfpAddKeyToLine (PINFCACHELINE Line, PCWSTR Key) |
| PVOID | InfpAddFieldToLine (PINFCACHELINE Line, PCWSTR Data) |
| PINFCACHELINE | InfpFindKeyLine (PINFCACHESECTION Section, PCWSTR 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 WCHAR *ptr) |
| static __inline int | is_eol (struct parser *parser, const WCHAR *ptr) |
| static int | push_token (struct parser *parser, const WCHAR *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 WCHAR *buffer, const WCHAR *end, PULONG error_line) |
Variables |
| static const parser_state_func | parser_funcs [NB_PARSER_STATES] |