X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FInclude%2FUefi%2FUefiBaseType.h;h=e0c77f6b478340920cf7829fe45e7ed2b4dcce54;hp=e0e25e155a2f7d4ea4bf5f2115cc8f9b3c279eb2;hb=833bd94e28cc985c97dd0c07d7dec0eea3f023fd;hpb=959ccb23c6a14797ecaf5990bd5906b4b05a9b75 diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiBaseType.h index e0e25e155a..e0c77f6b47 100644 --- a/MdePkg/Include/Uefi/UefiBaseType.h +++ b/MdePkg/Include/Uefi/UefiBaseType.h @@ -22,23 +22,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // // Basical data type definitions introduced in UEFI. // -typedef GUID EFI_GUID; -typedef RETURN_STATUS EFI_STATUS; -typedef VOID *EFI_HANDLE; +typedef GUID EFI_GUID; +typedef RETURN_STATUS EFI_STATUS; +typedef VOID *EFI_HANDLE; -typedef VOID *EFI_EVENT; +typedef VOID *EFI_EVENT; -typedef UINTN EFI_TPL; +typedef UINTN EFI_TPL; -typedef UINT64 EFI_LBA; +typedef UINT64 EFI_LBA; -typedef UINT16 EFI_HII_HANDLE; -typedef UINT16 STRING_REF; +typedef UINT16 EFI_HII_HANDLE; +typedef UINT16 STRING_REF; -typedef UINT64 EFI_PHYSICAL_ADDRESS; -typedef UINT64 EFI_VIRTUAL_ADDRESS; +typedef UINT64 EFI_PHYSICAL_ADDRESS; +typedef UINT64 EFI_VIRTUAL_ADDRESS; // // EFI Time Abstraction: @@ -65,6 +65,29 @@ typedef struct { UINT8 Pad2; } EFI_TIME; + +// +// Networking Definitions +// +typedef struct { + UINT8 Addr[4]; +} EFI_IPv4_ADDRESS; + +typedef struct { + UINT8 Addr[16]; +} EFI_IPv6_ADDRESS; + +typedef struct { + UINT8 Addr[32]; +} EFI_MAC_ADDRESS; + +typedef union { + UINT32 Addr[4]; + EFI_IPv4_ADDRESS v4; + EFI_IPv6_ADDRESS v6; +} EFI_IP_ADDRESS; + + // // Enumeration of EFI_STATUS. // @@ -105,12 +128,12 @@ typedef struct { #define EFI_WARN_BUFFER_TOO_SMALL RETURN_WARN_BUFFER_TOO_SMALL -#define NULL_HANDLE ((VOID *) 0) +#define NULL_HANDLE ((VOID *) 0) // // Define macro to encode the status code. // -#define EFIERR(_a) ENCODE_ERROR(_a) +#define EFIERR(_a) ENCODE_ERROR(_a) #define EFI_ERROR(A) RETURN_ERROR(A) @@ -133,9 +156,12 @@ typedef struct { // 4K. This should in no way be confused with the page size of the processor. // An EFI_PAGE is just the quanta of memory in EFI. // -#define EFI_PAGE_SIZE 0x1000 -#define EFI_PAGE_MASK 0xFFF -#define EFI_PAGE_SHIFT 12 +#define EFI_PAGE_SIZE 0x1000 +#define EFI_PAGE_MASK 0xFFF +#define EFI_PAGE_SHIFT 12 + +#define EFI_SIZE_TO_PAGES(a) (((a) >> EFI_PAGE_SHIFT) + (((a) & EFI_PAGE_MASK) ? 1 : 0)) +#define EFI_PAGES_TO_SIZE(a) ( (a) << EFI_PAGE_SHIFT) #endif