]>
Commit | Line | Data |
---|---|---|
5c08e117 | 1 | /** @file\r |
2 | declares interface functions\r | |
3 | \r | |
0a6f4824 | 4 | Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r |
c0a00b14 | 5 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
5c08e117 | 6 | \r |
7 | **/\r | |
8 | \r | |
9 | #ifndef _EFI_BDS_BBS_SUPPORT_H_\r | |
10 | #define _EFI_BDS_BBS_SUPPORT_H_\r | |
11 | \r | |
12 | #include "BootMaint.h"\r | |
13 | \r | |
5c08e117 | 14 | /**\r |
15 | Build Legacy Device Name String according.\r | |
16 | \r | |
17 | @param CurBBSEntry BBS Table.\r | |
18 | @param Index Index.\r | |
19 | @param BufSize The buffer size.\r | |
20 | @param BootString The output string.\r | |
21 | \r | |
22 | @return VOID No output.\r | |
23 | \r | |
24 | **/\r | |
25 | VOID\r | |
26 | BdsBuildLegacyDevNameString (\r | |
27 | IN BBS_TABLE *CurBBSEntry,\r | |
28 | IN UINTN Index,\r | |
29 | IN UINTN BufSize,\r | |
30 | OUT CHAR16 *BootString\r | |
31 | );\r | |
32 | \r | |
22d1f978 RN |
33 | /**\r |
34 | Group the legacy boot options in the BootOption.\r | |
35 | \r | |
0a6f4824 | 36 | The routine assumes the boot options in the beginning that covers all the device\r |
22d1f978 RN |
37 | types are ordered properly and re-position the following boot options just after\r |
38 | the corresponding boot options with the same device type.\r | |
39 | For example:\r | |
40 | 1. Input = [Harddisk1 CdRom2 Efi1 Harddisk0 CdRom0 CdRom1 Harddisk2 Efi0]\r | |
41 | Assuming [Harddisk1 CdRom2 Efi1] is ordered properly\r | |
42 | Output = [Harddisk1 Harddisk0 Harddisk2 CdRom2 CdRom0 CdRom1 Efi1 Efi0]\r | |
43 | \r | |
44 | 2. Input = [Efi1 Efi0 CdRom1 Harddisk0 Harddisk1 Harddisk2 CdRom0 CdRom2]\r | |
45 | Assuming [Efi1 Efi0 CdRom1 Harddisk0] is ordered properly\r | |
46 | Output = [Efi1 Efi0 CdRom1 CdRom0 CdRom2 Harddisk0 Harddisk1 Harddisk2]\r | |
22d1f978 RN |
47 | **/\r |
48 | VOID\r | |
49 | GroupMultipleLegacyBootOption4SameType (\r | |
16e5944a | 50 | VOID\r |
22d1f978 RN |
51 | );\r |
52 | \r | |
53 | /**\r | |
54 | Re-order the Boot Option according to the DevOrder.\r | |
55 | \r | |
56 | The routine re-orders the Boot Option in BootOption array according to\r | |
57 | the order specified by DevOrder.\r | |
58 | \r | |
22d1f978 RN |
59 | @param DevOrder Pointer to buffer containing the BBS Index,\r |
60 | high 8-bit value 0xFF indicating a disabled boot option\r | |
61 | @param DevOrderCount Count of the BBS Index\r | |
16e5944a | 62 | @param EnBootOption Callee allocated buffer containing the enabled Boot Option Numbers\r |
22d1f978 | 63 | @param EnBootOptionCount Count of the enabled Boot Option Numbers\r |
16e5944a | 64 | @param DisBootOption Callee allocated buffer containing the disabled Boot Option Numbers\r |
22d1f978 RN |
65 | @param DisBootOptionCount Count of the disabled Boot Option Numbers\r |
66 | **/\r | |
67 | VOID\r | |
68 | OrderLegacyBootOption4SameType (\r | |
22d1f978 RN |
69 | UINT16 *DevOrder,\r |
70 | UINTN DevOrderCount,\r | |
16e5944a | 71 | UINT16 **EnBootOption,\r |
22d1f978 | 72 | UINTN *EnBootOptionCount,\r |
16e5944a | 73 | UINT16 **DisBootOption,\r |
22d1f978 RN |
74 | UINTN *DisBootOptionCount\r |
75 | );\r | |
5c08e117 | 76 | #endif\r |