]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiBaseType.h
Remove some unicode characters in MdePkg source code.
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiBaseType.h
index 06f27b3971099414f03c9f97bf75e58875a9aeb7..9cf36b344ff9ff6610d6350cf0a0ee141704015e 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
-\r
   Defines data types and constants introduced in UEFI.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation\r
+  Copyright (c) 2006 - 2009, Intel Corporation<BR>\r
+  Portions copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
 #ifndef __UEFI_BASETYPE_H__\r
 #define __UEFI_BASETYPE_H__\r
 \r
-#include "Base.h"\r
+#include <Base.h>\r
+\r
+//\r
+// Basic data type definitions introduced in UEFI.\r
+//\r
 \r
 ///\r
-/// Basical data type definitions introduced in UEFI.\r
-/// \r
+/// 128-bit buffer containing a unique identifier value.\r
+///\r
 typedef GUID                      EFI_GUID;\r
-\r
 ///\r
 /// Function return status for EFI API\r
 ///\r
 typedef RETURN_STATUS             EFI_STATUS;\r
+///\r
+/// A collection of related interfaces.\r
+///\r
 typedef VOID                      *EFI_HANDLE;\r
-\r
+///\r
+/// Handle to an event structure.\r
+///\r
 typedef VOID                      *EFI_EVENT;\r
-\r
+///\r
+/// Task priority level.\r
+///\r
 typedef UINTN                     EFI_TPL;\r
-\r
-\r
+///\r
+/// Logical block address.\r
+///\r
 typedef UINT64                    EFI_LBA;\r
 \r
-\r
-typedef UINT16                    STRING_REF;\r
-\r
+///\r
+/// 64-bit physical memory address.\r
+///\r
 typedef UINT64                    EFI_PHYSICAL_ADDRESS;\r
+\r
+///\r
+/// 64-bit virtual memory address.\r
+///\r
 typedef UINT64                    EFI_VIRTUAL_ADDRESS;\r
 \r
 ///\r
 /// EFI Time Abstraction:\r
-///  Year:       2000 - 20XX\r
+///  Year:       1900 - 9999\r
 ///  Month:      1 - 12\r
 ///  Day:        1 - 31\r
 ///  Hour:       0 - 23\r
@@ -68,21 +83,31 @@ typedef struct {
 } EFI_TIME;\r
 \r
 \r
-//\r
-// Networking Definitions\r
-//\r
+///\r
+/// 4-byte buffer. An IPv4 internet protocol address.\r
+///\r
 typedef struct {\r
   UINT8 Addr[4];\r
 } EFI_IPv4_ADDRESS;\r
 \r
+///\r
+/// 16-byte buffer. An IPv6 internet protocol address\r
+///\r
 typedef struct {\r
   UINT8 Addr[16];\r
 } EFI_IPv6_ADDRESS;\r
 \r
+///\r
+/// 32-byte buffer containing a network Media Access Control address.\r
+///\r
 typedef struct {\r
   UINT8 Addr[32];\r
 } EFI_MAC_ADDRESS;\r
 \r
