Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenusetup.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/usetup.h 00023 * PURPOSE: Text-mode setup 00024 * PROGRAMMER: Eric Kohl 00025 */ 00026 00027 /* C Headers */ 00028 #include <ctype.h> 00029 #include <stdio.h> 00030 #include <stddef.h> 00031 00032 /* PSDK/NDK */ 00033 #define WIN32_NO_STATUS 00034 #include <windows.h> 00035 #define NTOS_MODE_USER 00036 #include <ndk/cmfuncs.h> 00037 #include <ndk/exfuncs.h> 00038 #include <ndk/iofuncs.h> 00039 #include <ndk/kefuncs.h> 00040 #include <ndk/mmtypes.h> 00041 #include <ndk/mmfuncs.h> 00042 #include <ndk/obfuncs.h> 00043 #include <ndk/psfuncs.h> 00044 #include <ndk/rtlfuncs.h> 00045 #include <fmifs/fmifs.h> 00046 00047 /* Filesystem headers */ 00048 #include <fslib/ext2lib.h> 00049 #include <fslib/vfatlib.h> 00050 #include <fslib/vfatxlib.h> 00051 00052 /* DDK Disk Headers */ 00053 #include <ntddscsi.h> 00054 00055 /* Internal Headers */ 00056 #include "interface/consup.h" 00057 #include "partlist.h" 00058 #include "inffile.h" 00059 #include "inicache.h" 00060 #include "progress.h" 00061 #ifdef __REACTOS__ 00062 #include "infros.h" 00063 #include "filequeue.h" 00064 #endif 00065 #include "bootsup.h" 00066 #include "registry.h" 00067 #include "fslist.h" 00068 #include "chkdsk.h" 00069 #include "format.h" 00070 #include "cabinet.h" 00071 #include "filesup.h" 00072 #include "drivesup.h" 00073 #include "genlist.h" 00074 #include "settings.h" 00075 #include "host.h" 00076 #include "mui.h" 00077 #include "errorcode.h" 00078 00079 #define INITGUID 00080 #include <guiddef.h> 00081 #include <libs/umpnpmgr/sysguid.h> 00082 00083 #include <zlib.h> 00084 00085 extern HANDLE ProcessHeap; 00086 extern UNICODE_STRING SourceRootPath; 00087 extern UNICODE_STRING SourceRootDir; 00088 extern UNICODE_STRING SourcePath; 00089 extern BOOLEAN IsUnattendedSetup; 00090 extern PWCHAR SelectedLanguageId; 00091 00092 #ifdef __REACTOS__ 00093 00094 extern VOID InfSetHeap(PVOID Heap); 00095 extern VOID InfCloseFile(HINF InfHandle); 00096 extern BOOLEAN InfFindNextLine(PINFCONTEXT ContextIn, 00097 PINFCONTEXT ContextOut); 00098 extern BOOLEAN InfGetBinaryField(PINFCONTEXT Context, 00099 ULONG FieldIndex, 00100 PUCHAR ReturnBuffer, 00101 ULONG ReturnBufferSize, 00102 PULONG RequiredSize); 00103 extern BOOLEAN InfGetMultiSzField(PINFCONTEXT Context, 00104 ULONG FieldIndex, 00105 PWSTR ReturnBuffer, 00106 ULONG ReturnBufferSize, 00107 PULONG RequiredSize); 00108 extern BOOLEAN InfGetStringField(PINFCONTEXT Context, 00109 ULONG FieldIndex, 00110 PWSTR ReturnBuffer, 00111 ULONG ReturnBufferSize, 00112 PULONG RequiredSize); 00113 00114 #define SetupCloseInfFile InfCloseFile 00115 #define SetupFindNextLine InfFindNextLine 00116 #define SetupGetBinaryField InfGetBinaryField 00117 #define SetupGetMultiSzFieldW InfGetMultiSzField 00118 #define SetupGetStringFieldW InfGetStringField 00119 00120 #endif /* __REACTOS__ */ 00121 00122 #ifndef _PAGE_NUMBER_DEFINED 00123 #define _PAGE_NUMBER_DEFINED 00124 typedef enum _PAGE_NUMBER 00125 { 00126 START_PAGE, 00127 LANGUAGE_PAGE, 00128 INTRO_PAGE, 00129 LICENSE_PAGE, 00130 INSTALL_INTRO_PAGE, 00131 00132 // SCSI_CONTROLLER_PAGE, 00133 00134 DEVICE_SETTINGS_PAGE, 00135 COMPUTER_SETTINGS_PAGE, 00136 DISPLAY_SETTINGS_PAGE, 00137 KEYBOARD_SETTINGS_PAGE, 00138 LAYOUT_SETTINGS_PAGE, 00139 00140 SELECT_PARTITION_PAGE, 00141 CREATE_PARTITION_PAGE, 00142 DELETE_PARTITION_PAGE, 00143 00144 SELECT_FILE_SYSTEM_PAGE, 00145 FORMAT_PARTITION_PAGE, 00146 CHECK_FILE_SYSTEM_PAGE, 00147 00148 PREPARE_COPY_PAGE, 00149 INSTALL_DIRECTORY_PAGE, 00150 FILE_COPY_PAGE, 00151 REGISTRY_PAGE, 00152 BOOT_LOADER_PAGE, 00153 BOOT_LOADER_FLOPPY_PAGE, 00154 BOOT_LOADER_HARDDISK_MBR_PAGE, 00155 BOOT_LOADER_HARDDISK_VBR_PAGE, 00156 00157 REPAIR_INTRO_PAGE, 00158 00159 SUCCESS_PAGE, 00160 QUIT_PAGE, 00161 FLUSH_PAGE, 00162 REBOOT_PAGE, /* virtual page */ 00163 } PAGE_NUMBER, *PPAGE_NUMBER; 00164 #endif 00165 00166 #define POPUP_WAIT_NONE 0 00167 #define POPUP_WAIT_ANY_KEY 1 00168 #define POPUP_WAIT_ENTER 2 00169 00170 #define InsertAscendingList(ListHead, NewEntry, Type, ListEntryField, SortField)\ 00171 {\ 00172 PLIST_ENTRY current;\ 00173 \ 00174 current = (ListHead)->Flink;\ 00175 while (current != (ListHead))\ 00176 {\ 00177 if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >=\ 00178 (NewEntry)->SortField)\ 00179 {\ 00180 break;\ 00181 }\ 00182 current = current->Flink;\ 00183 }\ 00184 \ 00185 InsertTailList(current, &((NewEntry)->ListEntryField));\ 00186 } 00187 00188 /* EOF */ Generated on Sat May 26 2012 04:16:59 for ReactOS by
1.7.6.1
|