mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-27 12:15:19 +01:00
83 lines
2.9 KiB
C
83 lines
2.9 KiB
C
|
/** @file
|
||
|
declares interface functions
|
||
|
|
||
|
Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
|
||
|
This program and the accompanying materials
|
||
|
are licensed and made available under the terms and conditions of the BSD License
|
||
|
which accompanies this distribution. The full text of the license may be found at
|
||
|
http://opensource.org/licenses/bsd-license.php
|
||
|
|
||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||
|
|
||
|
**/
|
||
|
|
||
|
#ifndef _EFI_BDS_BBS_SUPPORT_H_
|
||
|
#define _EFI_BDS_BBS_SUPPORT_H_
|
||
|
|
||
|
#include "BootMaint.h"
|
||
|
|
||
|
/**
|
||
|
Build Legacy Device Name String according.
|
||
|
|
||
|
@param CurBBSEntry BBS Table.
|
||
|
@param Index Index.
|
||
|
@param BufSize The buffer size.
|
||
|
@param BootString The output string.
|
||
|
|
||
|
@return VOID No output.
|
||
|
|
||
|
**/
|
||
|
VOID
|
||
|
BdsBuildLegacyDevNameString (
|
||
|
IN BBS_TABLE *CurBBSEntry,
|
||
|
IN UINTN Index,
|
||
|
IN UINTN BufSize,
|
||
|
OUT CHAR16 *BootString
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Group the legacy boot options in the BootOption.
|
||
|
|
||
|
The routine assumes the boot options in the beginning that covers all the device
|
||
|
types are ordered properly and re-position the following boot options just after
|
||
|
the corresponding boot options with the same device type.
|
||
|
For example:
|
||
|
1. Input = [Harddisk1 CdRom2 Efi1 Harddisk0 CdRom0 CdRom1 Harddisk2 Efi0]
|
||
|
Assuming [Harddisk1 CdRom2 Efi1] is ordered properly
|
||
|
Output = [Harddisk1 Harddisk0 Harddisk2 CdRom2 CdRom0 CdRom1 Efi1 Efi0]
|
||
|
|
||
|
2. Input = [Efi1 Efi0 CdRom1 Harddisk0 Harddisk1 Harddisk2 CdRom0 CdRom2]
|
||
|
Assuming [Efi1 Efi0 CdRom1 Harddisk0] is ordered properly
|
||
|
Output = [Efi1 Efi0 CdRom1 CdRom0 CdRom2 Harddisk0 Harddisk1 Harddisk2]
|
||
|
**/
|
||
|
VOID
|
||
|
GroupMultipleLegacyBootOption4SameType (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Re-order the Boot Option according to the DevOrder.
|
||
|
|
||
|
The routine re-orders the Boot Option in BootOption array according to
|
||
|
the order specified by DevOrder.
|
||
|
|
||
|
@param DevOrder Pointer to buffer containing the BBS Index,
|
||
|
high 8-bit value 0xFF indicating a disabled boot option
|
||
|
@param DevOrderCount Count of the BBS Index
|
||
|
@param EnBootOption Callee allocated buffer containing the enabled Boot Option Numbers
|
||
|
@param EnBootOptionCount Count of the enabled Boot Option Numbers
|
||
|
@param DisBootOption Callee allocated buffer containing the disabled Boot Option Numbers
|
||
|
@param DisBootOptionCount Count of the disabled Boot Option Numbers
|
||
|
**/
|
||
|
VOID
|
||
|
OrderLegacyBootOption4SameType (
|
||
|
UINT16 *DevOrder,
|
||
|
UINTN DevOrderCount,
|
||
|
UINT16 **EnBootOption,
|
||
|
UINTN *EnBootOptionCount,
|
||
|
UINT16 **DisBootOption,
|
||
|
UINTN *DisBootOptionCount
|
||
|
);
|
||
|
#endif
|