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

inffile.c File Reference
#include <freeldr.h>

Go to the source code of this file.

Data Structures

struct  PINFCACHEFIELD
struct  PINFCACHELINE
struct  PINFCACHESECTION
struct  PINFCACHE
struct  parser

Defines

#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 InfpCacheFreeLine (PINFCACHELINE Line)
static PINFCACHESECTION InfpCacheFreeSection (PINFCACHESECTION Section)
static PINFCACHESECTION InfpCacheFindSection (PINFCACHE Cache, PCSTR Name)
static PINFCACHESECTION InfpCacheAddSection (PINFCACHE Cache, PCHAR Name)
static PINFCACHELINE InfpCacheAddLine (PINFCACHESECTION Section)
static PVOID InfpAddKeyToLine (PINFCACHELINE Line, PCHAR Key)
static PVOID InfpAddFieldToLine (PINFCACHELINE Line, PCHAR Data)
static PINFCACHELINE InfpCacheFindKeyLine (PINFCACHESECTION Section, PCSTR 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)
static BOOLEAN InfpParseBuffer (PINFCACHE file, const CHAR *buffer, const CHAR *end, PULONG error_line)
BOOLEAN InfOpenFile (PHINF InfHandle, PCSTR FileName, PULONG ErrorLine)
VOID InfCloseFile (HINF InfHandle)
BOOLEAN InfFindFirstLine (HINF InfHandle, PCSTR Section, PCSTR Key, PINFCONTEXT Context)
BOOLEAN InfFindNextLine (PINFCONTEXT ContextIn, PINFCONTEXT ContextOut)
BOOLEAN InfFindFirstMatchLine (PINFCONTEXT ContextIn, PCHAR Key, PINFCONTEXT ContextOut)
BOOLEAN InfFindNextMatchLine (PINFCONTEXT ContextIn, PCHAR Key, PINFCONTEXT ContextOut)
LONG InfGetLineCount (HINF InfHandle, PCHAR Section)
LONG InfGetFieldCount (PINFCONTEXT Context)
BOOLEAN InfGetBinaryField (PINFCONTEXT Context, ULONG FieldIndex, PUCHAR ReturnBuffer, ULONG ReturnBufferSize, PULONG RequiredSize)
BOOLEAN InfGetIntField (PINFCONTEXT Context, ULONG FieldIndex, LONG *IntegerValue)
BOOLEAN InfGetMultiSzField (PINFCONTEXT Context, ULONG FieldIndex, PCHAR ReturnBuffer, ULONG ReturnBufferSize, PULONG RequiredSize)
BOOLEAN InfGetStringField (PINFCONTEXT Context, ULONG FieldIndex, PCHAR ReturnBuffer, ULONG ReturnBufferSize, PULONG RequiredSize)
BOOLEAN InfGetData (PINFCONTEXT Context, PCHAR *Key, PCHAR *Data)
BOOLEAN InfGetDataField (PINFCONTEXT Context, ULONG FieldIndex, PCSTR *Data)

Variables

static const parser_state_func parser_funcs [NB_PARSER_STATES]

Generated on Wed May 23 2012 04:42:59 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.