alder_lake_bios/Oem/L05/FeatureCommon/InsydeL05ModulePkg/Include/Protocol/L05BootOption.h

113 lines
3.6 KiB
C

/** @file
Definition for Modify Boot Order Service
;******************************************************************************
;* Copyright (c) 2013, 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_BOOT_OPTION_H_
#define _EFI_L05_BOOT_OPTION_H_
#include <Protocol/LegacyBios.h>
typedef
EFI_STATUS
(EFIAPI *EFI_MODIFY_BOOT_ORDER) (
IN UINT8 BootNormalPriority,
IN UINT16 NewPositionPolicy,
IN BBS_TABLE *CurrentBbsItem,
IN UINTN BbsTableIndex,
IN OUT UINT16 *BootOrderList,
IN OUT UINTN *BootOrderListSize
);
typedef
EFI_STATUS
(EFIAPI *EFI_MODIFY_BOOT_OPTION_POSITION) (
IN UINT8 BootNormalPriority,
IN UINT16 *BootOrderList,
IN UINTN BootOrderNum,
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
OUT UINTN *NewPosition
);
typedef
EFI_STATUS
(EFIAPI *EFI_SORT_BOOT_ORDER_BY_DEFAULT) (
IN OUT UINT16 *BootOrderList,
IN UINTN BootOrderNumber,
IN UINT8 BootType
);
typedef
EFI_STATUS
(EFIAPI *EFI_REMOVE_DEVICE_TYPE_FROM_BOOT_ORDER) (
IN OUT UINT16 *BootOrderList,
IN OUT UINT16 *BootOrderNumber,
IN UINT16 DeviceType
);
typedef
EFI_STATUS
(EFIAPI *EFI_MOVE_HDD_TO_THE_TOP_OF_BOOT_ORDER) (
IN OUT UINT16 *BootOrderList,
IN OUT UINTN BootOrderNumber
);
typedef
EFI_STATUS
(EFIAPI *EFI_SORT_PXE_NETWORK_OF_BOOT_ORDER) (
IN OUT UINT16 *BootOrderList,
IN OUT UINTN BootOrderNumber
);
typedef
EFI_STATUS
(EFIAPI *EFI_ADD_BOOT_DEVICE_TITLE_STRING) (
IN OUT CHAR16 **Desc,
IN BBS_TABLE *CurrentBbsTable,
IN UINTN TableIndex
);
typedef
EFI_STATUS
(EFIAPI *EFI_UPDATE_BOOT_ORDER_FOR_NOVORECOVERY) (
IN OUT UINT16 *BootOrder,
IN OUT UINT16 *BootDeviceNum,
IN BOOLEAN IsGetBootList
);
typedef
BOOLEAN
(EFIAPI *EFI_IS_LIMITED_TO_INTERNAL_STORAGE) (
VOID
);
typedef
EFI_STATUS
(EFIAPI *EFI_DELETE_DUMMY_BOOT_OPTIONS) (
VOID
);
typedef struct _EFI_L05_BOOT_OPTION_PROTOCOL {
EFI_MODIFY_BOOT_ORDER ModifyBootOrder;
EFI_MODIFY_BOOT_OPTION_POSITION ModifyBootOptionPosition;
EFI_SORT_BOOT_ORDER_BY_DEFAULT SortBootOrderByDefault;
EFI_REMOVE_DEVICE_TYPE_FROM_BOOT_ORDER RemoveDeviceTypeFromBootOrder;
EFI_MOVE_HDD_TO_THE_TOP_OF_BOOT_ORDER MoveHddToTheTopOfBootOrder;
EFI_SORT_PXE_NETWORK_OF_BOOT_ORDER SortPxeNetworkOfBootOrder;
EFI_ADD_BOOT_DEVICE_TITLE_STRING AddBootDeviceTitleString;
EFI_UPDATE_BOOT_ORDER_FOR_NOVORECOVERY UpdateBootOrderForNovoRecovery;
EFI_IS_LIMITED_TO_INTERNAL_STORAGE IsLimitedToInternalStorage;
} EFI_L05_BOOT_OPTION_PROTOCOL;
extern EFI_GUID gEfiL05BootOptionProtocolGuid;
#endif