#ifndef __EFI_UEFI_HTTP_BOOT_DHCP4_H__\r
#define __EFI_UEFI_HTTP_BOOT_DHCP4_H__\r
\r
-#define HTTP_BOOT_DHCP4_OPTION_MAX_NUM 16\r
-#define HTTP_BOOT_DHCP4_OPTION_MAX_SIZE 312\r
-#define HTTP_BOOT_DHCP4_PACKET_MAX_SIZE 1472\r
+#define HTTP_BOOT_DHCP4_OPTION_MAX_NUM 16\r
+#define HTTP_BOOT_DHCP4_OPTION_MAX_SIZE 312\r
+#define HTTP_BOOT_DHCP4_PACKET_MAX_SIZE 1472\r
\r
-#define HTTP_BOOT_DHCP4_OPCODE_REQUEST 1\r
-#define HTTP_BOOT_DHCP4_OPCODE_REPLY 2\r
-#define HTTP_BOOT_DHCP4_MSG_TYPE_REQUEST 3\r
-#define HTTP_BOOT_DHCP4_MAGIC 0x63538263 // network byte order\r
+#define HTTP_BOOT_DHCP4_OPCODE_REQUEST 1\r
+#define HTTP_BOOT_DHCP4_OPCODE_REPLY 2\r
+#define HTTP_BOOT_DHCP4_MSG_TYPE_REQUEST 3\r
+#define HTTP_BOOT_DHCP4_MAGIC 0x63538263 // network byte order\r
\r
-#define HTTP_BOOT_DHCP4_OVERLOAD_FILE 1\r
-#define HTTP_BOOT_DHCP4_OVERLOAD_SERVER_NAME 2\r
+#define HTTP_BOOT_DHCP4_OVERLOAD_FILE 1\r
+#define HTTP_BOOT_DHCP4_OVERLOAD_SERVER_NAME 2\r
\r
///\r
/// HTTP Tag definition that identifies the processor\r
/// http://www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml\r
///\r
#if defined (MDE_CPU_IA32)\r
-#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_IA32\r
+#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_IA32\r
#elif defined (MDE_CPU_X64)\r
-#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_X64\r
+#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_X64\r
#elif defined (MDE_CPU_ARM)\r
-#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_ARM\r
+#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_ARM\r
#elif defined (MDE_CPU_AARCH64)\r
-#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_AARCH64\r
+#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_AARCH64\r
#elif defined (MDE_CPU_RISCV64)\r
-#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_RISCV64\r
+#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_RISCV64\r
#elif defined (MDE_CPU_EBC)\r
-#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_EBC\r
+#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_EBC\r
#endif\r
\r
/// DHCP offer types among HTTP boot.\r
HttpOfferTypeMax\r
} HTTP_BOOT_OFFER_TYPE;\r
\r
-#define HTTP_BOOT_DHCP_RETRIES 4\r
-#define HTTP_BOOT_OFFER_MAX_NUM 16\r
+#define HTTP_BOOT_DHCP_RETRIES 4\r
+#define HTTP_BOOT_OFFER_MAX_NUM 16\r
\r
// The array index of the DHCP4 option tag interested\r
//\r
-#define HTTP_BOOT_DHCP4_TAG_INDEX_BOOTFILE_LEN 0\r
-#define HTTP_BOOT_DHCP4_TAG_INDEX_OVERLOAD 1\r
-#define HTTP_BOOT_DHCP4_TAG_INDEX_MSG_TYPE 2\r
-#define HTTP_BOOT_DHCP4_TAG_INDEX_SERVER_ID 3\r
-#define HTTP_BOOT_DHCP4_TAG_INDEX_CLASS_ID 4\r
-#define HTTP_BOOT_DHCP4_TAG_INDEX_BOOTFILE 5\r
-#define HTTP_BOOT_DHCP4_TAG_INDEX_DNS_SERVER 6\r
-#define HTTP_BOOT_DHCP4_TAG_INDEX_MAX 7\r
+#define HTTP_BOOT_DHCP4_TAG_INDEX_BOOTFILE_LEN 0\r
+#define HTTP_BOOT_DHCP4_TAG_INDEX_OVERLOAD 1\r
+#define HTTP_BOOT_DHCP4_TAG_INDEX_MSG_TYPE 2\r
+#define HTTP_BOOT_DHCP4_TAG_INDEX_SERVER_ID 3\r
+#define HTTP_BOOT_DHCP4_TAG_INDEX_CLASS_ID 4\r
+#define HTTP_BOOT_DHCP4_TAG_INDEX_BOOTFILE 5\r
+#define HTTP_BOOT_DHCP4_TAG_INDEX_DNS_SERVER 6\r
+#define HTTP_BOOT_DHCP4_TAG_INDEX_MAX 7\r
\r
#pragma pack(1)\r
\r
typedef struct {\r
- UINT8 ParaList[135];\r
+ UINT8 ParaList[135];\r
} HTTP_BOOT_DHCP4_OPTION_PARA;\r
\r
typedef struct {\r
- UINT16 Size;\r
+ UINT16 Size;\r
} HTTP_BOOT_DHCP4_OPTION_MAX_MESG_SIZE;\r
\r
typedef struct {\r
- UINT8 Type;\r
- UINT8 MajorVer;\r
- UINT8 MinorVer;\r
+ UINT8 Type;\r
+ UINT8 MajorVer;\r
+ UINT8 MinorVer;\r
} HTTP_BOOT_DHCP4_OPTION_UNDI;\r
\r
typedef struct {\r
- UINT8 Type;\r
+ UINT8 Type;\r
} HTTP_BOOT_DHCP4_OPTION_MESG;\r
\r
typedef struct {\r
- UINT16 Type;\r
+ UINT16 Type;\r
} HTTP_BOOT_DHCP4_OPTION_ARCH;\r
\r
typedef struct {\r
- UINT8 ClassIdentifier[11];\r
- UINT8 ArchitecturePrefix[5];\r
- UINT8 ArchitectureType[5];\r
- UINT8 Lit3[1];\r
- UINT8 InterfaceName[4];\r
- UINT8 Lit4[1];\r
- UINT8 UndiMajor[3];\r
- UINT8 UndiMinor[3];\r
+ UINT8 ClassIdentifier[11];\r
+ UINT8 ArchitecturePrefix[5];\r
+ UINT8 ArchitectureType[5];\r
+ UINT8 Lit3[1];\r
+ UINT8 InterfaceName[4];\r
+ UINT8 Lit4[1];\r
+ UINT8 UndiMajor[3];\r
+ UINT8 UndiMinor[3];\r
} HTTP_BOOT_DHCP4_OPTION_CLID;\r
\r
typedef struct {\r
- UINT8 Type;\r
- UINT8 Guid[16];\r
+ UINT8 Type;\r
+ UINT8 Guid[16];\r
} HTTP_BOOT_DHCP4_OPTION_UUID;\r
\r
typedef struct {\r
- UINT16 Type;\r
- UINT16 Layer;\r
+ UINT16 Type;\r
+ UINT16 Layer;\r
} HTTP_BOOT_OPTION_BOOT_ITEM;\r
\r
#pragma pack()\r
\r
typedef union {\r
- HTTP_BOOT_DHCP4_OPTION_PARA *Para;\r
- HTTP_BOOT_DHCP4_OPTION_UNDI *Undi;\r
- HTTP_BOOT_DHCP4_OPTION_ARCH *Arch;\r
- HTTP_BOOT_DHCP4_OPTION_CLID *Clid;\r
- HTTP_BOOT_DHCP4_OPTION_UUID *Uuid;\r
- HTTP_BOOT_DHCP4_OPTION_MESG *Mesg;\r
- HTTP_BOOT_DHCP4_OPTION_MAX_MESG_SIZE *MaxMesgSize;\r
+ HTTP_BOOT_DHCP4_OPTION_PARA *Para;\r
+ HTTP_BOOT_DHCP4_OPTION_UNDI *Undi;\r
+ HTTP_BOOT_DHCP4_OPTION_ARCH *Arch;\r
+ HTTP_BOOT_DHCP4_OPTION_CLID *Clid;\r
+ HTTP_BOOT_DHCP4_OPTION_UUID *Uuid;\r
+ HTTP_BOOT_DHCP4_OPTION_MESG *Mesg;\r
+ HTTP_BOOT_DHCP4_OPTION_MAX_MESG_SIZE *MaxMesgSize;\r
} HTTP_BOOT_DHCP4_OPTION_ENTRY;\r
\r
#define GET_NEXT_DHCP_OPTION(Opt) \\r
#define GET_OPTION_BUFFER_LEN(Pkt) \\r
((Pkt)->Length - sizeof (EFI_DHCP4_HEADER) - 4)\r
\r
-#define DEFAULT_CLASS_ID_DATA "HTTPClient:Arch:xxxxx:UNDI:003000"\r
-#define DEFAULT_UNDI_TYPE 1\r
-#define DEFAULT_UNDI_MAJOR 3\r
-#define DEFAULT_UNDI_MINOR 0\r
+#define DEFAULT_CLASS_ID_DATA "HTTPClient:Arch:xxxxx:UNDI:003000"\r
+#define DEFAULT_UNDI_TYPE 1\r
+#define DEFAULT_UNDI_MAJOR 3\r
+#define DEFAULT_UNDI_MINOR 0\r
\r
typedef struct {\r
- UINT32 Reserved;\r
+ UINT32 Reserved;\r
} HTTP_BOOT_VENDOR_OPTION;\r
\r
#define HTTP_CACHED_DHCP4_PACKET_MAX_SIZE (OFFSET_OF (EFI_DHCP4_PACKET, Dhcp4) + HTTP_BOOT_DHCP4_PACKET_MAX_SIZE)\r
\r
typedef union {\r
- EFI_DHCP4_PACKET Offer;\r
- EFI_DHCP4_PACKET Ack;\r
- UINT8 Buffer[HTTP_CACHED_DHCP4_PACKET_MAX_SIZE];\r
+ EFI_DHCP4_PACKET Offer;\r
+ EFI_DHCP4_PACKET Ack;\r
+ UINT8 Buffer[HTTP_CACHED_DHCP4_PACKET_MAX_SIZE];\r
} HTTP_BOOT_DHCP4_PACKET;\r
\r
typedef struct {\r
//\r
// URI component\r
//\r
- CHAR8 *Scheme;\r
- CHAR8 *Authority;\r
- CHAR8 *Path;\r
- CHAR8 *Query;\r
- CHAR8 *Fragment; /// TODO: may not required in HTTP URL\r
+ CHAR8 *Scheme;\r
+ CHAR8 *Authority;\r
+ CHAR8 *Path;\r
+ CHAR8 *Query;\r
+ CHAR8 *Fragment; /// TODO: may not required in HTTP URL\r
\r
- CHAR8 *RegName; /// Point to somewhere in Authority\r
- BOOLEAN AddrIsOk;\r
- EFI_IP_ADDRESS Address;\r
- UINT16 Port;\r
+ CHAR8 *RegName; /// Point to somewhere in Authority\r
+ BOOLEAN AddrIsOk;\r
+ EFI_IP_ADDRESS Address;\r
+ UINT16 Port;\r
} HTTP_BOOT_URI_CONTENT;\r
\r
typedef struct {\r
- HTTP_BOOT_DHCP4_PACKET Packet;\r
- HTTP_BOOT_OFFER_TYPE OfferType;\r
- VOID *UriParser;\r
- EFI_DHCP4_PACKET_OPTION *OptList[HTTP_BOOT_DHCP4_TAG_INDEX_MAX];\r
+ HTTP_BOOT_DHCP4_PACKET Packet;\r
+ HTTP_BOOT_OFFER_TYPE OfferType;\r
+ VOID *UriParser;\r
+ EFI_DHCP4_PACKET_OPTION *OptList[HTTP_BOOT_DHCP4_TAG_INDEX_MAX];\r
} HTTP_BOOT_DHCP4_PACKET_CACHE;\r
\r
/**\r
**/\r
EFI_STATUS\r
HttpBootDhcp4Dora (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
HttpBootRegisterIp4Dns (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private,\r
- IN UINTN DataLength,\r
- IN VOID *DnsServerData\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private,\r
+ IN UINTN DataLength,\r
+ IN VOID *DnsServerData\r
);\r
\r
#endif\r