Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

168 lines
5.4 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. unattend.h
  5. Abstract:
  6. Declares all of the command line options and unattend options used
  7. in the Win9x upgrade.
  8. Author:
  9. Marc R. Whitten (marcw) 15-Jan-1997
  10. Revision History:
  11. marcw 05-Aug-1998 Clean up!
  12. --*/
  13. #pragma once
  14. #define TRISTATE_NO 0
  15. #define TRISTATE_YES 1
  16. #define TRISTATE_AUTO 2
  17. #define TRISTATE_REQUIRED TRISTATE_YES
  18. #define TRISTATE_PARTIAL TRISTATE_AUTO
  19. /*++
  20. Macro Expansion Lists Description:
  21. The following list is used to implement the unattend/command line options available
  22. for the Windows NT 5.0 Win9x Upgrade. Each of the options defined below can appear either
  23. on the command line (common for switches) and in the unattend file (more common for
  24. paths)
  25. Line Syntax:
  26. BOOLOPTION(Option, SpecialHandler, Default)
  27. STRINGOPTION(Option, SpecialHandler, Default)
  28. MULTISZOPTION(Option, SpecialHandler, Default)
  29. Arguments:
  30. Option - The name of the option. This is used both as the option member name in the options
  31. structure and as the text necessary to invoke it on the command line or in the
  32. unattend file.
  33. SpecialHandler - The name of a special handling function to be used to set the value of the
  34. option. If this is NULL, the default handler will be used. (There is a seperate
  35. default handler for each option type, BOOL, STRING, and MULTISTRING)
  36. Default - The Default value of the option.
  37. Variables Generated From List:
  38. g_ConfigOptions
  39. g_OptionsList
  40. --*/
  41. #define OPTION_LIST \
  42. BOOLOPTION(ReportOnly,NULL,FALSE) \
  43. BOOLOPTION(PauseAtReport,NULL,FALSE) \
  44. BOOLOPTION(DoLog,NULL,FALSE) \
  45. BOOLOPTION(NoFear,NULL,FALSE) \
  46. BOOLOPTION(GoodDrive,NULL,FALSE) \
  47. BOOLOPTION(TestDlls,NULL,FALSE) \
  48. MULTISZOPTION(MigrationDlls,NULL,NULL) \
  49. STRINGOPTION(SaveReportTo,pHandleSaveReportTo,NULL) \
  50. BOOLOPTION(UseLocalAccountOnError,NULL,FALSE) \
  51. BOOLOPTION(IgnoreNetworkErrors,NULL,FALSE) \
  52. STRINGOPTION(UserDomain,NULL,NULL) \
  53. STRINGOPTION(UserPassword,NULL,NULL) \
  54. STRINGOPTION(DefaultPassword,pGetDefaultPassword,NULL) \
  55. BOOLOPTION(EncryptedUserPasswords,NULL,FALSE) \
  56. BOOLOPTION(ForcePasswordChange,NULL,FALSE) \
  57. BOOLOPTION(MigrateUsersAsAdmin,NULL,TRUE) \
  58. BOOLOPTION(MigrateUsersAsPowerUsers,NULL,FALSE) \
  59. STRINGOPTION(Boot16,pHandleBoot16,S_NO) \
  60. BOOLOPTION(Stress,NULL,FALSE) \
  61. BOOLOPTION(Fast,NULL,FALSE) \
  62. BOOLOPTION(AutoStress,NULL,FALSE) \
  63. BOOLOPTION(DiffMode,NULL,FALSE) \
  64. BOOLOPTION(MigrateDefaultUser,NULL,TRUE) \
  65. BOOLOPTION(AnyVersion,NULL,FALSE) \
  66. BOOLOPTION(KeepTempFiles,NULL,FALSE) \
  67. BOOLOPTION(Help,NULL,FALSE) \
  68. MULTISZOPTION(ScanDrives,NULL,NULL) \
  69. BOOLOPTION(AllLog,NULL,FALSE) \
  70. BOOLOPTION(KeepBadLinks,NULL,TRUE) \
  71. BOOLOPTION(CheckNtFiles,NULL,FALSE) \
  72. BOOLOPTION(ShowPacks,NULL,FALSE) \
  73. BOOLOPTION(ForceWorkgroup,NULL,FALSE) \
  74. BOOLOPTION(DevPause,NULL,FALSE) \
  75. STRINGOPTION(DomainJoinText,NULL,NULL) \
  76. BOOLOPTION(SafeMode,NULL,FALSE) \
  77. BOOLOPTION(ShowAllReport,NULL,TRUE) \
  78. BOOLOPTION(EnableEncryption,NULL,FALSE) \
  79. TRISTATEOPTION(EnableBackup,NULL,TRISTATE_AUTO) \
  80. STRINGOPTION(PathForBackup,NULL,NULL) \
  81. TRISTATEOPTION(DisableCompression,NULL,TRISTATE_AUTO) \
  82. BOOLOPTION(IgnoreOtherOS,NULL,FALSE) \
  83. TRISTATEOPTION(ShowReport,NULL,TRISTATE_AUTO) \
  84. //
  85. // ISSUE - eliminate EnableEncryption when all teams using encrypted passwords
  86. // are finished
  87. //
  88. /*++
  89. Macro Expansion Lists Description:
  90. The following list is used to define aliases of an option. Each alias may be used
  91. in place of the original option name.
  92. Line Syntax:
  93. ALIAS(Alias,OriginalOption)
  94. Arguments:
  95. Alias - The text to use as a synonym of the second argument.
  96. OriginalOption - The actual option to modify when the alias is specified.
  97. Variables Generated From List:
  98. g_AliasList
  99. --*/
  100. #define ALIAS_LIST \
  101. ALIAS(Pr,PauseAtReport) \
  102. ALIAS(H,Help) \
  103. ALIAS(dp,DevPause) \
  104. ALIAS(EnableUninstall,EnableBackup) \
  105. #define BOOLOPTION(o,h,d) BOOL o;
  106. #define MULTISZOPTION(o,h,d) PTSTR o;
  107. #define STRINGOPTION(o,h,d) PTSTR o;
  108. #define INTOPTION(o,h,d) INT o;
  109. #define TRISTATEOPTION(o,h,d) INT o;
  110. typedef struct {
  111. OPTION_LIST
  112. } USEROPTIONS, *PUSEROPTIONS;
  113. #undef BOOLOPTION
  114. #undef MULTISZOPTION
  115. #undef STRINGOPTION
  116. #undef INTOPTION
  117. #undef TRISTATEOPTION
  118. #undef ALIAS
  119. extern POOLHANDLE g_UserOptionPool;