aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/dhcp.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2011-07-06 15:26:01 +0100
committerMichael Brown <mcb30@ipxe.org>2011-07-06 15:26:43 +0100
commit9cf2f9dc2b773b6544c86a7a347e143d7c101ef7 (patch)
treeaa85bad281bbbae9496b34b0b306b3d197a197ff /src/include/ipxe/dhcp.h
parent66cbae73bd6c7a7c87647cb0fe9fa761f9a51aaf (diff)
downloadipxe-9cf2f9dc2b773b6544c86a7a347e143d7c101ef7.tar.gz
[dhcp] Add symbolic definitions for DHCP client architecture values
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/dhcp.h')
-rw-r--r--src/include/ipxe/dhcp.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/include/ipxe/dhcp.h b/src/include/ipxe/dhcp.h
index 148e3d66f..dbca8e633 100644
--- a/src/include/ipxe/dhcp.h
+++ b/src/include/ipxe/dhcp.h
@@ -240,6 +240,39 @@ struct dhcp_client_id {
/** Client system architecture */
#define DHCP_CLIENT_ARCHITECTURE 93
+/** DHCP client architecture */
+struct dhcp_client_architecture {
+ uint16_t arch;
+} __attribute__ (( packed ));
+
+/** DHCP client architecture values
+ *
+ * These are defined by the PXE specification and redefined by
+ * RFC4578.
+ */
+enum dhcp_client_architecture_values {
+ /** Intel x86 PC */
+ DHCP_CLIENT_ARCHITECTURE_X86 = 0x0000,
+ /** NEC/PC98 */
+ DHCP_CLIENT_ARCHITECTURE_PC98 = 0x0001,
+ /** EFI Itanium */
+ DHCP_CLIENT_ARCHITECTURE_IA64 = 0x0002,
+ /** DEC Alpha */
+ DHCP_CLIENT_ARCHITECTURE_ALPHA = 0x0003,
+ /** Arc x86 */
+ DHCP_CLIENT_ARCHITECTURE_ARCX86 = 0x0004,
+ /** Intel Lean Client */
+ DHCP_CLIENT_ARCHITECTURE_LC = 0x0005,
+ /** EFI IA32 */
+ DHCP_CLIENT_ARCHITECTURE_IA32 = 0x0006,
+ /** EFI BC */
+ DHCP_CLIENT_ARCHITECTURE_EFI = 0x0007,
+ /** EFI Xscale */
+ DHCP_CLIENT_ARCHITECTURE_XSCALE = 0x0008,
+ /** EFI x86-64 */
+ DHCP_CLIENT_ARCHITECTURE_X86_64 = 0x0009,
+};
+
/** Client network device interface */
#define DHCP_CLIENT_NDI 94