1 //----------------------------------------------------------------------------
3 // Copyright (C) Intel Corporation, 2004 - 2006.
5 // File: RemoteControlTypes.h
7 // Contents: Sample code for an IntelĀ® AMT Network client.
9 // Notes: This file contains type definitions used throughout the code
10 // and constants as described in the "IntelĀ® AMT Network Design
13 //----------------------------------------------------------------------------
15 #ifndef _REMOTE_CONTROL_TYPES__H_
16 #define _REMOTE_CONTROL_TYPES__H_
19 * limits.h for UINT_MAX
26 typedef unsigned char uint8;
27 typedef unsigned short uint16;
28 typedef unsigned int uint32;
29 typedef unsigned long long uint64;
30 typedef unsigned char BYTE;
33 * Remote Control sample
34 * command line parameters
36 static const char *POWER = "-p";
37 static const char *CAPABILITIES = "-c";
38 static const char *REMOTE = "-r";
39 static const char *API_TEST = "-A";
40 static const char *REDUCED_API_TEST = "-B";
41 static const int MIN_NUM_OF_CL_PARAMETERS = 3;
44 * Command line options
48 // Remote Control sample options
59 static const uint32 NO_VALUE = UINT_MAX;
62 * Remote control commands
64 enum RemoteControlCommand
68 PowerDown = 18, //0x12
69 PowerCycleReset = 19, //0x13
70 SetBootOptions = 33, //0x21
80 ForcePxeBoot = 1, // 0x01
81 ForceHardDriveBoot = 2, // 0x02
82 ForceHardDriveSafeModeBoot = 3, // 0x03
83 ForceDiagnosticsBoot = 4, // 0x04
84 ForceCdOrDvdBoot = 5, // 0x05
85 // 06h-0BFh Reserved for future ASF definition
86 IntelOemCommand = 193, // 0x0C1
87 // 0C1h-0FFh Reserved FOR OEM
91 * Standard boot options
93 * Following boot options can be defined by using the bitwise OR operator.
95 * unsigned short bootOptions = LockPowerButton | LockKeyboard | FirmwareVerbosityVerbose
100 LockPowerButton = 2, // 1 << 1
101 LockResetButton = 4, // 1 << 2
102 LockKeyboard = 32, // 1 << 5
103 LockSleepButton = 64, // 1 << 6
104 UserPasswordBypass = 2048, // 1 << 11
105 ForceProgressEvents = 4096, // 1 << 12
107 // only one from the Firmware verbosity options can be used
108 FirmwareVerbositySystemDefault = 0, // system default
109 FirmwareVerbosityQuiet = 8192, // 1 << 13 minimal screen activity
110 FirmwareVerbosityVerbose = 16384, // 1 << 14 all messages appear on the screen
111 FirmwareVerbosityScreen = 24576, // 3 << 13 blank, no messages appear on the screen.
113 ConfigurationDataReset = 32768, // 1 << 14
117 * Reserved bits for checking
118 * correctness of the Boot Options settings
120 const uint32 BootOptionsReservedBits = 1817;
124 * Special Command Parameters
126 * Following boot options can be defined by using the bitwise OR operator.
128 * unsigned short specialCommParam = UseIderCD | ReflashBios
130 enum SpecialCommandParameters
132 UndefinedSpecialCommandParameter = 0,
133 UseIderFloppy = 1, // use floppy as IDER boot device
134 ReflashBios = 4, // 1 << 2
135 BiosSetup = 8, // 1 << 3
136 BiosPause = 16, // 1 << 4
137 UseIderCD = 257, // 1 | (1 << 8) use CD/DVD as IDER boot device
141 * Reserved bits for checking
142 * correctness of the Special Parameters settings
144 const uint32 SpecialCommandParametersReservedBits = 65248;
147 * OEM Parameters - Intel(R) AMT proprietary boot options
151 UndefinedOEMParameter = 0,
152 UseSol = 1, // 1 << 1
160 IntelIanaNumber = 343,
161 ASFIanaNumber = 4542,
166 * The remote control capabilities supported by the Intel(R) AMT:
168 * OEM defined capabilities
170 enum OemDefinedCapabilitiesSupported
181 * System capabilities
183 enum SystemCapabilitiesSupported
185 SuppPowerCycleReset = 1,
194 enum SpecialCommandSupported
196 SuppForcePXEBoot = 256,
197 SuppForceHardDriveBoot = 512,
198 SuppForceHardDriveSafeModeBoot = 1024,
199 SuppForceDiagnosticBoot = 2048,
200 SuppForceCDorDVDBoot = 4096,
205 * System Firmware capabilities
207 enum SystemFirmwareCapabilitiesSupported
209 SuppVerbosityScreenBlank = 1,
210 SuppPowerButtonLock = 2,
211 SuppResetButtonLock = 4,
212 SuppKeyboardLock = 32,
213 SuppSleepButtonLock = 64,
214 SuppUserPasswordBypass = 2048,
215 SuppForcedProgressEvents = 4096,
216 SuppVerbosityVerbose = 8192,
217 SuppVerbosityQuiet = 16384,
218 SuppConfigurationDataReset = 32768,
221 #endif // _REMOTE_CONTROL_TYPES__H_