Deleted Added
full compact
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 ---