windows-nt/Source/XPSP1/NT/base/ntsetup/win95upg/inc/unattend.h

169 lines
5.4 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
unattend.h
Abstract:
Declares all of the command line options and unattend options used
in the Win9x upgrade.
Author:
Marc R. Whitten (marcw) 15-Jan-1997
Revision History:
marcw 05-Aug-1998 Clean up!
--*/
#pragma once
#define TRISTATE_NO 0
#define TRISTATE_YES 1
#define TRISTATE_AUTO 2
#define TRISTATE_REQUIRED TRISTATE_YES
#define TRISTATE_PARTIAL TRISTATE_AUTO
/*++
Macro Expansion Lists Description:
The following list is used to implement the unattend/command line options available
for the Windows NT 5.0 Win9x Upgrade. Each of the options defined below can appear either
on the command line (common for switches) and in the unattend file (more common for
paths)
Line Syntax:
BOOLOPTION(Option, SpecialHandler, Default)
STRINGOPTION(Option, SpecialHandler, Default)
MULTISZOPTION(Option, SpecialHandler, Default)
Arguments:
Option - The name of the option. This is used both as the option member name in the options
structure and as the text necessary to invoke it on the command line or in the
unattend file.
SpecialHandler - The name of a special handling function to be used to set the value of the
option. If this is NULL, the default handler will be used. (There is a seperate
default handler for each option type, BOOL, STRING, and MULTISTRING)
Default - The Default value of the option.
Variables Generated From List:
g_ConfigOptions
g_OptionsList
--*/
#define OPTION_LIST \
BOOLOPTION(ReportOnly,NULL,FALSE) \
BOOLOPTION(PauseAtReport,NULL,FALSE) \
BOOLOPTION(DoLog,NULL,FALSE) \
BOOLOPTION(NoFear,NULL,FALSE) \
BOOLOPTION(GoodDrive,NULL,FALSE) \
BOOLOPTION(TestDlls,NULL,FALSE) \
MULTISZOPTION(MigrationDlls,NULL,NULL) \
STRINGOPTION(SaveReportTo,pHandleSaveReportTo,NULL) \
BOOLOPTION(UseLocalAccountOnError,NULL,FALSE) \
BOOLOPTION(IgnoreNetworkErrors,NULL,FALSE) \
STRINGOPTION(UserDomain,NULL,NULL) \
STRINGOPTION(UserPassword,NULL,NULL) \
STRINGOPTION(DefaultPassword,pGetDefaultPassword,NULL) \
BOOLOPTION(EncryptedUserPasswords,NULL,FALSE) \
BOOLOPTION(ForcePasswordChange,NULL,FALSE) \
BOOLOPTION(MigrateUsersAsAdmin,NULL,TRUE) \
BOOLOPTION(MigrateUsersAsPowerUsers,NULL,FALSE) \
STRINGOPTION(Boot16,pHandleBoot16,S_NO) \
BOOLOPTION(Stress,NULL,FALSE) \
BOOLOPTION(Fast,NULL,FALSE) \
BOOLOPTION(AutoStress,NULL,FALSE) \
BOOLOPTION(DiffMode,NULL,FALSE) \
BOOLOPTION(MigrateDefaultUser,NULL,TRUE) \
BOOLOPTION(AnyVersion,NULL,FALSE) \
BOOLOPTION(KeepTempFiles,NULL,FALSE) \
BOOLOPTION(Help,NULL,FALSE) \
MULTISZOPTION(ScanDrives,NULL,NULL) \
BOOLOPTION(AllLog,NULL,FALSE) \
BOOLOPTION(KeepBadLinks,NULL,TRUE) \
BOOLOPTION(CheckNtFiles,NULL,FALSE) \
BOOLOPTION(ShowPacks,NULL,FALSE) \
BOOLOPTION(ForceWorkgroup,NULL,FALSE) \
BOOLOPTION(DevPause,NULL,FALSE) \
STRINGOPTION(DomainJoinText,NULL,NULL) \
BOOLOPTION(SafeMode,NULL,FALSE) \
BOOLOPTION(ShowAllReport,NULL,TRUE) \
BOOLOPTION(EnableEncryption,NULL,FALSE) \
TRISTATEOPTION(EnableBackup,NULL,TRISTATE_AUTO) \
STRINGOPTION(PathForBackup,NULL,NULL) \
TRISTATEOPTION(DisableCompression,NULL,TRISTATE_AUTO) \
BOOLOPTION(IgnoreOtherOS,NULL,FALSE) \
TRISTATEOPTION(ShowReport,NULL,TRISTATE_AUTO) \
//
// ISSUE - eliminate EnableEncryption when all teams using encrypted passwords
// are finished
//
/*++
Macro Expansion Lists Description:
The following list is used to define aliases of an option. Each alias may be used
in place of the original option name.
Line Syntax:
ALIAS(Alias,OriginalOption)
Arguments:
Alias - The text to use as a synonym of the second argument.
OriginalOption - The actual option to modify when the alias is specified.
Variables Generated From List:
g_AliasList
--*/
#define ALIAS_LIST \
ALIAS(Pr,PauseAtReport) \
ALIAS(H,Help) \
ALIAS(dp,DevPause) \
ALIAS(EnableUninstall,EnableBackup) \
#define BOOLOPTION(o,h,d) BOOL o;
#define MULTISZOPTION(o,h,d) PTSTR o;
#define STRINGOPTION(o,h,d) PTSTR o;
#define INTOPTION(o,h,d) INT o;
#define TRISTATEOPTION(o,h,d) INT o;
typedef struct {
OPTION_LIST
} USEROPTIONS, *PUSEROPTIONS;
#undef BOOLOPTION
#undef MULTISZOPTION
#undef STRINGOPTION
#undef INTOPTION
#undef TRISTATEOPTION
#undef ALIAS
extern POOLHANDLE g_UserOptionPool;