]>
Commit | Line | Data |
---|---|---|
1 | /** @file\r | |
2 | declares interface functions\r | |
3 | \r | |
4 | Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>\r | |
5 | This program and the accompanying materials\r | |
6 | are licensed and made available under the terms and conditions of the BSD License\r | |
7 | which accompanies this distribution. The full text of the license may be found at\r | |
8 | http://opensource.org/licenses/bsd-license.php\r | |
9 | \r | |
10 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
11 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
12 | \r | |
13 | **/\r | |
14 | \r | |
15 | #ifndef _EFI_BDS_BBS_SUPPORT_H_\r | |
16 | #define _EFI_BDS_BBS_SUPPORT_H_\r | |
17 | \r | |
18 | #include "BootMaint.h"\r | |
19 | \r | |
20 | /**\r | |
21 | Build Legacy Device Name String according.\r | |
22 | \r | |
23 | @param CurBBSEntry BBS Table.\r | |
24 | @param Index Index.\r | |
25 | @param BufSize The buffer size.\r | |
26 | @param BootString The output string.\r | |
27 | \r | |
28 | @return VOID No output.\r | |
29 | \r | |
30 | **/\r | |
31 | VOID\r | |
32 | BdsBuildLegacyDevNameString (\r | |
33 | IN BBS_TABLE *CurBBSEntry,\r | |
34 | IN UINTN Index,\r | |
35 | IN UINTN BufSize,\r | |
36 | OUT CHAR16 *BootString\r | |
37 | );\r | |
38 | \r | |
39 | /**\r | |
40 | Group the legacy boot options in the BootOption.\r | |
41 | \r | |
42 | The routine assumes the boot options in the beginning that covers all the device \r | |
43 | types are ordered properly and re-position the following boot options just after\r | |
44 | the corresponding boot options with the same device type.\r | |
45 | For example:\r | |
46 | 1. Input = [Harddisk1 CdRom2 Efi1 Harddisk0 CdRom0 CdRom1 Harddisk2 Efi0]\r | |
47 | Assuming [Harddisk1 CdRom2 Efi1] is ordered properly\r | |
48 | Output = [Harddisk1 Harddisk0 Harddisk2 CdRom2 CdRom0 CdRom1 Efi1 Efi0]\r | |
49 | \r | |
50 | 2. Input = [Efi1 Efi0 CdRom1 Harddisk0 Harddisk1 Harddisk2 CdRom0 CdRom2]\r | |
51 | Assuming [Efi1 Efi0 CdRom1 Harddisk0] is ordered properly\r | |
52 | Output = [Efi1 Efi0 CdRom1 CdRom0 CdRom2 Harddisk0 Harddisk1 Harddisk2]\r | |
53 | **/\r | |
54 | VOID\r | |
55 | GroupMultipleLegacyBootOption4SameType (\r | |
56 | VOID\r | |
57 | );\r | |
58 | \r | |
59 | /**\r | |
60 | Re-order the Boot Option according to the DevOrder.\r | |
61 | \r | |
62 | The routine re-orders the Boot Option in BootOption array according to\r | |
63 | the order specified by DevOrder.\r | |
64 | \r | |
65 | @param DevOrder Pointer to buffer containing the BBS Index,\r | |
66 | high 8-bit value 0xFF indicating a disabled boot option\r | |
67 | @param DevOrderCount Count of the BBS Index\r | |
68 | @param EnBootOption Callee allocated buffer containing the enabled Boot Option Numbers\r | |
69 | @param EnBootOptionCount Count of the enabled Boot Option Numbers\r | |
70 | @param DisBootOption Callee allocated buffer containing the disabled Boot Option Numbers\r | |
71 | @param DisBootOptionCount Count of the disabled Boot Option Numbers\r | |
72 | **/\r | |
73 | VOID\r | |
74 | OrderLegacyBootOption4SameType (\r | |
75 | UINT16 *DevOrder,\r | |
76 | UINTN DevOrderCount,\r | |
77 | UINT16 **EnBootOption,\r | |
78 | UINTN *EnBootOptionCount,\r | |
79 | UINT16 **DisBootOption,\r | |
80 | UINTN *DisBootOptionCount\r | |
81 | );\r | |
82 | #endif\r |