]> git.proxmox.com Git - mirror_edk2.git/blob - EdkUnixPkg/Dxe/PlatformBds/Generic/Bds.h
da902272b7d9953878b328983cc939aeb938e679
[mirror_edk2.git] / EdkUnixPkg / Dxe / PlatformBds / Generic / Bds.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 Bds.h
15
16 Abstract:
17
18 Head file for BDS Architectural Protocol implementation
19
20 Revision History
21
22 --*/
23
24 #ifndef _BDS_H
25 #define _BDS_H
26
27 //
28 // Bds AP Context data
29 //
30 #define EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE EFI_SIGNATURE_32 ('B', 'd', 's', 'A')
31 typedef struct {
32 UINTN Signature;
33
34 EFI_HANDLE Handle;
35
36 EFI_BDS_ARCH_PROTOCOL Bds;
37
38 //
39 // Save the current boot mode
40 //
41 EFI_BOOT_MODE BootMode;
42
43 //
44 // Set true if boot with default settings
45 //
46 BOOLEAN DefaultBoot;
47
48 //
49 // The system default timeout for choose the boot option
50 //
51 UINT16 TimeoutDefault;
52
53 //
54 // Memory Test Level
55 //
56 EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel;
57
58 } EFI_BDS_ARCH_PROTOCOL_INSTANCE;
59
60 #define EFI_BDS_ARCH_PROTOCOL_INSTANCE_FROM_THIS(_this) \
61 CR (_this, \
62 EFI_BDS_ARCH_PROTOCOL_INSTANCE, \
63 Bds, \
64 EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE \
65 )
66
67 //
68 // Prototypes
69 //
70 EFI_STATUS
71 EFIAPI
72 BdsInitialize (
73 IN EFI_HANDLE ImageHandle,
74 IN EFI_SYSTEM_TABLE *SystemTable
75 );
76
77 VOID
78 EFIAPI
79 BdsEntry (
80 IN EFI_BDS_ARCH_PROTOCOL *This
81 );
82
83 #endif