Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1999 Intel Corporation
Module Name:
legacyboot
Abstract:
EFI support for legacy boot
Revision History
--*/
#ifndef _LEGACY_BOOT_INCLUDE_
#define _LEGACY_BOOT_INCLUDE_
#define LEGACY_BOOT_PROTOCOL \
{ 0x376e5eb2, 0x30e4, 0x11d3, { 0xba, 0xe5, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
#pragma pack(1)
/*
* BBS 1.01 (See Appendix A) IPL and BCV Table Entry Data structure. * Seg:Off pointers have been converted to EFI pointers in this data structure * This is the structure that also maps to the EFI device path for the boot selection */ typedef struct { UINT16 DeviceType; UINT16 StatusFlag; UINT32 Reserved; VOID *BootHandler; /* Not an EFI entry point */ CHAR8 *DescString; } BBS_TABLE_ENTRY; #pragma pack()
typedef EFI_STATUS (EFIAPI *LEGACY_BOOT_CALL) ( IN EFI_DEVICE_PATH *DevicePath );
/*
* BBS support functions * PnP Call numbers and BiosSelector hidden in implementation */
typedef enum { IplRelative, BcvRelative } BBS_TYPE;
/*
* == PnP Function 0x60 then BbsVersion == 0x0101 if this call fails then BbsVersion == 0x0000 */
/*
* == PnP Function 0x61 */ typedef EFI_STATUS (EFIAPI *GET_DEVICE_COUNT) ( IN struct _LEGACY_BOOT_INTERFACE *This, IN BBS_TYPE *TableType, OUT UINTN *DeviceCount, OUT UINTN *MaxCount );
/*
* == PnP Function 0x62 */ typedef EFI_STATUS (EFIAPI *GET_PRIORITY_AND_TABLE) ( IN struct _LEGACY_BOOT_INTERFACE *This, IN BBS_TYPE *TableType, IN OUT UINTN *PrioritySize, /* MaxCount * sizeof(UINT8) */ OUT UINTN *Priority, IN OUT UINTN *TableSize, /* MaxCount * sizeof(BBS_TABLE_ENTRY) */ OUT BBS_TABLE_ENTRY *TableEntrySize );
/*
* == PnP Function 0x63 */ typedef EFI_STATUS (EFIAPI *SET_PRIORITY) ( IN struct _LEGACY_BOOT_INTERFACE *This, IN BBS_TYPE *TableType, IN OUT UINTN *PrioritySize, OUT UINTN *Priority );
typedef struct _LEGACY_BOOT_INTERFACE { LEGACY_BOOT_CALL BootIt;
/*
* New functions to allow BBS booting to be configured from EFI */ UINTN BbsVersion; /* Currently 0x0101 */ GET_DEVICE_COUNT GetDeviceCount; GET_PRIORITY_AND_TABLE GetPriorityAndTable; SET_PRIORITY SetPriority; } LEGACY_BOOT_INTERFACE;
EFI_STATUS PlInitializeLegacyBoot ( VOID );
#endif
|