+///\r
+/// 16-byte buffer aligned on a 4-byte boundary.\r
+/// An IPv4 or IPv6 internet protocol address.\r
+///\r
 typedef union {\r
   UINT32            Addr[4];\r
   EFI_IPv4_ADDRESS  v4;\r
@@ -90,9 +115,9 @@ typedef union {
 } EFI_IP_ADDRESS;\r
 \r
 \r
-//\r
-// Enumeration of EFI_STATUS.\r
-// \r
+///\r
+/// Enumeration of EFI_STATUS.\r
+///@{ \r
 #define EFI_SUCCESS               RETURN_SUCCESS              \r
 #define EFI_LOAD_ERROR            RETURN_LOAD_ERROR           \r
 #define EFI_INVALID_PARAMETER     RETURN_INVALID_PARAMETER    \r
@@ -129,28 +154,31 @@ typedef union {
 #define EFI_WARN_DELETE_FAILURE   RETURN_WARN_DELETE_FAILURE  \r
 #define EFI_WARN_WRITE_FAILURE    RETURN_WARN_WRITE_FAILURE   \r
 #define EFI_WARN_BUFFER_TOO_SMALL RETURN_WARN_BUFFER_TOO_SMALL\r
+///@}\r
 \r
-\r
-//\r
-// Define macro to encode the status code.\r
-// \r
+///\r
+/// Define macro to encode the status code.\r
+/// \r
 #define EFIERR(_a)                ENCODE_ERROR(_a)\r
 \r
 #define EFI_ERROR(A)              RETURN_ERROR(A)\r
 \r
-//\r
-// Define macros to build data structure signatures from characters.\r
-//\r
-#define EFI_SIGNATURE_16(A, B)        ((A) | (B << 8))\r
-#define EFI_SIGNATURE_32(A, B, C, D)  (EFI_SIGNATURE_16 (A, B) | (EFI_SIGNATURE_16 (C, D) << 16))\r
-#define EFI_SIGNATURE_64(A, B, C, D, E, F, G, H) \\r
-    (EFI_SIGNATURE_32 (A, B, C, D) | ((UINT64) (EFI_SIGNATURE_32 (E, F, G, H)) << 32))\r
-\r
-\r
 ///\r
-///  Returns the byte offset to a field within a structure\r
+/// ICMP error definitions\r
+///@{\r
+#define EFI_NETWORK_UNREACHABLE   EFIERR(100)\r
+#define EFI_HOST_UNREACHABLE      EFIERR(101) \r
+#define EFI_PROTOCOL_UNREACHABLE  EFIERR(102)\r
+#define EFI_PORT_UNREACHABLE      EFIERR(103)\r
+///@}\r
+\r
 ///\r
-#define EFI_FIELD_OFFSET(TYPE,Field) ((UINTN)(&(((TYPE *) 0)->Field)))\r
+/// Tcp connection status definitions\r
+///@{\r
+#define EFI_CONNECTION_FIN        EFIERR(104)\r
+#define EFI_CONNECTION_RESET      EFIERR(105)\r
+#define EFI_CONNECTION_REFUSED    EFIERR(106)\r
+///@}\r
 \r
 //\r
 // The EFI memory allocation functions work in units of EFI_PAGEs that are\r
@@ -165,8 +193,72 @@ typedef union {
 \r
 #define EFI_PAGES_TO_SIZE(a)   ( (a) << EFI_PAGE_SHIFT)\r
 \r
+///\r
+/// PE32+ Machine type for IA32 UEFI images\r
+///\r
+#define EFI_IMAGE_MACHINE_IA32            0x014C\r
+\r
+///\r
+/// PE32+ Machine type for IA64 UEFI images\r
+///\r
+#define EFI_IMAGE_MACHINE_IA64            0x0200\r
+\r
+///\r
+/// PE32+ Machine type for EBC UEFI images\r
+///\r
+#define EFI_IMAGE_MACHINE_EBC             0x0EBC\r
+\r
+///\r
+/// PE32+ Machine type for X64 UEFI images\r
+///\r
+#define EFI_IMAGE_MACHINE_X64             0x8664\r
+\r
+///\r
+/// PE32+ Machine type for ARM mixed ARM and Thumb/Thumb2 images\r
+///\r
+#define EFI_IMAGE_MACHINE_ARMTHUMB_MIXED  0x01C2\r
+\r
+\r
+#if   defined (MDE_CPU_IA32)\r
+\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
+  (((Machine) == EFI_IMAGE_MACHINE_IA32) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_X64) \r
+\r
+#elif defined (MDE_CPU_IPF)\r
+\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
+  (((Machine) == EFI_IMAGE_MACHINE_IA64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) \r
+\r
+#elif defined (MDE_CPU_X64)\r
+\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
+  (((Machine) == EFI_IMAGE_MACHINE_X64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
 \r
-#define EFI_MAX_BIT               MAX_BIT\r
-#define EFI_MAX_ADDRESS           MAX_ADDRESS\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_IA32) \r
+\r
+#elif defined (MDE_CPU_ARM)\r
+\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
+  (((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) \r
+\r
+#elif defined (MDE_CPU_EBC)\r
+\r
+///\r
+/// This is just to make sure you can cross compile with the EBC compiler.\r
+/// It does not make sense to have a PE loader coded in EBC. \r
+///\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_EBC)\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) \r
+\r
+#else\r
+#error Unknown Processor Type\r
+#endif\r
 \r
 #endif\r