1 /*++ 2 3 Copyright (c) 1998 Intel Corporation 4 5 Module Name: 6 7 lib.h 8 9 Abstract: 10 11 EFI library header files 12 13 14 15 Revision History 16 17 --*/ 18 19 #ifdef __GNUC__ 20 #pragma GCC visibility push(hidden) 21 #endif 22 23 #include "efi.h" 24 #include "efilib.h" 25 #include "efirtlib.h" 26 27 // 28 // Include non architectural protocols 29 // 30 #include "protocol/efivar.h" 31 #include "protocol/legacyboot.h" 32 #include "protocol/intload.h" 33 #include "protocol/vgaclass.h" 34 #include "protocol/eficonsplit.h" 35 #include "protocol/adapterdebug.h" 36 #include "protocol/intload.h" 37 38 #include "efigpt.h" 39 #include "libsmbios.h" 40 41 // 42 // Prototypes 43 // 44 45 VOID 46 InitializeGuid ( 47 VOID 48 ); 49 50 INTN EFIAPI 51 LibStubStriCmp ( 52 IN EFI_UNICODE_COLLATION_INTERFACE *This, 53 IN CHAR16 *S1, 54 IN CHAR16 *S2 55 ); 56 57 BOOLEAN EFIAPI 58 LibStubMetaiMatch ( 59 IN EFI_UNICODE_COLLATION_INTERFACE *This, 60 IN CHAR16 *String, 61 IN CHAR16 *Pattern 62 ); 63 64 VOID EFIAPI 65 LibStubStrLwrUpr ( 66 IN EFI_UNICODE_COLLATION_INTERFACE *This, 67 IN CHAR16 *Str 68 ); 69 70 BOOLEAN 71 LibMatchDevicePaths ( 72 IN EFI_DEVICE_PATH *Multi, 73 IN EFI_DEVICE_PATH *Single 74 ); 75 76 EFI_DEVICE_PATH * 77 LibDuplicateDevicePathInstance ( 78 IN EFI_DEVICE_PATH *DevPath 79 ); 80 81 82 // 83 // Globals 84 // 85 extern BOOLEAN LibInitialized; 86 extern BOOLEAN LibFwInstance; 87 extern EFI_HANDLE LibImageHandle; 88 extern SIMPLE_TEXT_OUTPUT_INTERFACE *LibRuntimeDebugOut; 89 extern EFI_UNICODE_COLLATION_INTERFACE *UnicodeInterface; 90 extern EFI_UNICODE_COLLATION_INTERFACE LibStubUnicodeInterface; 91 extern EFI_RAISE_TPL LibRuntimeRaiseTPL; 92 extern EFI_RESTORE_TPL LibRuntimeRestoreTPL; 93 94 void *memset(void *s, int c, __SIZE_TYPE__ n); 95 96 void *memcpy(void *dest, const void *src, __SIZE_TYPE__ n); 97 void *memmove(void *dst, const void *src, uint64_t size); 98 99 size_t strnlen(const char *s, size_t maxlen);