Deleted Added
full compact
efiprot.h (96893) efiprot.h (163898)
1/* $FreeBSD: head/sys/boot/efi/include/efiprot.h 96893 2002-05-19 03:17:22Z marcel $ */
1/* $FreeBSD: head/sys/boot/efi/include/efiprot.h 163898 2006-11-02 02:42:48Z marcel $ */
2#ifndef _EFI_PROT_H
3#define _EFI_PROT_H
4
5/*++
6
2#ifndef _EFI_PROT_H
3#define _EFI_PROT_H
4
5/*++
6
7Copyright (c) 1998 Intel Corporation
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
10with the terms of the license. Except as permitted by such
11license, no part of this software or documentation may be
12reproduced, stored in a retrieval system, or transmitted in any
13form or by any means without the express written consent of
14Intel Corporation.
8
9Module Name:
10
11 efiprot.h
12
13Abstract:
14
15 EFI Protocols
16
17
18
19Revision History
20
21--*/
22
15
16Module Name:
17
18 efiprot.h
19
20Abstract:
21
22 EFI Protocols
23
24
25
26Revision History
27
28--*/
29
23/*
24 * Device Path protocol
25 */
30//
31// Device Path protocol
32//
26
27#define DEVICE_PATH_PROTOCOL \
28 { 0x9576e91, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
29
30
33
34#define DEVICE_PATH_PROTOCOL \
35 { 0x9576e91, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
36
37
31/*
32 * Block IO protocol
33 */
38//
39// Block IO protocol
40//
34
35#define BLOCK_IO_PROTOCOL \
36 { 0x964e5b21, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
37#define EFI_BLOCK_IO_INTERFACE_REVISION 0x00010000
38
39INTERFACE_DECL(_EFI_BLOCK_IO);
40
41typedef

--- 57 unchanged lines hidden (view full) ---

99 EFI_BLOCK_READ ReadBlocks;
100 EFI_BLOCK_WRITE WriteBlocks;
101 EFI_BLOCK_FLUSH FlushBlocks;
102
103} EFI_BLOCK_IO;
104
105
106
41
42#define BLOCK_IO_PROTOCOL \
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

--- 57 unchanged lines hidden (view full) ---

106 EFI_BLOCK_READ ReadBlocks;
107 EFI_BLOCK_WRITE WriteBlocks;
108 EFI_BLOCK_FLUSH FlushBlocks;
109
110} EFI_BLOCK_IO;
111
112
113
107/*
108 * Disk Block IO protocol
109 */
114//
115// Disk Block IO protocol
116//
110
111#define DISK_IO_PROTOCOL \
112 { 0xce345171, 0xba0b, 0x11d2, 0x8e, 0x4f, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
113#define EFI_DISK_IO_INTERFACE_REVISION 0x00010000
114
115INTERFACE_DECL(_EFI_DISK_IO);
116
117typedef

--- 20 unchanged lines hidden (view full) ---

138
139typedef struct _EFI_DISK_IO {
140 UINT64 Revision;
141 EFI_DISK_READ ReadDisk;
142 EFI_DISK_WRITE WriteDisk;
143} EFI_DISK_IO;
144
145
117
118#define DISK_IO_PROTOCOL \
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

--- 20 unchanged lines hidden (view full) ---

145
146typedef struct _EFI_DISK_IO {
147 UINT64 Revision;
148 EFI_DISK_READ ReadDisk;
149 EFI_DISK_WRITE WriteDisk;
150} EFI_DISK_IO;
151
152
146/*
147 * Simple filesystem protocol
148 */
153//
154// Simple file system protocol
155//
149
150#define SIMPLE_FILE_SYSTEM_PROTOCOL \
151 { 0x964e5b22, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
152
153INTERFACE_DECL(_EFI_FILE_IO_INTERFACE);
154INTERFACE_DECL(_EFI_FILE_HANDLE);
155
156typedef

--- 5 unchanged lines hidden (view full) ---

162
163#define EFI_FILE_IO_INTERFACE_REVISION 0x00010000
164
165typedef struct _EFI_FILE_IO_INTERFACE {
166 UINT64 Revision;
167 EFI_VOLUME_OPEN OpenVolume;
168} EFI_FILE_IO_INTERFACE;
169
156
157#define SIMPLE_FILE_SYSTEM_PROTOCOL \
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

--- 5 unchanged lines hidden (view full) ---

169
170#define EFI_FILE_IO_INTERFACE_REVISION 0x00010000
171
172typedef struct _EFI_FILE_IO_INTERFACE {
173 UINT64 Revision;
174 EFI_VOLUME_OPEN OpenVolume;
175} EFI_FILE_IO_INTERFACE;
176
177//
178//
179//
180
170typedef
171EFI_STATUS
172(EFIAPI *EFI_FILE_OPEN) (
173 IN struct _EFI_FILE_HANDLE *File,
174 OUT struct _EFI_FILE_HANDLE **NewHandle,
175 IN CHAR16 *FileName,
176 IN UINT64 OpenMode,
177 IN UINT64 Attributes
178 );
179
181typedef
182EFI_STATUS
183(EFIAPI *EFI_FILE_OPEN) (
184 IN struct _EFI_FILE_HANDLE *File,
185 OUT struct _EFI_FILE_HANDLE **NewHandle,
186 IN CHAR16 *FileName,
187 IN UINT64 OpenMode,
188 IN UINT64 Attributes
189 );
190
180/* Open modes */
191// Open modes
181#define EFI_FILE_MODE_READ 0x0000000000000001
182#define EFI_FILE_MODE_WRITE 0x0000000000000002
183#define EFI_FILE_MODE_CREATE 0x8000000000000000
184
192#define EFI_FILE_MODE_READ 0x0000000000000001
193#define EFI_FILE_MODE_WRITE 0x0000000000000002
194#define EFI_FILE_MODE_CREATE 0x8000000000000000
195
185/* File attributes */
196// File attributes
186#define EFI_FILE_READ_ONLY 0x0000000000000001
187#define EFI_FILE_HIDDEN 0x0000000000000002
188#define EFI_FILE_SYSTEM 0x0000000000000004
189#define EFI_FILE_RESERVIED 0x0000000000000008
190#define EFI_FILE_DIRECTORY 0x0000000000000010
191#define EFI_FILE_ARCHIVE 0x0000000000000020
192#define EFI_FILE_VALID_ATTR 0x0000000000000037
193

--- 76 unchanged lines hidden (view full) ---

270 EFI_FILE_GET_POSITION GetPosition;
271 EFI_FILE_SET_POSITION SetPosition;
272 EFI_FILE_GET_INFO GetInfo;
273 EFI_FILE_SET_INFO SetInfo;
274 EFI_FILE_FLUSH Flush;
275} EFI_FILE, *EFI_FILE_HANDLE;
276
277
197#define EFI_FILE_READ_ONLY 0x0000000000000001
198#define EFI_FILE_HIDDEN 0x0000000000000002
199#define EFI_FILE_SYSTEM 0x0000000000000004
200#define EFI_FILE_RESERVIED 0x0000000000000008
201#define EFI_FILE_DIRECTORY 0x0000000000000010
202#define EFI_FILE_ARCHIVE 0x0000000000000020
203#define EFI_FILE_VALID_ATTR 0x0000000000000037
204

--- 76 unchanged lines hidden (view full) ---

281 EFI_FILE_GET_POSITION GetPosition;
282 EFI_FILE_SET_POSITION SetPosition;
283 EFI_FILE_GET_INFO GetInfo;
284 EFI_FILE_SET_INFO SetInfo;
285 EFI_FILE_FLUSH Flush;
286} EFI_FILE, *EFI_FILE_HANDLE;
287
288
278/*
279 * File information types
280 */
289//
290// File information types
291//
281
282#define EFI_FILE_INFO_ID \
283 { 0x9576e92, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
284
285typedef struct {
286 UINT64 Size;
287 UINT64 FileSize;
288 UINT64 PhysicalSize;
289 EFI_TIME CreateTime;
290 EFI_TIME LastAccessTime;
291 EFI_TIME ModificationTime;
292 UINT64 Attribute;
293 CHAR16 FileName[1];
294} EFI_FILE_INFO;
295
292
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;
303 UINT64 Attribute;
304 CHAR16 FileName[1];
305} EFI_FILE_INFO;
306
296/*
297 * The FileName field of the EFI_FILE_INFO data structure is variable length.
298 * Whenever code needs to know the size of the EFI_FILE_INFO data structure,
299 * it needs to be the size of the data structure without the FileName field.
300 * The following macro computes this size correctly no matter how big the
301 * FileName array is declared. This is required to make the EFI_FILE_INFO
302 * data structure ANSI compliant.
303 */
307//
308// The FileName field of the EFI_FILE_INFO data structure is variable length.
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//
304
305#define SIZE_OF_EFI_FILE_INFO EFI_FIELD_OFFSET(EFI_FILE_INFO,FileName)
306
307#define EFI_FILE_SYSTEM_INFO_ID \
308 { 0x9576e93, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
309
310typedef struct {
311 UINT64 Size;
312 BOOLEAN ReadOnly;
313 UINT64 VolumeSize;
314 UINT64 FreeSpace;
315 UINT32 BlockSize;
316 CHAR16 VolumeLabel[1];
317} EFI_FILE_SYSTEM_INFO;
318
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 }
319
320typedef struct {
321 UINT64 Size;
322 BOOLEAN ReadOnly;
323 UINT64 VolumeSize;
324 UINT64 FreeSpace;
325 UINT32 BlockSize;
326 CHAR16 VolumeLabel[1];
327} EFI_FILE_SYSTEM_INFO;
328
319/*
320 * The VolumeLabel field of the EFI_FILE_SYSTEM_INFO data structure is
321 * variable length. Whenever code needs to know the size of the
322 * EFI_FILE_SYSTEM_INFO data structure, it needs to be the size of the data
323 * structure without the VolumeLable field. The following macro computes
324 * this size correctly no matter how big the VolumeLable array is declared.
325 * This is required to make the EFI_FILE_SYSTEM_INFO data structure ANSI
326 * compilant.
327 */
329//
330// The VolumeLabel field of the EFI_FILE_SYSTEM_INFO data structure is variable length.
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//
328
329#define SIZE_OF_EFI_FILE_SYSTEM_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_INFO,VolumeLabel)
330
331#define EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID \
332 { 0xDB47D7D3,0xFE81, 0x11d3, 0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }
333
334typedef struct {
335 CHAR16 VolumeLabel[1];
336} EFI_FILE_SYSTEM_VOLUME_LABEL_INFO;
337
338#define SIZE_OF_EFI_FILE_SYSTEM_VOLUME_LABEL_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_VOLUME_LABEL_INFO,VolumeLabel)
339
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 }
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
340/*
341 * Load file protocol
342 */
348//
349// Load file protocol
350//
343
351
352
344#define LOAD_FILE_PROTOCOL \
345 { 0x56EC3091, 0x954C, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }
346
347INTERFACE_DECL(_EFI_LOAD_FILE_INTERFACE);
348
349typedef
350EFI_STATUS
351(EFIAPI *EFI_LOAD_FILE) (

--- 4 unchanged lines hidden (view full) ---

356 IN VOID *Buffer OPTIONAL
357 );
358
359typedef struct _EFI_LOAD_FILE_INTERFACE {
360 EFI_LOAD_FILE LoadFile;
361} EFI_LOAD_FILE_INTERFACE;
362
363
353#define LOAD_FILE_PROTOCOL \
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) (

--- 4 unchanged lines hidden (view full) ---

365 IN VOID *Buffer OPTIONAL
366 );
367
368typedef struct _EFI_LOAD_FILE_INTERFACE {
369 EFI_LOAD_FILE LoadFile;
370} EFI_LOAD_FILE_INTERFACE;
371
372
364/*
365 * Device IO protocol
366 */
373//
374// Device IO protocol
375//
367
368#define DEVICE_IO_PROTOCOL \
369 { 0xaf6ac311, 0x84c3, 0x11d2, 0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
370
371INTERFACE_DECL(_EFI_DEVICE_IO_INTERFACE);
372
373typedef enum {
374 IO_UINT8,
375 IO_UINT16,
376 IO_UINT32,
377 IO_UINT64,
376
377#define DEVICE_IO_PROTOCOL \
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,
378/*
379 * Specification Change: Copy from MMIO to MMIO vs. MMIO to buffer, buffer to
380 * MMIO
381 */
387//
388// Specification Change: Copy from MMIO to MMIO vs. MMIO to buffer, buffer to MMIO
389//
382 MMIO_COPY_UINT8,
383 MMIO_COPY_UINT16,
384 MMIO_COPY_UINT32,
385 MMIO_COPY_UINT64
386} EFI_IO_WIDTH;
387
390 MMIO_COPY_UINT8,
391 MMIO_COPY_UINT16,
392 MMIO_COPY_UINT32,
393 MMIO_COPY_UINT64
394} EFI_IO_WIDTH;
395
388#define EFI_PCI_ADDRESS(_bus,_dev,_func) \
389 ( (UINT64) ( (((UINTN)_bus) << 24) + (((UINTN)_dev) << 16) + (((UINTN)_func) << 8) ) )
396#define EFI_PCI_ADDRESS(bus,dev,func,reg) \
397 ( (UINT64) ( (((UINTN)bus) << 24) + (((UINTN)dev) << 16) + (((UINTN)func) << 8) + ((UINTN)reg) ))
390
398
391
392typedef
393EFI_STATUS
394(EFIAPI *EFI_DEVICE_IO) (
395 IN struct _EFI_DEVICE_IO_INTERFACE *This,
396 IN EFI_IO_WIDTH Width,
397 IN UINT64 Address,
398 IN UINTN Count,
399 IN OUT VOID *Buffer

--- 68 unchanged lines hidden (view full) ---

468 EFI_PCI_DEVICE_PATH PciDevicePath;
469 EFI_IO_UNMAP Unmap;
470 EFI_IO_ALLOCATE_BUFFER AllocateBuffer;
471 EFI_IO_FLUSH Flush;
472 EFI_IO_FREE_BUFFER FreeBuffer;
473} EFI_DEVICE_IO_INTERFACE;
474
475
399typedef
400EFI_STATUS
401(EFIAPI *EFI_DEVICE_IO) (
402 IN struct _EFI_DEVICE_IO_INTERFACE *This,
403 IN EFI_IO_WIDTH Width,
404 IN UINT64 Address,
405 IN UINTN Count,
406 IN OUT VOID *Buffer

--- 68 unchanged lines hidden (view full) ---

475 EFI_PCI_DEVICE_PATH PciDevicePath;
476 EFI_IO_UNMAP Unmap;
477 EFI_IO_ALLOCATE_BUFFER AllocateBuffer;
478 EFI_IO_FLUSH Flush;
479 EFI_IO_FREE_BUFFER FreeBuffer;
480} EFI_DEVICE_IO_INTERFACE;
481
482
476/*
477 * Unicode Collation protocol
478 */
483//
484// Unicode Collation protocol
485//
479
480#define UNICODE_COLLATION_PROTOCOL \
481 { 0x1d85cd7f, 0xf43d, 0x11d2, 0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }
482
483#define UNICODE_BYTE_ORDER_MARK (CHAR16)(0xfeff)
484
485INTERFACE_DECL(_EFI_UNICODE_COLLATION_INTERFACE);
486
487typedef
488INTN
486
487#define UNICODE_COLLATION_PROTOCOL \
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
489(EFIAPI *EFI_UNICODE_STRICOLL) (
496(EFIAPI *EFI_UNICODE_COLLATION_STRICOLL) (
490 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
491 IN CHAR16 *s1,
492 IN CHAR16 *s2
493 );
494
495typedef
496BOOLEAN
497 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
498 IN CHAR16 *s1,
499 IN CHAR16 *s2
500 );
501
502typedef
503BOOLEAN
497(EFIAPI *EFI_UNICODE_METAIMATCH) (
504(EFIAPI *EFI_UNICODE_COLLATION_METAIMATCH) (
498 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
499 IN CHAR16 *String,
500 IN CHAR16 *Pattern
501 );
502
503typedef
504VOID
505 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
506 IN CHAR16 *String,
507 IN CHAR16 *Pattern
508 );
509
510typedef
511VOID
505(EFIAPI *EFI_UNICODE_STRLWR) (
512(EFIAPI *EFI_UNICODE_COLLATION_STRLWR) (
506 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
507 IN OUT CHAR16 *Str
508 );
509
510typedef
511VOID
513 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
514 IN OUT CHAR16 *Str
515 );
516
517typedef
518VOID
512(EFIAPI *EFI_UNICODE_STRUPR) (
519(EFIAPI *EFI_UNICODE_COLLATION_STRUPR) (
513 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
514 IN OUT CHAR16 *Str
515 );
516
517typedef
518VOID
520 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
521 IN OUT CHAR16 *Str
522 );
523
524typedef
525VOID
519(EFIAPI *EFI_UNICODE_FATTOSTR) (
526(EFIAPI *EFI_UNICODE_COLLATION_FATTOSTR) (
520 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
521 IN UINTN FatSize,
522 IN CHAR8 *Fat,
523 OUT CHAR16 *String
524 );
525
526typedef
527BOOLEAN
527 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
528 IN UINTN FatSize,
529 IN CHAR8 *Fat,
530 OUT CHAR16 *String
531 );
532
533typedef
534BOOLEAN
528(EFIAPI *EFI_UNICODE_STRTOFAT) (
535(EFIAPI *EFI_UNICODE_COLLATION_STRTOFAT) (
529 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
530 IN CHAR16 *String,
531 IN UINTN FatSize,
532 OUT CHAR8 *Fat
533 );
534
535
536typedef struct _EFI_UNICODE_COLLATION_INTERFACE {
537
536 IN struct _EFI_UNICODE_COLLATION_INTERFACE *This,
537 IN CHAR16 *String,
538 IN UINTN FatSize,
539 OUT CHAR8 *Fat
540 );
541
542
543typedef struct _EFI_UNICODE_COLLATION_INTERFACE {
544
538 /* general */
539 EFI_UNICODE_STRICOLL StriColl;
540 EFI_UNICODE_METAIMATCH MetaiMatch;
541 EFI_UNICODE_STRLWR StrLwr;
542 EFI_UNICODE_STRUPR StrUpr;
545 // general
546 EFI_UNICODE_COLLATION_STRICOLL StriColl;
547 EFI_UNICODE_COLLATION_METAIMATCH MetaiMatch;
548 EFI_UNICODE_COLLATION_STRLWR StrLwr;
549 EFI_UNICODE_COLLATION_STRUPR StrUpr;
543
550
544 /* for supporting fat volumes */
545 EFI_UNICODE_FATTOSTR FatToStr;
546 EFI_UNICODE_STRTOFAT StrToFat;
551 // for supporting fat volumes
552 EFI_UNICODE_COLLATION_FATTOSTR FatToStr;
553 EFI_UNICODE_COLLATION_STRTOFAT StrToFat;
547
548 CHAR8 *SupportedLanguages;
549} EFI_UNICODE_COLLATION_INTERFACE;
550
551#endif
554
555 CHAR8 *SupportedLanguages;
556} EFI_UNICODE_COLLATION_INTERFACE;
557
558#endif