/// DHCP option tags (types)\r
///\r
\r
-#define DHCP_OPTION_MAGIC 0x63538263 // Network byte order\r
-#define DHCP_MAX_OPTIONS 256\r
-\r
+#define DHCP_OPTION_MAGIC 0x63538263 // Network byte order\r
+#define DHCP_MAX_OPTIONS 256\r
\r
//\r
// DHCP option types, this is used to validate the DHCP options.\r
//\r
-#define DHCP_OPTION_SWITCH 1\r
-#define DHCP_OPTION_INT8 2\r
-#define DHCP_OPTION_INT16 3\r
-#define DHCP_OPTION_INT32 4\r
-#define DHCP_OPTION_IP 5\r
-#define DHCP_OPTION_IPPAIR 6\r
+#define DHCP_OPTION_SWITCH 1\r
+#define DHCP_OPTION_INT8 2\r
+#define DHCP_OPTION_INT16 3\r
+#define DHCP_OPTION_INT32 4\r
+#define DHCP_OPTION_IP 5\r
+#define DHCP_OPTION_IPPAIR 6\r
\r
//\r
// Value of DHCP overload option\r
//\r
-#define DHCP_OVERLOAD_FILENAME 1\r
-#define DHCP_OVERLOAD_SVRNAME 2\r
-#define DHCP_OVERLOAD_BOTH 3\r
+#define DHCP_OVERLOAD_FILENAME 1\r
+#define DHCP_OVERLOAD_SVRNAME 2\r
+#define DHCP_OVERLOAD_BOTH 3\r
\r
///\r
/// The DHCP option structure. This structure extends the EFI_DHCP_OPTION\r
/// structure to support options longer than 255 bytes, such as classless route.\r
///\r
typedef struct {\r
- UINT8 Tag;\r
- UINT16 Len;\r
- UINT8 *Data;\r
+ UINT8 Tag;\r
+ UINT16 Len;\r
+ UINT8 *Data;\r
} DHCP_OPTION;\r
\r
///\r
/// Structures used to parse the DHCP options with RFC3396 support.\r
///\r
typedef struct {\r
- UINT8 Index;\r
- UINT16 Offset;\r
+ UINT8 Index;\r
+ UINT16 Offset;\r
} DHCP_OPTION_COUNT;\r
\r
typedef struct {\r
- DHCP_OPTION_COUNT *OpCount;\r
- DHCP_OPTION *Options;\r
- UINT8 *Buf;\r
+ DHCP_OPTION_COUNT *OpCount;\r
+ DHCP_OPTION *Options;\r
+ UINT8 *Buf;\r
} DHCP_OPTION_CONTEXT;\r
\r
///\r
/// classless route, who can parse the DHCP offer to get them.\r
///\r
typedef struct {\r
- IP4_ADDR NetMask; // DHCP4_TAG_NETMASK\r
- IP4_ADDR Router; // DHCP4_TAG_ROUTER, only the first router is used\r
+ IP4_ADDR NetMask; // DHCP4_TAG_NETMASK\r
+ IP4_ADDR Router; // DHCP4_TAG_ROUTER, only the first router is used\r
\r
//\r
// DHCP specific options\r
//\r
- UINT8 DhcpType; // DHCP4_TAG_MSG_TYPE\r
- UINT8 Overload; // DHCP4_TAG_OVERLOAD\r
- IP4_ADDR ServerId; // DHCP4_TAG_SERVER_ID\r
- UINT32 Lease; // DHCP4_TAG_LEASE\r
- UINT32 T1; // DHCP4_TAG_T1\r
- UINT32 T2; // DHCP4_TAG_T2\r
+ UINT8 DhcpType; // DHCP4_TAG_MSG_TYPE\r
+ UINT8 Overload; // DHCP4_TAG_OVERLOAD\r
+ IP4_ADDR ServerId; // DHCP4_TAG_SERVER_ID\r
+ UINT32 Lease; // DHCP4_TAG_LEASE\r
+ UINT32 T1; // DHCP4_TAG_T1\r
+ UINT32 T2; // DHCP4_TAG_T2\r
} DHCP_PARAMETER;\r
\r
///\r
/// inspect the option to parse DHCP_PARAMETER.\r
///\r
typedef struct {\r
- UINT8 Tag;\r
- INTN Type;\r
- INTN MinOccur;\r
- INTN MaxOccur;\r
- BOOLEAN Alert;\r
+ UINT8 Tag;\r
+ INTN Type;\r
+ INTN MinOccur;\r
+ INTN MaxOccur;\r
+ BOOLEAN Alert;\r
} DHCP_OPTION_FORMAT;\r
\r
typedef\r
EFI_STATUS\r
(*DHCP_CHECK_OPTION) (\r
- IN UINT8 Tag,\r
- IN UINT8 Len,\r
- IN UINT8 *Data,\r
- IN VOID *Context\r
+ IN UINT8 Tag,\r
+ IN UINT8 Len,\r
+ IN UINT8 *Data,\r
+ IN VOID *Context\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
DhcpIterateOptions (\r
- IN EFI_DHCP4_PACKET *Packet,\r
- IN DHCP_CHECK_OPTION Check OPTIONAL,\r
- IN VOID *Context\r
+ IN EFI_DHCP4_PACKET *Packet,\r
+ IN DHCP_CHECK_OPTION Check OPTIONAL,\r
+ IN VOID *Context\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
DhcpValidateOptions (\r
- IN EFI_DHCP4_PACKET *Packet,\r
- OUT DHCP_PARAMETER **Para OPTIONAL\r
+ IN EFI_DHCP4_PACKET *Packet,\r
+ OUT DHCP_PARAMETER **Para OPTIONAL\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
DhcpParseOption (\r
- IN EFI_DHCP4_PACKET *Packet,\r
- OUT INTN *Count,\r
- OUT DHCP_OPTION **OptionPoint\r
+ IN EFI_DHCP4_PACKET *Packet,\r
+ OUT INTN *Count,\r
+ OUT DHCP_OPTION **OptionPoint\r
);\r
\r
/**\r
**/\r
UINT8 *\r
DhcpAppendOption (\r
- OUT UINT8 *Buf,\r
- IN UINT8 Tag,\r
- IN UINT16 DataLen,\r
- IN UINT8 *Data\r
+ OUT UINT8 *Buf,\r
+ IN UINT8 Tag,\r
+ IN UINT16 DataLen,\r
+ IN UINT8 *Data\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
DhcpBuild (\r
- IN EFI_DHCP4_PACKET *SeedPacket,\r
- IN UINT32 DeleteCount,\r
- IN UINT8 *DeleteList OPTIONAL,\r
- IN UINT32 AppendCount,\r
- IN EFI_DHCP4_PACKET_OPTION *AppendList[] OPTIONAL,\r
- OUT EFI_DHCP4_PACKET **NewPacket\r
+ IN EFI_DHCP4_PACKET *SeedPacket,\r
+ IN UINT32 DeleteCount,\r
+ IN UINT8 *DeleteList OPTIONAL,\r
+ IN UINT32 AppendCount,\r
+ IN EFI_DHCP4_PACKET_OPTION *AppendList[] OPTIONAL,\r
+ OUT EFI_DHCP4_PACKET **NewPacket\r
);\r
\r
#endif\r