81 lines
2.8 KiB
C
81 lines
2.8 KiB
C
/** @file
|
|
Definition for L05 Service Protocol
|
|
|
|
;******************************************************************************
|
|
;* Copyright (c) 2012 - 2018, Insyde Software Corporation. 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 _EFI_L05_SERVICE_PROTOCOL_H_
|
|
#define _EFI_L05_SERVICE_PROTOCOL_H_
|
|
|
|
#define EFI_L05_SERVICE_PROTOCOL_GUID \
|
|
{ 0x697da7e, 0xb2bb, 0x49d0, 0x9d, 0xfa, 0x2, 0xeb, 0x49, 0x9f, 0x9f, 0xfd }
|
|
|
|
#define MAX_SATA_HDD_NUMBER 0x08
|
|
#define MAX_SATA_SSD_NUMBER 0x08
|
|
#define MAX_NVME_SSD_NUMBER 0x04
|
|
#define MAX_EMMC_SSD_NUMBER 0x04
|
|
#define MAX_SATA_ODD_NUMBER 0x01
|
|
#define MAX_MODEL_NAME_LEN 0x40
|
|
|
|
//
|
|
// Add NovoButtonMenuResetPassword for Advance SCU
|
|
//
|
|
typedef enum {
|
|
NovoButtonMenuNormalBoot,
|
|
NovoButtonMenuSetup,
|
|
NovoButtonMenuBootManager,
|
|
NovoButtonMenuOneKey,
|
|
NovoButtonMenuDiagnostics,
|
|
} NOVO_BUTTON_MENU_OPTION;
|
|
|
|
#pragma pack (1)
|
|
|
|
typedef struct _EFI_L05_SATA_HDD_INFO {
|
|
UINT8 DeviceIndex;
|
|
CHAR16 DeviceModelName[MAX_MODEL_NAME_LEN];
|
|
} EFI_L05_STORAGE_DEVICE_INFO;
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_L05_SERVICE_NOVO_BUTTON_MENU) (
|
|
IN OUT UINTN *L05NovoButtonMenuSelection
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_L05_SERVICE_LOAD_EFI_DRIVER_FROM_FV) (
|
|
IN EFI_GUID *NameGuid
|
|
);
|
|
|
|
//
|
|
// Add L05ClearPassword for Advance SCU
|
|
//
|
|
typedef struct _EFI_L05_SERVICE_PROTOCOL {
|
|
EFI_L05_SERVICE_NOVO_BUTTON_MENU L05NovoButtonMenu;
|
|
EFI_L05_SERVICE_LOAD_EFI_DRIVER_FROM_FV L05LoadEfiDriverFromFv;
|
|
UINT8 NumberOfSataHdd;
|
|
UINT8 NumberOfSataSsd;
|
|
UINT8 NumberOfNvmeSsd;
|
|
UINT8 NumberOfEmmcSsd;
|
|
UINT8 NumberOfSataOdd;
|
|
EFI_L05_STORAGE_DEVICE_INFO SataHddInfo[MAX_SATA_HDD_NUMBER];
|
|
EFI_L05_STORAGE_DEVICE_INFO SataSsdInfo[MAX_SATA_SSD_NUMBER];
|
|
EFI_L05_STORAGE_DEVICE_INFO NvmeSsdInfo[MAX_NVME_SSD_NUMBER];
|
|
EFI_L05_STORAGE_DEVICE_INFO EmmcSsdInfo[MAX_EMMC_SSD_NUMBER];
|
|
EFI_L05_STORAGE_DEVICE_INFO SataOddInfo[MAX_SATA_ODD_NUMBER];
|
|
} EFI_L05_SERVICE_PROTOCOL;
|
|
|
|
#pragma pack ()
|
|
|
|
extern EFI_GUID gEfiL05ServiceProtocolGuid;
|
|
|
|
#endif
|