Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygeninicache.h
Go to the documentation of this file.
00001 /* 00002 * ReactOS kernel 00003 * Copyright (C) 2002 ReactOS Team 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License along 00016 * with this program; if not, write to the Free Software Foundation, Inc., 00017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00018 */ 00019 /* 00020 * COPYRIGHT: See COPYING in the top level directory 00021 * PROJECT: ReactOS text-mode setup 00022 * FILE: subsys/system/usetup/inicache.h 00023 * PURPOSE: INI file parser that caches contents of INI file in memory 00024 * PROGRAMMER: Royce Mitchell III 00025 * Eric Kohl 00026 */ 00027 00028 #pragma once 00029 00030 typedef struct _INICACHEKEY 00031 { 00032 PWCHAR Name; 00033 PWCHAR Data; 00034 00035 struct _INICACHEKEY *Next; 00036 struct _INICACHEKEY *Prev; 00037 } INICACHEKEY, *PINICACHEKEY; 00038 00039 00040 typedef struct _INICACHESECTION 00041 { 00042 PWCHAR Name; 00043 00044 PINICACHEKEY FirstKey; 00045 PINICACHEKEY LastKey; 00046 00047 struct _INICACHESECTION *Next; 00048 struct _INICACHESECTION *Prev; 00049 } INICACHESECTION, *PINICACHESECTION; 00050 00051 00052 typedef struct _INICACHE 00053 { 00054 PINICACHESECTION FirstSection; 00055 PINICACHESECTION LastSection; 00056 } INICACHE, *PINICACHE; 00057 00058 00059 typedef struct _PINICACHEITERATOR 00060 { 00061 PINICACHESECTION Section; 00062 PINICACHEKEY Key; 00063 } INICACHEITERATOR, *PINICACHEITERATOR; 00064 00065 00066 typedef enum 00067 { 00068 INSERT_FIRST, 00069 INSERT_BEFORE, 00070 INSERT_AFTER, 00071 INSERT_LAST 00072 } INSERTATION_TYPE; 00073 00074 /* FUNCTIONS ****************************************************************/ 00075 00076 NTSTATUS 00077 IniCacheLoad(PINICACHE *Cache, 00078 PUNICODE_STRING FileName, 00079 BOOLEAN String); 00080 00081 VOID 00082 IniCacheDestroy(PINICACHE Cache); 00083 00084 PINICACHESECTION 00085 IniCacheGetSection(PINICACHE Cache, 00086 PWCHAR Name); 00087 00088 NTSTATUS 00089 IniCacheGetKey(PINICACHESECTION Section, 00090 PWCHAR KeyName, 00091 PWCHAR *KeyData); 00092 00093 00094 00095 PINICACHEITERATOR 00096 IniCacheFindFirstValue(PINICACHESECTION Section, 00097 PWCHAR *KeyName, 00098 PWCHAR *KeyData); 00099 00100 BOOLEAN 00101 IniCacheFindNextValue(PINICACHEITERATOR Iterator, 00102 PWCHAR *KeyName, 00103 PWCHAR *KeyData); 00104 00105 VOID 00106 IniCacheFindClose(PINICACHEITERATOR Iterator); 00107 00108 00109 PINICACHEKEY 00110 IniCacheInsertKey(PINICACHESECTION Section, 00111 PINICACHEKEY AnchorKey, 00112 INSERTATION_TYPE InsertationType, 00113 PWCHAR Name, 00114 PWCHAR Data); 00115 00116 PINICACHE 00117 IniCacheCreate(VOID); 00118 00119 NTSTATUS 00120 IniCacheSave(PINICACHE Cache, 00121 PWCHAR FileName); 00122 00123 PINICACHESECTION 00124 IniCacheAppendSection(PINICACHE Cache, 00125 PWCHAR Name); 00126 00127 /* EOF */ Generated on Sat May 26 2012 04:16:54 for ReactOS by
1.7.6.1
|