ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

infcore.c File Reference
#include "inflib.h"
#include <debug.h>

Go to the source code of this file.

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 CHARline_start_state (struct parser *parser, const CHAR *pos)
static const CHARsection_name_state (struct parser *parser, const CHAR *pos)
static const CHARkey_name_state (struct parser *parser, const CHAR *pos)
static const CHARvalue_name_state (struct parser *parser, const CHAR *pos)
static const CHAReol_backslash_state (struct parser *parser, const CHAR *pos)
static const CHARquotes_state (struct parser *parser, const CHAR *pos)
static const CHARleading_spaces_state (struct parser *parser, const CHAR *pos)
static const CHARtrailing_spaces_state (struct parser *parser, const CHAR *pos)
static const CHARcomment_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 fieldadd_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]

Generated on Sun May 27 2012 06:04:15 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.