efiprot.h (292625) | efiprot.h (293724) |
---|---|
1/* $FreeBSD: head/sys/boot/efi/include/efiprot.h 292625 2015-12-22 20:40:34Z emaste $ */ | 1/* $FreeBSD: head/sys/boot/efi/include/efiprot.h 293724 2016-01-12 02:17:39Z smh $ */ |
2#ifndef _EFI_PROT_H 3#define _EFI_PROT_H 4 5/*++ 6 7Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved 8This software and associated documentation (if any) is furnished 9under a license and may only be used or copied in accordance --- 16 unchanged lines hidden (view full) --- 26Revision History 27 28--*/ 29 30// 31// Device Path protocol 32// 33 | 2#ifndef _EFI_PROT_H 3#define _EFI_PROT_H 4 5/*++ 6 7Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved 8This software and associated documentation (if any) is furnished 9under a license and may only be used or copied in accordance --- 16 unchanged lines hidden (view full) --- 26Revision History 27 28--*/ 29 30// 31// Device Path protocol 32// 33 |
34#define DEVICE_PATH_PROTOCOL \ 35 { 0x9576e91, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } | 34#define DEVICE_PATH_PROTOCOL \ 35 { 0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
36 37 38// 39// Block IO protocol 40// 41 42#define BLOCK_IO_PROTOCOL \ | 36 37 38// 39// Block IO protocol 40// 41 42#define BLOCK_IO_PROTOCOL \ |
43 { 0x964e5b21, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } | 43 { 0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
44#define EFI_BLOCK_IO_INTERFACE_REVISION 0x00010000 45 46INTERFACE_DECL(_EFI_BLOCK_IO); 47 48typedef 49EFI_STATUS 50(EFIAPI *EFI_BLOCK_RESET) ( 51 IN struct _EFI_BLOCK_IO *This, --- 59 unchanged lines hidden (view full) --- 111 112 113 114// 115// Disk Block IO protocol 116// 117 118#define DISK_IO_PROTOCOL \ | 44#define EFI_BLOCK_IO_INTERFACE_REVISION 0x00010000 45 46INTERFACE_DECL(_EFI_BLOCK_IO); 47 48typedef 49EFI_STATUS 50(EFIAPI *EFI_BLOCK_RESET) ( 51 IN struct _EFI_BLOCK_IO *This, --- 59 unchanged lines hidden (view full) --- 111 112 113 114// 115// Disk Block IO protocol 116// 117 118#define DISK_IO_PROTOCOL \ |
119 { 0xce345171, 0xba0b, 0x11d2, 0x8e, 0x4f, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } | 119 { 0xce345171, 0xba0b, 0x11d2, {0x8e, 0x4f, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
120#define EFI_DISK_IO_INTERFACE_REVISION 0x00010000 121 122INTERFACE_DECL(_EFI_DISK_IO); 123 124typedef 125EFI_STATUS 126(EFIAPI *EFI_DISK_READ) ( 127 IN struct _EFI_DISK_IO *This, --- 22 unchanged lines hidden (view full) --- 150} EFI_DISK_IO; 151 152 153// 154// Simple file system protocol 155// 156 157#define SIMPLE_FILE_SYSTEM_PROTOCOL \ | 120#define EFI_DISK_IO_INTERFACE_REVISION 0x00010000 121 122INTERFACE_DECL(_EFI_DISK_IO); 123 124typedef 125EFI_STATUS 126(EFIAPI *EFI_DISK_READ) ( 127 IN struct _EFI_DISK_IO *This, --- 22 unchanged lines hidden (view full) --- 150} EFI_DISK_IO; 151 152 153// 154// Simple file system protocol 155// 156 157#define SIMPLE_FILE_SYSTEM_PROTOCOL \ |
158 { 0x964e5b22, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } | 158 { 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
159 160INTERFACE_DECL(_EFI_FILE_IO_INTERFACE); 161INTERFACE_DECL(_EFI_FILE_HANDLE); 162 163typedef 164EFI_STATUS 165(EFIAPI *EFI_VOLUME_OPEN) ( 166 IN struct _EFI_FILE_IO_INTERFACE *This, --- 118 unchanged lines hidden (view full) --- 285 EFI_FILE_FLUSH Flush; 286} EFI_FILE, *EFI_FILE_HANDLE; 287 288 289// 290// File information types 291// 292 | 159 160INTERFACE_DECL(_EFI_FILE_IO_INTERFACE); 161INTERFACE_DECL(_EFI_FILE_HANDLE); 162 163typedef 164EFI_STATUS 165(EFIAPI *EFI_VOLUME_OPEN) ( 166 IN struct _EFI_FILE_IO_INTERFACE *This, --- 118 unchanged lines hidden (view full) --- 285 EFI_FILE_FLUSH Flush; 286} EFI_FILE, *EFI_FILE_HANDLE; 287 288 289// 290// File information types 291// 292 |
293#define EFI_FILE_INFO_ID \ 294 { 0x9576e92, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } | 293#define EFI_FILE_INFO_ID \ 294 { 0x9576e92, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
295 296typedef struct { 297 UINT64 Size; 298 UINT64 FileSize; 299 UINT64 PhysicalSize; 300 EFI_TIME CreateTime; 301 EFI_TIME LastAccessTime; 302 EFI_TIME ModificationTime; --- 6 unchanged lines hidden (view full) --- 309// Whenever code needs to know the size of the EFI_FILE_INFO data structure, it needs to 310// be the size of the data structure without the FileName field. The following macro 311// computes this size correctly no matter how big the FileName array is declared. 312// This is required to make the EFI_FILE_INFO data structure ANSI compilant. 313// 314 315#define SIZE_OF_EFI_FILE_INFO EFI_FIELD_OFFSET(EFI_FILE_INFO,FileName) 316 | 295 296typedef struct { 297 UINT64 Size; 298 UINT64 FileSize; 299 UINT64 PhysicalSize; 300 EFI_TIME CreateTime; 301 EFI_TIME LastAccessTime; 302 EFI_TIME ModificationTime; --- 6 unchanged lines hidden (view full) --- 309// Whenever code needs to know the size of the EFI_FILE_INFO data structure, it needs to 310// be the size of the data structure without the FileName field. The following macro 311// computes this size correctly no matter how big the FileName array is declared. 312// This is required to make the EFI_FILE_INFO data structure ANSI compilant. 313// 314 315#define SIZE_OF_EFI_FILE_INFO EFI_FIELD_OFFSET(EFI_FILE_INFO,FileName) 316 |
317#define EFI_FILE_SYSTEM_INFO_ID \ 318 { 0x9576e93, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } | 317#define EFI_FILE_SYSTEM_INFO_ID \ 318 { 0x9576e93, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
319 320typedef struct { 321 UINT64 Size; 322 BOOLEAN ReadOnly; 323 UINT64 VolumeSize; 324 UINT64 FreeSpace; 325 UINT32 BlockSize; 326 CHAR16 VolumeLabel[1]; --- 4 unchanged lines hidden (view full) --- 331// Whenever code needs to know the size of the EFI_FILE_SYSTEM_INFO data structure, it needs 332// to be the size of the data structure without the VolumeLable field. The following macro 333// computes this size correctly no matter how big the VolumeLable array is declared. 334// This is required to make the EFI_FILE_SYSTEM_INFO data structure ANSI compilant. 335// 336 337#define SIZE_OF_EFI_FILE_SYSTEM_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_INFO,VolumeLabel) 338 | 319 320typedef struct { 321 UINT64 Size; 322 BOOLEAN ReadOnly; 323 UINT64 VolumeSize; 324 UINT64 FreeSpace; 325 UINT32 BlockSize; 326 CHAR16 VolumeLabel[1]; --- 4 unchanged lines hidden (view full) --- 331// Whenever code needs to know the size of the EFI_FILE_SYSTEM_INFO data structure, it needs 332// to be the size of the data structure without the VolumeLable field. The following macro 333// computes this size correctly no matter how big the VolumeLable array is declared. 334// This is required to make the EFI_FILE_SYSTEM_INFO data structure ANSI compilant. 335// 336 337#define SIZE_OF_EFI_FILE_SYSTEM_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_INFO,VolumeLabel) 338 |
339#define EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID \ 340 { 0xDB47D7D3,0xFE81, 0x11d3, 0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } | 339#define EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID \ 340 { 0xDB47D7D3,0xFE81, 0x11d3, {0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D} } |
341 342typedef struct { 343 CHAR16 VolumeLabel[1]; 344} EFI_FILE_SYSTEM_VOLUME_LABEL_INFO; 345 346#define SIZE_OF_EFI_FILE_SYSTEM_VOLUME_LABEL_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_VOLUME_LABEL_INFO,VolumeLabel) 347 348// 349// Load file protocol 350// 351 352 353#define LOAD_FILE_PROTOCOL \ | 341 342typedef struct { 343 CHAR16 VolumeLabel[1]; 344} EFI_FILE_SYSTEM_VOLUME_LABEL_INFO; 345 346#define SIZE_OF_EFI_FILE_SYSTEM_VOLUME_LABEL_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_VOLUME_LABEL_INFO,VolumeLabel) 347 348// 349// Load file protocol 350// 351 352 353#define LOAD_FILE_PROTOCOL \ |
354 { 0x56EC3091, 0x954C, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } | 354 { 0x56EC3091, 0x954C, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} } |
355 356INTERFACE_DECL(_EFI_LOAD_FILE_INTERFACE); 357 358typedef 359EFI_STATUS 360(EFIAPI *EFI_LOAD_FILE) ( 361 IN struct _EFI_LOAD_FILE_INTERFACE *This, 362 IN EFI_DEVICE_PATH *FilePath, --- 7 unchanged lines hidden (view full) --- 370} EFI_LOAD_FILE_INTERFACE; 371 372 373// 374// Device IO protocol 375// 376 377#define DEVICE_IO_PROTOCOL \ | 355 356INTERFACE_DECL(_EFI_LOAD_FILE_INTERFACE); 357 358typedef 359EFI_STATUS 360(EFIAPI *EFI_LOAD_FILE) ( 361 IN struct _EFI_LOAD_FILE_INTERFACE *This, 362 IN EFI_DEVICE_PATH *FilePath, --- 7 unchanged lines hidden (view full) --- 370} EFI_LOAD_FILE_INTERFACE; 371 372 373// 374// Device IO protocol 375// 376 377#define DEVICE_IO_PROTOCOL \ |
378 { 0xaf6ac311, 0x84c3, 0x11d2, 0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } | 378 { 0xaf6ac311, 0x84c3, 0x11d2, {0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
379 380INTERFACE_DECL(_EFI_DEVICE_IO_INTERFACE); 381 382typedef enum { 383 IO_UINT8, 384 IO_UINT16, 385 IO_UINT32, 386 IO_UINT64, --- 93 unchanged lines hidden (view full) --- 480} EFI_DEVICE_IO_INTERFACE; 481 482 483// 484// Unicode Collation protocol 485// 486 487#define UNICODE_COLLATION_PROTOCOL \ | 379 380INTERFACE_DECL(_EFI_DEVICE_IO_INTERFACE); 381 382typedef enum { 383 IO_UINT8, 384 IO_UINT16, 385 IO_UINT32, 386 IO_UINT64, --- 93 unchanged lines hidden (view full) --- 480} EFI_DEVICE_IO_INTERFACE; 481 482 483// 484// Unicode Collation protocol 485// 486 487#define UNICODE_COLLATION_PROTOCOL \ |
488 { 0x1d85cd7f, 0xf43d, 0x11d2, 0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } | 488 { 0x1d85cd7f, 0xf43d, 0x11d2, {0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } |
489 490#define UNICODE_BYTE_ORDER_MARK (CHAR16)(0xfeff) 491 492INTERFACE_DECL(_EFI_UNICODE_COLLATION_INTERFACE); 493 494typedef 495INTN 496(EFIAPI *EFI_UNICODE_COLLATION_STRICOLL) ( --- 62 unchanged lines hidden --- | 489 490#define UNICODE_BYTE_ORDER_MARK (CHAR16)(0xfeff) 491 492INTERFACE_DECL(_EFI_UNICODE_COLLATION_INTERFACE); 493 494typedef 495INTN 496(EFIAPI *EFI_UNICODE_COLLATION_STRICOLL) ( --- 62 unchanged lines hidden --- |