reactos/base/setup/usetup/usetup.h

134 lines
3.1 KiB
C
Raw Normal View History

/*
* ReactOS kernel
* Copyright (C) 2002 ReactOS Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS text-mode setup
* FILE: base/setup/usetup/usetup.h
* PURPOSE: Text-mode setup
* PROGRAMMER:
*/
#ifndef _USETUP_PCH_
#define _USETUP_PCH_
/* C Headers */
#include <stdio.h>
#include <stdlib.h>
/* PSDK/NDK */
#define WIN32_NO_STATUS
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <winuser.h>
#include <wincon.h>
#define NTOS_MODE_USER
#include <ndk/cmfuncs.h>
#include <ndk/exfuncs.h>
#include <ndk/iofuncs.h>
#include <ndk/kefuncs.h>
#include <ndk/mmfuncs.h>
#include <ndk/obfuncs.h>
#include <ndk/psfuncs.h>
#include <ndk/rtlfuncs.h>
#include <ndk/setypes.h>
#include <ntstrsafe.h>
/* Setup library headers */
#include <reactos/rosioctl.h>
#include <../lib/setuplib.h>
/* Internal Headers */
#include "consup.h"
#include "progress.h"
#include "fslist.h"
#include "partlist.h"
#include "genlist.h"
#include "mui.h"
#include "spapisup/inffile.h"
#include "spapisup/cabinet.h"
extern HANDLE ProcessHeap;
extern BOOLEAN IsUnattendedSetup;
extern PCWSTR SelectedLanguageId;
typedef enum _PAGE_NUMBER
{
SETUP_INIT_PAGE, /* Virtual page */
LANGUAGE_PAGE,
WELCOME_PAGE,
LICENSE_PAGE,
INSTALL_INTRO_PAGE,
// SCSI_CONTROLLER_PAGE,
// OEM_DRIVER_PAGE,
REPAIR_INTRO_PAGE,
UPGRADE_REPAIR_PAGE,
DEVICE_SETTINGS_PAGE,
COMPUTER_SETTINGS_PAGE,
DISPLAY_SETTINGS_PAGE,
KEYBOARD_SETTINGS_PAGE,
LAYOUT_SETTINGS_PAGE,
SELECT_PARTITION_PAGE,
CREATE_PRIMARY_PARTITION_PAGE,
CREATE_EXTENDED_PARTITION_PAGE,
CREATE_LOGICAL_PARTITION_PAGE,
CHANGE_SYSTEM_PARTITION,
CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
DELETE_PARTITION_PAGE,
SELECT_FILE_SYSTEM_PAGE,
FORMAT_PARTITION_PAGE,
CHECK_FILE_SYSTEM_PAGE,
PREPARE_COPY_PAGE,
INSTALL_DIRECTORY_PAGE,
FILE_COPY_PAGE,
REGISTRY_PAGE,
BOOT_LOADER_PAGE,
BOOT_LOADER_FLOPPY_PAGE,
BOOT_LOADER_INSTALLATION_PAGE,
SUCCESS_PAGE,
QUIT_PAGE,
FLUSH_PAGE,
REBOOT_PAGE, /* Virtual page */
RECOVERY_PAGE, /* Virtual page */
} PAGE_NUMBER, *PPAGE_NUMBER;
#define POPUP_WAIT_NONE 0
#define POPUP_WAIT_ANY_KEY 1
#define POPUP_WAIT_ENTER 2
[SETUPLIB][USETUP][INPUT.CPL] MUI integration with setuplib. [SETUPLIB] Copy the mui* files from usetup into the setuplib for later usage, and add mui.c to build. svn path=/branches/setup_improvements/; revision=75711 [SETUPLIB][USETUP] Start massaging the MUI files and split up what concerns only the usetup "resources", and what concerns general language parameters (in the setuplib). It may be interesting to retrieve the language parameters from INF file (e.g. intl.inf) (suggested by Giannis). svn path=/branches/setup_improvements/; revision=75715 [SETUPLIB] Add the necessary headers to mui.c to be able to compile. [USETUP] Comment out the languages that don't have any resources. svn path=/branches/setup_improvements/; revision=75716 [SETUPLIB][USETUP] Adjust MUI and settings code. - Re-enable settings code concerning language, keyboards & layout in the setuplib, and remove the old code in usetup. - Remove useless code in setuplib's mui.c. - Rename usetup's MUI "LanguageList" into "ResourceList" so as to avoid colliding with the "LanguageList" of setuplib. - Add the magic CMakeLists line "add_definitions(${I18N_DEFS})" that I forgot previously, that caused the "LanguageList" of setuplib to be empty! The code compiles and works during my tests. svn path=/branches/setup_improvements/; revision=75717 [SETUPLIB] Change some string pointer types & function prototypes so that the usetup-specific "SelectedLanguageId" variable is not used in the library. svn path=/branches/setup_improvements/; revision=75719 [SETUPLIB] Change some function prototypes so that the usetup-specific "SelectedLanguageId" variable is not used in the library. Also, make AddEntriesFromInfSection(), DefaultProcessEntry() and the typedef PPROCESS_ENTRY_ROUTINE private again. svn path=/branches/setup_improvements/; revision=75720 svn path=/branches/setup_improvements/; revision=75724 [USETUP] Code adaptations. - Transform some do{}while() loops into while(){} ones, since the lists on which we work may only contain one single {NULL} element. - Modify MUIGetOEMCodePage() call after r75719. - Use PCWSTR where needed. svn path=/branches/setup_improvements/; revision=75722 [USETUP] Adjust some MUI & settings calls, following the commits r75719, r75720 and r75721. svn path=/branches/setup_improvements/; revision=75723 [INPUT.CPL] Adjust inclusion of "muifonts.h" (commit 3dbd44f) due to changes introduced in r75711 and r75715.
2017-08-30 11:28:52 +00:00
VOID
PopupError(IN PCCH Text,
IN PCCH Status,
IN PINPUT_RECORD Ir,
IN ULONG WaitEvent);
#endif /* _USETUP_PCH_ */