Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[dhcp] Add symbolic definitions for DHCP client architecture values
Signed-off-by: Michael Brown <mcb30@ipxe.org>
  • Loading branch information
mcb30 committed Jul 6, 2011
1 parent 66cbae7 commit 9cf2f9d
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 4 deletions.
3 changes: 2 additions & 1 deletion src/arch/i386/include/efi/ipxe/dhcp_arch.h
Expand Up @@ -33,7 +33,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
'A', 'r', 'c', 'h', ':', '0', '0', '0', '0', '6', ':', \
'U', 'N', 'D', 'I', ':', '0', '0', '3', '0', '1', '0' )

#define DHCP_ARCH_CLIENT_ARCHITECTURE DHCP_WORD ( 6 )
#define DHCP_ARCH_CLIENT_ARCHITECTURE \
DHCP_WORD ( DHCP_CLIENT_ARCHITECTURE_IA32 )

#define DHCP_ARCH_CLIENT_NDI DHCP_OPTION ( 1 /* UNDI */ , 3, 10 /* v3.10 */ )

Expand Down
3 changes: 2 additions & 1 deletion src/arch/i386/include/pcbios/ipxe/dhcp_arch.h
Expand Up @@ -33,7 +33,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
'A', 'r', 'c', 'h', ':', '0', '0', '0', '0', '0', ':', \
'U', 'N', 'D', 'I', ':', '0', '0', '2', '0', '0', '1' )

#define DHCP_ARCH_CLIENT_ARCHITECTURE DHCP_WORD ( 0 )
#define DHCP_ARCH_CLIENT_ARCHITECTURE \
DHCP_WORD ( DHCP_CLIENT_ARCHITECTURE_X86 )

#define DHCP_ARCH_CLIENT_NDI DHCP_OPTION ( 1 /* UNDI */ , 2, 1 /* v2.1 */ )

Expand Down
5 changes: 3 additions & 2 deletions src/arch/x86_64/include/efi/ipxe/dhcp_arch.h
Expand Up @@ -30,10 +30,11 @@ FILE_LICENCE ( GPL2_OR_LATER );

#define DHCP_ARCH_VENDOR_CLASS_ID \
DHCP_STRING ( 'P', 'X', 'E', 'C', 'l', 'i', 'e', 'n', 't', ':', \
'A', 'r', 'c', 'h', ':', '0', '0', '0', '0', '7', ':', \
'A', 'r', 'c', 'h', ':', '0', '0', '0', '0', '9', ':', \
'U', 'N', 'D', 'I', ':', '0', '0', '3', '0', '1', '0' )

#define DHCP_ARCH_CLIENT_ARCHITECTURE DHCP_WORD ( 7 )
#define DHCP_ARCH_CLIENT_ARCHITECTURE \
DHCP_WORD ( DHCP_CLIENT_ARCHITECTURE_X86_64 )

#define DHCP_ARCH_CLIENT_NDI DHCP_OPTION ( 1 /* UNDI */ , 3, 10 /* v3.10 */ )

Expand Down
33 changes: 33 additions & 0 deletions src/include/ipxe/dhcp.h
Expand Up @@ -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

Expand Down

0 comments on commit 9cf2f9d

Please sign in to comment.