summaryrefslogtreecommitdiff
path: root/EDK/MiniSetup/BootOnly/bbs.h
blob: 1bdd3a457b242c8bf1fc17b09105ea3b3be8b743 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
//**                                                             **//
//**         (C)Copyright 2010, American Megatrends, Inc.        **//
//**                                                             **//
//**                     All Rights Reserved.                    **//
//**                                                             **//
//**   5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093  **//
//**                                                             **//
//**                     Phone (770)-246-8600                    **//
//**                                                             **//
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
// $Archive: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/BootOnly/bbs.h $
//
// $Author: Arunsb $
//
// $Revision: 6 $
//
// $Date: 10/18/12 5:58a $
//
//*****************************************************************//
//*****************************************************************//
// Revision History
// ----------------
// $Log: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/BootOnly/bbs.h $
// 
// 6     10/18/12 5:58a Arunsb
// Updated for 2.16.1235 QA submission
// 
// 9     10/10/12 12:36p Arunsb
// Synched the source for v2.16.1232, backup with Aptio
// 
// 5     12/21/10 11:46a Mallikarjunanv
// [TAG]  		EIP47353
// [Category]  	Improvement
// [Description]  	The #define 32 is tokenized so it can be able to
// display more than 32 characters for some boot options. 
// [Files]  		bbs.h, MiniSetup.sdl
// 
// 4     2/19/10 8:14a Mallikarjunanv
// updated year in copyright message
// 
// 3     6/16/09 2:16p Presannar
// Added File Headers for Header Files
// 
// 2     6/12/09 7:41p Presannar
// Initial implementation of coding standards
// 
// 1     6/04/09 8:05p Madhans
// 
// 1     4/28/09 11:11p Madhans
// Tse 2.0 Code complete Checkin.
// 
// 2     1/30/09 6:06p Madhans
// Function headers added. 
// 
// 1     12/18/08 7:58p Madhans
// Intial version of TSE Lite sources
// 
//*****************************************************************//
//*****************************************************************//
//**********************************************************************
//<AMI_FHDR_START>
//
// Name:		bbs.h
//
// Description:	Header file for bbs/legacy boot management.
//
//<AMI_FHDR_END>
//**********************************************************************

#ifndef _BBS_H_
#define _BBS_H_

UINT16	gBBSHardDiskOffset ;
UINT16	gBBSCDOffset ;
UINT16	gBBSFloppyOffset ;
UINT16	gBBSNetworkOffset ;
UINT16	gBBSBevOffset ;

#ifndef MAX_DRIVE_NAME
#define MAX_DRIVE_NAME TSE_MAX_DRIVE_NAME // EIP : 47353 MAX_DRIVE_NAME 32 macro value is changed to TSE_MAX_DRIVE_NAME SDL TOKEN. So maximum character of Drive name can be determined at run time
#endif //MAX_DRIVE_NAME

typedef struct
{
	UINT16	HardDiskCount;
	UINT16	CDROMCount;
	UINT16	FloppyCount;
	UINT16	NetworkCount;
	UINT16	BevCount;
}
BBS_DEVICE_COUNT;

typedef struct
{
	UINT32	Type;
	UINT16	Length;
	UINT16	Data[1];
}
BBS_ORDER_TABLE;

#define BBS_ORDER_DISABLE_MASK  0xFF00

typedef struct _BBS_ORDER_LIST
{
    UINT16	Index;
    CHAR16	Name[MAX_DRIVE_NAME];
}
BBS_ORDER_LIST;

//exported variables
extern EFI_GUID gLegacyDevGuid;

//exported functions
VOID BBSGetDeviceList( VOID );
VOID BBSSetBootPriorities( BOOT_DATA *pBootData, UINT16 *pOrder, UINTN u16OrderCount);
EFI_STATUS BBSSetBootNowPriority( BOOT_DATA *BootData,UINTN uiPrefferedDevice,BOOLEAN ShowAllBbsDev);
BOOLEAN BBSValidDevicePath( EFI_DEVICE_PATH_PROTOCOL *DevicePath );
EFI_STATUS BBSLaunchDevicePath( EFI_DEVICE_PATH_PROTOCOL *DevicePath );

VOID BBSUpdateBootData(UINT16 GroupNo);
CHAR16 *BBSGetOptionName( UINT16 *Option, UINT16 Pos  );
//VOID BBSUpdateOrder(UINT16 newOption,UINT32 *offset,UINTN *size, VOID **buffer);
VOID BBSSetDisabled(UINT16 Index, VOID **DisDPs, UINTN *DPSize);

EFI_STATUS BbsItkBoot();

#endif /* _BBS_H_ */

//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2010, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**     5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093     **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************