241 lines
9.9 KiB
C
241 lines
9.9 KiB
C
/** @file
|
|
|
|
;******************************************************************************
|
|
;* Copyright (c) 2019, Insyde Software Corp. All Rights Reserved.
|
|
;*
|
|
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
|
|
;* transmit, broadcast, present, recite, release, license or otherwise exploit
|
|
;* any part of this publication in any form, by any means, without the prior
|
|
;* written permission of Insyde Software Corporation.
|
|
;*
|
|
;******************************************************************************
|
|
*/
|
|
#ifndef _L05_WMI_SETUP_UNDER_OS_H_
|
|
#define _L05_WMI_SETUP_UNDER_OS_H_
|
|
|
|
#define L05_WMI_BUFFER_MAX_SIZE_BIT 8192 // 1024 Byte
|
|
#define L05_WMI_BUFFER_MAX_SIZE (L05_WMI_BUFFER_MAX_SIZE_BIT >> 3) //L05_WMI_BUFFER_MAX_SIZE(Byte) = L05_WMI_BUFFER_MAX_SIZE_BIT / 8
|
|
|
|
#define L05_WMI_SETUP_ITEM_ENABLE 0x00
|
|
#define L05_WMI_SETUP_ITEM_DISABLE 0x01
|
|
#define L05_WMI_BOOT_MODE_UEFI 0x00
|
|
#define L05_WMI_BOOT_MODE_LEGACY_SUPPORT 0x01
|
|
|
|
#define WMI_SETUP_UNDER_OS_NULL_STR ""
|
|
#define WMI_SETUP_UNDER_OS_ENTER_STR "Enter"
|
|
|
|
//
|
|
// Object ID
|
|
//
|
|
#define L05_BIOS_SETTING_A0 0xA0
|
|
#define L05_SET_BIOS_SETTING_A1 0xA1
|
|
#define L05_SAVE_BIOS_SETTINGS_A2 0xA2
|
|
#define L05_DISCARD_BIOS_SETTINGS_A3 0xA3
|
|
#define L05_LOAD_DEFAULT_SETTINGS_A4 0xA4
|
|
#define L05_BIOS_PASSWORD_SETTINGS_A5 0xA5
|
|
#define L05_SET_BIOS_PASSWORD_A6 0xA6
|
|
#define L05_GET_BIOS_SELECTIONS_A7 0xA7
|
|
|
|
//
|
|
// WMI Return Status
|
|
//
|
|
#define L05_WMI_SUCCESS 0x00
|
|
#define L05_WMI_NOT_SUPPORTED 0x01
|
|
#define L05_WMI_INVALID_PARAMETER 0x02
|
|
#define L05_WMI_ACCESS_DENIED 0x03
|
|
#define L05_WMI_SYSTEM_BUSY 0x04
|
|
|
|
#pragma pack (1)
|
|
|
|
typedef enum {
|
|
L05WmiSetupItemInit = 0x00,
|
|
L05WmiSetupItemSave,
|
|
L05WmiSetupItemDiscard,
|
|
L05WmiSetupItemLoadDefault,
|
|
} L05_WMI_SETUP_ITEM_ACTION;
|
|
|
|
//
|
|
// Need map PASSWORD_TYPE for SystemAdminType & SystemUserType
|
|
//
|
|
typedef enum {
|
|
WmiSystemAdminType = 0x00,
|
|
WmiSystemUserType,
|
|
WmiHddUserType,
|
|
WmiHddMasterType,
|
|
WmiHddMaxType,
|
|
WmiPasswoedMaxType,
|
|
} WMI_PASSWORD_TYPE;
|
|
|
|
typedef enum {
|
|
WmiAsciiEncoding = 0x00,
|
|
WmiScancodeEncoding,
|
|
WmiPasswoedMaxEncoding,
|
|
} WMI_PASSWORD_ENCODING;
|
|
|
|
typedef enum {
|
|
WmiUsLanguage = 0x00,
|
|
WmiFrLanguage,
|
|
WmiGrLanguage,
|
|
WmiPasswoedMaxLanguage,
|
|
} WMI_PASSWORD_LANGUAGE;
|
|
|
|
typedef enum {
|
|
WmiHddPasswordCurrentSection = 0x00,
|
|
WmiHddPasswordNewSection,
|
|
WmiHddPasswordMaxSection,
|
|
} WMI_HDD_PASSWORD_TABLE_SECTION;
|
|
|
|
typedef struct {
|
|
UINT16 BootOption;
|
|
CHAR8 *BootDescription;
|
|
} L05_WMI_BOOT_DESCRIPTION;
|
|
|
|
typedef struct {
|
|
//
|
|
// Configuration Page
|
|
//
|
|
BOOLEAN L05LenovoCloudServicesValid;
|
|
UINT8 L05LenovoCloudServices;
|
|
BOOLEAN L05UefiWifiNetworkBootValid;
|
|
UINT8 L05UefiWifiNetworkBoot;
|
|
BOOLEAN L05UsbLegacyValid;
|
|
UINT8 L05UsbLegacy;
|
|
BOOLEAN L05WirelessLanValid;
|
|
UINT8 L05WirelessLan;
|
|
BOOLEAN L05SataControllerModeValid;
|
|
UINT8 L05SataControllerMode;
|
|
UINT8 L05VmdControllerValid;
|
|
UINT8 L05VmdController;
|
|
BOOLEAN L05GraphicsDeviceValid;
|
|
UINT8 L05GraphicsDevice;
|
|
BOOLEAN L05IntelVtValid;
|
|
UINT8 L05IntelVt;
|
|
BOOLEAN L05IntelVtdValid;
|
|
UINT8 L05IntelVtd;
|
|
BOOLEAN L05AmdVTechnologyValid;
|
|
UINT8 L05AmdVTechnology;
|
|
BOOLEAN L05IntelHyperThreadingValid;
|
|
UINT8 L05IntelHyperThreading;
|
|
BOOLEAN L05BiosBackFlashValid;
|
|
UINT8 L05BiosBackFlash;
|
|
BOOLEAN L05HotKeyModeValid;
|
|
UINT8 L05HotKeyMode;
|
|
BOOLEAN L05FoolProofFnCtrlValid;
|
|
UINT8 L05FoolProofFnCtrl;
|
|
BOOLEAN L05DptfValid;
|
|
UINT8 L05Dptf;
|
|
BOOLEAN L05IntelRapidStartValid;
|
|
UINT8 L05IntelRapidStart;
|
|
BOOLEAN L05AlwaysOnUsbValid;
|
|
UINT8 L05AlwaysOnUsb;
|
|
BOOLEAN L05ChargeInBatteryModeValid;
|
|
UINT8 L05ChargeInBatteryMode;
|
|
BOOLEAN L05RestoreDefaultOverclockingValid;
|
|
UINT8 L05RestoreDefaultOverclocking;
|
|
BOOLEAN L05WakeOnVoiceValid;
|
|
UINT8 L05WakeOnVoice;
|
|
BOOLEAN L05UltraQuietModeValid;
|
|
UINT8 L05UltraQuietMode;
|
|
|
|
//
|
|
// Security Page
|
|
//
|
|
BOOLEAN L05PowerOnPasswordValid;
|
|
UINT8 L05PowerOnPassword;
|
|
BOOLEAN L05ClearUserPasswordValid;
|
|
UINT8 L05ClearUserPassword;
|
|
BOOLEAN L05IntelPttValid;
|
|
UINT8 L05IntelPtt;
|
|
BOOLEAN L05ClearIntelPttKeyValid;
|
|
UINT8 L05ClearIntelPttKey;
|
|
BOOLEAN L05AmdPspValid;
|
|
UINT8 L05AmdPsp;
|
|
BOOLEAN L05ClearAmdPspKeyValid;
|
|
UINT8 L05ClearAmdPspKey;
|
|
BOOLEAN L05SecurityChipValid;
|
|
UINT8 L05SecurityChip;
|
|
BOOLEAN L05ClearSecurityChipKeyValid;
|
|
UINT8 L05ClearSecurityChipKey;
|
|
BOOLEAN L05DeviceGuardValid;
|
|
UINT8 L05DeviceGuard;
|
|
//
|
|
// I/O Port Access Submenu
|
|
//
|
|
BOOLEAN L05EthernetLanValid;
|
|
UINT8 L05EthernetLan;
|
|
BOOLEAN L05WirelessWanValid;
|
|
UINT8 L05WirelessWan;
|
|
BOOLEAN L05BluetoothValid;
|
|
UINT8 L05Bluetooth;
|
|
BOOLEAN L05UsbPortValid;
|
|
UINT8 L05UsbPort;
|
|
BOOLEAN L05MemoryCardSlotValid;
|
|
UINT8 L05MemoryCardSlot;
|
|
BOOLEAN L05SmartCardSlotValid;
|
|
UINT8 L05SmartCardSlot;
|
|
BOOLEAN L05IntegratedCameraValid;
|
|
UINT8 L05IntegratedCamera;
|
|
BOOLEAN L05MicrophoneValid;
|
|
UINT8 L05Microphone;
|
|
BOOLEAN L05FingerprintReaderValid;
|
|
UINT8 L05FingerprintReader;
|
|
BOOLEAN L05ThunderboltValid;
|
|
UINT8 L05Thunderbolt;
|
|
BOOLEAN L05NfcDeviceValid;
|
|
UINT8 L05NfcDevice;
|
|
//
|
|
// Intel (R) SGX Submenu
|
|
//
|
|
BOOLEAN L05IntelSgxValid;
|
|
UINT8 L05IntelSgx;
|
|
//
|
|
// Security Page
|
|
//
|
|
BOOLEAN L05SecureBootValid;
|
|
UINT8 L05SecureBoot;
|
|
BOOLEAN L05SecureBootStatusValid;
|
|
UINT8 L05SecureBootStatus;
|
|
BOOLEAN L05PlatformModeValid;
|
|
UINT8 L05PlatformMode;
|
|
BOOLEAN L05SecureBootModeValid;
|
|
UINT8 L05SecureBootMode;
|
|
BOOLEAN L05ResetToSetupModeValid;
|
|
UINT8 L05ResetToSetupMode;
|
|
BOOLEAN L05RestoreFactoryKeysValid;
|
|
UINT8 L05RestoreFactoryKeys;
|
|
|
|
//
|
|
// Boot Page
|
|
//
|
|
BOOLEAN L05BootModeValid;
|
|
UINT8 L05BootMode;
|
|
BOOLEAN L05BootPriorityValid;
|
|
UINT8 L05BootPriority;
|
|
BOOLEAN L05FastBootValid;
|
|
UINT8 L05FastBoot;
|
|
BOOLEAN L05UsbBootValid;
|
|
UINT8 L05UsbBoot;
|
|
BOOLEAN L05PxeBootToLanValid;
|
|
UINT8 L05PxeBootToLan;
|
|
BOOLEAN L05PxeIpv4FirstValid;
|
|
UINT8 L05PxeIpv4First;
|
|
BOOLEAN L05EfiBootOrderValid;
|
|
UINT16 *L05EfiBootOrder;
|
|
UINT16 L05EfiBootOrderCount;
|
|
L05_WMI_BOOT_DESCRIPTION *L05WmiEfiBootDescription;
|
|
BOOLEAN L05LegacyBootOrderValid;
|
|
UINT16 *L05LegacyBootOrder;
|
|
UINT16 L05LegacyBootOrderCount;
|
|
L05_WMI_BOOT_DESCRIPTION *L05WmiLegacyBootDescription;
|
|
|
|
//
|
|
// Exit Page
|
|
//
|
|
BOOLEAN L05OsOptimizedDefaultValid;
|
|
UINT8 L05OsOptimizedDefault;
|
|
} L05_WMI_SETUP_ITEM;
|
|
|
|
#pragma pack ()
|
|
|
|
#endif
|