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

parser.c File Reference
#include "setupapi_private.h"

Go to the source code of this file.

Data Structures

struct  field
struct  line
struct  section
struct  inf_file
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 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

 WINE_DEFAULT_DEBUG_CHANNEL (setupapi)
static const WCHARline_start_state (struct parser *parser, const WCHAR *pos)
static const WCHARsection_name_state (struct parser *parser, const WCHAR *pos)
static const WCHARkey_name_state (struct parser *parser, const WCHAR *pos)
static const WCHARvalue_name_state (struct parser *parser, const WCHAR *pos)
static const WCHAReol_backslash_state (struct parser *parser, const WCHAR *pos)
static const WCHARquotes_state (struct parser *parser, const WCHAR *pos)
static const WCHARleading_spaces_state (struct parser *parser, const WCHAR *pos)
static const WCHARtrailing_spaces_state (struct parser *parser, const WCHAR *pos)
static const WCHARcomment_state (struct parser *parser, const WCHAR *pos)
static voidgrow_array (void *array, unsigned int *count, size_t elem)
static const WCHARget_inf_dir (const struct inf_file *file, unsigned int *len)
static int find_section (const struct inf_file *file, const WCHAR *name)
static struct linefind_line (struct inf_file *file, int section_index, const WCHAR *name)
static int add_section (struct inf_file *file, const WCHAR *name)
static struct lineadd_line (struct inf_file *file, int section_index)
static struct lineget_line (struct inf_file *file, unsigned int section_index, unsigned int line_index)
static struct fieldget_field (struct inf_file *file, int section_index, int line_index, int field_index)
static struct fieldadd_field (struct inf_file *file, const WCHAR *text)
static const WCHARget_dirid_subst (const struct inf_file *file, int dirid, unsigned int *len)
static const WCHARget_string_subst (const struct inf_file *file, const WCHAR *str, unsigned int *len, BOOL no_trailing_slash)
unsigned int PARSER_string_substW (const struct inf_file *file, const WCHAR *text, WCHAR *buffer, unsigned int size)
unsigned int PARSER_string_substA (const struct inf_file *file, const WCHAR *text, char *buffer, unsigned int size)
static WCHARpush_string (struct inf_file *file, const WCHAR *string)
static void push_state (struct parser *parser, enum parser_state state)
static void pop_state (struct parser *parser)
static enum parser_state set_state (struct parser *parser, enum parser_state state)
static int is_eof (const struct parser *parser, const WCHAR *ptr)
static int is_eol (const struct parser *parser, const WCHAR *ptr)
static int push_token (struct parser *parser, const WCHAR *pos)
static int 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 DWORD parse_buffer (struct inf_file *file, const WCHAR *buffer, const WCHAR *end, UINT *error_line)
static void append_inf_file (struct inf_file *parent, struct inf_file *child)
static struct inf_fileparse_file (HANDLE handle, UINT *error_line, DWORD style)
const WCHARPARSER_get_inf_filename (HINF hinf)
WCHARPARSER_get_src_root (HINF hinf)
WCHARPARSER_get_dest_dir (INFCONTEXT *context)
HINF WINAPI SetupOpenInfFileA (PCSTR name, PCSTR class, DWORD style, UINT *error)
static BOOL PARSER_GetInfClassW (IN HINF hInf, OUT LPGUID ClassGuid, OUT PWSTR ClassName, IN DWORD ClassNameSize, OUT PDWORD RequiredSize OPTIONAL)
HINF WINAPI SetupOpenInfFileW (PCWSTR name, PCWSTR class, DWORD style, UINT *error)
BOOL WINAPI SetupOpenAppendInfFileA (PCSTR name, HINF parent_hinf, UINT *error)
BOOL WINAPI SetupOpenAppendInfFileW (PCWSTR name, HINF parent_hinf, UINT *error)
HINF WINAPI SetupOpenMasterInf (VOID)
void WINAPI SetupCloseInfFile (HINF hinf)
BOOL WINAPI SetupEnumInfSectionsA (HINF hinf, UINT index, PSTR buffer, DWORD size, DWORD *need)
BOOL WINAPI SetupEnumInfSectionsW (HINF hinf, UINT index, PWSTR buffer, DWORD size, DWORD *need)
LONG WINAPI SetupGetLineCountA (HINF hinf, PCSTR name)
LONG WINAPI SetupGetLineCountW (HINF hinf, PCWSTR section)
BOOL WINAPI SetupGetLineByIndexA (HINF hinf, PCSTR section, DWORD index, INFCONTEXT *context)
BOOL WINAPI SetupGetLineByIndexW (HINF hinf, PCWSTR section, DWORD index, INFCONTEXT *context)
BOOL WINAPI SetupFindFirstLineA (HINF hinf, PCSTR section, PCSTR key, INFCONTEXT *context)
BOOL WINAPI SetupFindFirstLineW (HINF hinf, PCWSTR section, PCWSTR key, INFCONTEXT *context)
BOOL WINAPI SetupFindNextLine (PINFCONTEXT context_in, PINFCONTEXT context_out)
BOOL WINAPI SetupFindNextMatchLineA (PINFCONTEXT context_in, PCSTR key, PINFCONTEXT context_out)
BOOL WINAPI SetupFindNextMatchLineW (PINFCONTEXT context_in, PCWSTR key, PINFCONTEXT context_out)
BOOL WINAPI SetupGetLineTextW (PINFCONTEXT context, HINF hinf, PCWSTR section_name, PCWSTR key_name, PWSTR buffer, DWORD size, PDWORD required)
BOOL WINAPI SetupGetLineTextA (PINFCONTEXT context, HINF hinf, PCSTR section_name, PCSTR key_name, PSTR buffer, DWORD size, PDWORD required)
DWORD WINAPI SetupGetFieldCount (PINFCONTEXT context)
BOOL WINAPI SetupGetStringFieldA (PINFCONTEXT context, DWORD index, PSTR buffer, DWORD size, PDWORD required)
BOOL WINAPI SetupGetStringFieldW (PINFCONTEXT context, DWORD index, PWSTR buffer, DWORD size, PDWORD required)
BOOL WINAPI SetupGetIntField (PINFCONTEXT context, DWORD index, PINT result)
BOOL WINAPI SetupGetBinaryField (PINFCONTEXT context, DWORD index, BYTE *buffer, DWORD size, LPDWORD required)
BOOL WINAPI SetupGetMultiSzFieldA (PINFCONTEXT context, DWORD index, PSTR buffer, DWORD size, LPDWORD required)
BOOL WINAPI SetupGetMultiSzFieldW (PINFCONTEXT context, DWORD index, PWSTR buffer, DWORD size, LPDWORD required)
LPCWSTR WINAPI pSetupGetField (PINFCONTEXT context, DWORD index)
BOOL WINAPI SetupGetInfFileListW (IN PCWSTR DirectoryPath OPTIONAL, IN DWORD InfStyle, IN OUT PWSTR ReturnBuffer OPTIONAL, IN DWORD ReturnBufferSize OPTIONAL, OUT PDWORD RequiredSize OPTIONAL)
BOOL WINAPI SetupGetInfFileListA (IN PCSTR DirectoryPath OPTIONAL, IN DWORD InfStyle, IN OUT PSTR ReturnBuffer OPTIONAL, IN DWORD ReturnBufferSize OPTIONAL, OUT PDWORD RequiredSize OPTIONAL)
BOOL WINAPI SetupDiGetINFClassW (IN PCWSTR InfName, OUT LPGUID ClassGuid, OUT PWSTR ClassName, IN DWORD ClassNameSize, OUT PDWORD RequiredSize OPTIONAL)
BOOL WINAPI SetupDiGetINFClassA (IN PCSTR InfName, OUT LPGUID ClassGuid, OUT PSTR ClassName, IN DWORD ClassNameSize, OUT PDWORD RequiredSize OPTIONAL)
BOOL EnumerateSectionsStartingWith (IN HINF hInf, IN LPCWSTR pStr, IN FIND_CALLBACK Callback, IN PVOID Context)

Variables

static const WCHAR BackSlash [] = {'\\',0}
static const WCHAR Class [] = {'C','l','a','s','s',0}
static const WCHAR ClassGUID [] = {'C','l','a','s','s','G','U','I','D',0}
static const WCHAR InfDirectory [] = {'i','n','f','\\',0}
static const WCHAR InfFileSpecification [] = {'*','.','i','n','f',0}
static const parser_state_func parser_funcs [NB_PARSER_STATES]
static const WCHAR Version [] = {'V','e','r','s','i','o','n',0}
static const WCHAR Signature [] = {'S','i','g','n','a','t','u','r','e',0}
static const WCHAR Chicago [] = {'$','C','h','i','c','a','g','o','$',0}
static const WCHAR WindowsNT [] = {'$','W','i','n','d','o','w','s',' ','N','T','$',0}
static const WCHAR Windows95 [] = {'$','W','i','n','d','o','w','s',' ','9','5','$',0}
static const WCHAR LayoutFile [] = {'L','a','y','o','u','t','F','i','l','e',0}

Generated on Sun May 27 2012 04:43:06 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.