1#ifndef _IPXE_FEATURES_H
2#define _IPXE_FEATURES_H
22#define FEATURE_PROTOCOL 01
23#define FEATURE_IMAGE 02
24#define FEATURE_MISC 03
37#define DHCP_EB_FEATURE_PXE_EXT 0x10
38#define DHCP_EB_FEATURE_ISCSI 0x11
39#define DHCP_EB_FEATURE_AOE 0x12
40#define DHCP_EB_FEATURE_HTTP 0x13
41#define DHCP_EB_FEATURE_HTTPS 0x14
42#define DHCP_EB_FEATURE_TFTP 0x15
43#define DHCP_EB_FEATURE_FTP 0x16
44#define DHCP_EB_FEATURE_DNS 0x17
45#define DHCP_EB_FEATURE_BZIMAGE 0x18
46#define DHCP_EB_FEATURE_MULTIBOOT 0x19
47#define DHCP_EB_FEATURE_SLAM 0x1a
48#define DHCP_EB_FEATURE_SRP 0x1b
49#define DHCP_EB_FEATURE_NBI 0x20
50#define DHCP_EB_FEATURE_PXE 0x21
51#define DHCP_EB_FEATURE_ELF 0x22
52#define DHCP_EB_FEATURE_COMBOOT 0x23
53#define DHCP_EB_FEATURE_EFI 0x24
54#define DHCP_EB_FEATURE_FCOE 0x25
55#define DHCP_EB_FEATURE_VLAN 0x26
56#define DHCP_EB_FEATURE_MENU 0x27
57#define DHCP_EB_FEATURE_SDI 0x28
58#define DHCP_EB_FEATURE_NFS 0x29
63#define DHCP_FEATURES __table ( uint8_t, "dhcp_features" )
66#define __dhcp_feature __table_entry ( DHCP_FEATURES, 01 )
69#define DHCP_FEATURE( feature_opt, ... ) \
70 _DHCP_FEATURE ( OBJECT, feature_opt, __VA_ARGS__ )
71#define _DHCP_FEATURE( _name, feature_opt, ... ) \
72 __DHCP_FEATURE ( _name, feature_opt, __VA_ARGS__ )
73#define __DHCP_FEATURE( _name, feature_opt, ... ) \
74 uint8_t __dhcp_feature_ ## _name [] __dhcp_feature = { \
75 feature_opt, DHCP_OPTION ( __VA_ARGS__ ) \
85#define FEATURES __table ( struct feature, "features" )
88#define __feature_name( category ) __table_entry ( FEATURES, category )
91#define FEATURE_NAME( category, text ) \
92 _FEATURE_NAME ( category, OBJECT, text )
93#define _FEATURE_NAME( category, _name, text ) \
94 __FEATURE_NAME ( category, _name, text )
95#define __FEATURE_NAME( category, _name, text ) \
96 struct feature __feature_ ## _name __feature_name ( category ) = { \
101#define FEATURE( category, text, feature_opt, version ) \
102 FEATURE_NAME ( category, text ); \
103 DHCP_FEATURE ( feature_opt, version );
106#define FEATURE_VERSION( ... ) \
107 DHCP_FEATURE ( DHCP_ENCAPSULATED ( DHCP_EB_VERSION ), __VA_ARGS__ )
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Dynamic Host Configuration Protocol.