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

usetup.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.