mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:43:04 +00:00
[SETUPLIB] Move the files that implement utility functions into their own subdirectory. The files remaining in the main directory implement setup procedures that use the utility functions.
svn path=/branches/setup_improvements/; revision=75695
This commit is contained in:
parent
95a34ef6fc
commit
6f19c83b96
28 changed files with 28 additions and 26 deletions
133
base/setup/lib/utils/inicache.h
Normal file
133
base/setup/lib/utils/inicache.h
Normal file
|
@ -0,0 +1,133 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Setup Library
|
||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||
* PURPOSE: INI file parser that caches contents of INI file in memory.
|
||||
* COPYRIGHT: Copyright 2002-2018 Royce Mitchell III
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
typedef struct _INICACHEKEY
|
||||
{
|
||||
PWCHAR Name;
|
||||
PWCHAR Data;
|
||||
|
||||
struct _INICACHEKEY *Next;
|
||||
struct _INICACHEKEY *Prev;
|
||||
} INICACHEKEY, *PINICACHEKEY;
|
||||
|
||||
|
||||
typedef struct _INICACHESECTION
|
||||
{
|
||||
PWCHAR Name;
|
||||
|
||||
PINICACHEKEY FirstKey;
|
||||
PINICACHEKEY LastKey;
|
||||
|
||||
struct _INICACHESECTION *Next;
|
||||
struct _INICACHESECTION *Prev;
|
||||
} INICACHESECTION, *PINICACHESECTION;
|
||||
|
||||
|
||||
typedef struct _INICACHE
|
||||
{
|
||||
PINICACHESECTION FirstSection;
|
||||
PINICACHESECTION LastSection;
|
||||
} INICACHE, *PINICACHE;
|
||||
|
||||
|
||||
typedef struct _PINICACHEITERATOR
|
||||
{
|
||||
PINICACHESECTION Section;
|
||||
PINICACHEKEY Key;
|
||||
} INICACHEITERATOR, *PINICACHEITERATOR;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
INSERT_FIRST,
|
||||
INSERT_BEFORE,
|
||||
INSERT_AFTER,
|
||||
INSERT_LAST
|
||||
} INSERTION_TYPE;
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
IniCacheLoadFromMemory(
|
||||
PINICACHE *Cache,
|
||||
PCHAR FileBuffer,
|
||||
ULONG FileLength,
|
||||
BOOLEAN String);
|
||||
|
||||
NTSTATUS
|
||||
IniCacheLoadByHandle(
|
||||
PINICACHE *Cache,
|
||||
HANDLE FileHandle,
|
||||
BOOLEAN String);
|
||||
|
||||
NTSTATUS
|
||||
IniCacheLoad(
|
||||
PINICACHE *Cache,
|
||||
PWCHAR FileName,
|
||||
BOOLEAN String);
|
||||
|
||||
VOID
|
||||
IniCacheDestroy(
|
||||
PINICACHE Cache);
|
||||
|
||||
PINICACHESECTION
|
||||
IniCacheGetSection(
|
||||
PINICACHE Cache,
|
||||
PWCHAR Name);
|
||||
|
||||
NTSTATUS
|
||||
IniCacheGetKey(
|
||||
PINICACHESECTION Section,
|
||||
PWCHAR KeyName,
|
||||
PWCHAR *KeyData);
|
||||
|
||||
PINICACHEITERATOR
|
||||
IniCacheFindFirstValue(
|
||||
PINICACHESECTION Section,
|
||||
PWCHAR *KeyName,
|
||||
PWCHAR *KeyData);
|
||||
|
||||
BOOLEAN
|
||||
IniCacheFindNextValue(
|
||||
PINICACHEITERATOR Iterator,
|
||||
PWCHAR *KeyName,
|
||||
PWCHAR *KeyData);
|
||||
|
||||
VOID
|
||||
IniCacheFindClose(
|
||||
PINICACHEITERATOR Iterator);
|
||||
|
||||
|
||||
PINICACHEKEY
|
||||
IniCacheInsertKey(
|
||||
PINICACHESECTION Section,
|
||||
PINICACHEKEY AnchorKey,
|
||||
INSERTION_TYPE InsertionType,
|
||||
PWCHAR Name,
|
||||
PWCHAR Data);
|
||||
|
||||
PINICACHE
|
||||
IniCacheCreate(VOID);
|
||||
|
||||
NTSTATUS
|
||||
IniCacheSaveByHandle(
|
||||
PINICACHE Cache,
|
||||
HANDLE FileHandle);
|
||||
|
||||
NTSTATUS
|
||||
IniCacheSave(
|
||||
PINICACHE Cache,
|
||||
PWCHAR FileName);
|
||||
|
||||
PINICACHESECTION
|
||||
IniCacheAppendSection(
|
||||
PINICACHE Cache,
|
||||
PWCHAR Name);
|
||||
|
||||
/* EOF */
|
Loading…
Add table
Add a link
Reference in a new issue