X-Git-Url: https://code.delx.au/refind/blobdiff_plain/e0512caf0f64bab257084087d6a1f871f9787e44..e3d2b4a15b8e4a6e7d6e3a6421270fccfb06c4f0:/refind/lib.h diff --git a/refind/lib.h b/refind/lib.h index b0f555d..bc3454c 100644 --- a/refind/lib.h +++ b/refind/lib.h @@ -48,6 +48,35 @@ #ifdef __MAKEWITH_GNUEFI #include "efi.h" #include "efilib.h" +#pragma pack(1) + +/** + This protocol can be used on any device handle to obtain generic path/location + information concerning the physical device or logical device. If the handle does + not logically map to a physical device, the handle may not necessarily support + the device path protocol. The device path describes the location of the device + the handle is for. The size of the Device Path can be determined from the structures + that make up the Device Path. +**/ +typedef struct { + UINT8 Type; ///< 0x01 Hardware Device Path. + ///< 0x02 ACPI Device Path. + ///< 0x03 Messaging Device Path. + ///< 0x04 Media Device Path. + ///< 0x05 BIOS Boot Specification Device Path. + ///< 0x7F End of Hardware Device Path. + + UINT8 SubType; ///< Varies by Type + ///< 0xFF End Entire Device Path, or + ///< 0x01 End This Instance of a Device Path and start a new + ///< Device Path. + + UINT8 Length[2]; ///< Specific Device Path data. Type and Sub-Type define + ///< type of data. Size of data is included in Length. + +} EFI_DEVICE_PATH_PROTOCOL; + +#pragma pack() #else #include "../include/tiano_includes.h" #endif @@ -123,6 +152,10 @@ VOID MyFreePool(IN OUT VOID *Pointer); BOOLEAN EjectMedia(VOID); +UINT64 StrToHex(CHAR16 *Input, UINTN Position, UINTN NumChars); +BOOLEAN IsGuid(CHAR16 *UnknownString); CHAR16 * GuidAsString(EFI_GUID *GuidData); +EFI_GUID StringAsGuid(CHAR16 * InString); +BOOLEAN GuidsAreEqual(EFI_GUID *Guid1, EFI_GUID *Guid2); #endif \ No newline at end of file