summaryrefslogtreecommitdiff
path: root/gpxe/src/include/gpxe/features.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpxe/src/include/gpxe/features.h')
-rw-r--r--gpxe/src/include/gpxe/features.h103
1 files changed, 0 insertions, 103 deletions
diff --git a/gpxe/src/include/gpxe/features.h b/gpxe/src/include/gpxe/features.h
deleted file mode 100644
index 34431867..00000000
--- a/gpxe/src/include/gpxe/features.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef _GPXE_FEATURES_H
-#define _GPXE_FEATURES_H
-
-#include <stdint.h>
-#include <gpxe/tables.h>
-#include <gpxe/dhcp.h>
-
-/** @file
- *
- * Feature list
- *
- */
-
-FILE_LICENCE ( GPL2_OR_LATER );
-
-/**
- * @defgroup featurecat Feature categories
- * @{
- */
-
-#define FEATURE_PROTOCOL 01 /**< Network protocols */
-#define FEATURE_IMAGE 02 /**< Image formats */
-#define FEATURE_MISC 03 /**< Miscellaneous */
-
-/** @} */
-
-/**
- * @defgroup dhcpfeatures DHCP feature option tags
- *
- * DHCP feature option tags are Etherboot encapsulated options in the
- * range 0x10-0x7f.
- *
- * @{
- */
-
-#define DHCP_EB_FEATURE_PXE_EXT 0x10 /**< PXE API extensions */
-#define DHCP_EB_FEATURE_ISCSI 0x11 /**< iSCSI protocol */
-#define DHCP_EB_FEATURE_AOE 0x12 /**< AoE protocol */
-#define DHCP_EB_FEATURE_HTTP 0x13 /**< HTTP protocol */
-#define DHCP_EB_FEATURE_HTTPS 0x14 /**< HTTPS protocol */
-#define DHCP_EB_FEATURE_TFTP 0x15 /**< TFTP protocol */
-#define DHCP_EB_FEATURE_FTP 0x16 /**< FTP protocol */
-#define DHCP_EB_FEATURE_DNS 0x17 /**< DNS protocol */
-#define DHCP_EB_FEATURE_BZIMAGE 0x18 /**< bzImage format */
-#define DHCP_EB_FEATURE_MULTIBOOT 0x19 /**< Multiboot format */
-#define DHCP_EB_FEATURE_SLAM 0x1a /**< SLAM protocol */
-#define DHCP_EB_FEATURE_SRP 0x1b /**< SRP protocol */
-#define DHCP_EB_FEATURE_NBI 0x20 /**< NBI format */
-#define DHCP_EB_FEATURE_PXE 0x21 /**< PXE format */
-#define DHCP_EB_FEATURE_ELF 0x22 /**< ELF format */
-#define DHCP_EB_FEATURE_COMBOOT 0x23 /**< COMBOOT format */
-#define DHCP_EB_FEATURE_EFI 0x24 /**< EFI format */
-
-/** @} */
-
-/** DHCP feature table */
-#define DHCP_FEATURES __table ( uint8_t, "dhcp_features" )
-
-/** Declare a feature code for DHCP */
-#define __dhcp_feature __table_entry ( DHCP_FEATURES, 01 )
-
-/** Construct a DHCP feature table entry */
-#define DHCP_FEATURE( feature_opt, ... ) \
- _DHCP_FEATURE ( OBJECT, feature_opt, __VA_ARGS__ )
-#define _DHCP_FEATURE( _name, feature_opt, ... ) \
- __DHCP_FEATURE ( _name, feature_opt, __VA_ARGS__ )
-#define __DHCP_FEATURE( _name, feature_opt, ... ) \
- uint8_t __dhcp_feature_ ## _name [] __dhcp_feature = { \
- feature_opt, DHCP_OPTION ( __VA_ARGS__ ) \
- };
-
-/** A named feature */
-struct feature {
- /** Feature name */
- char *name;
-};
-
-/** Named feature table */
-#define FEATURES __table ( struct feature, "features" )
-
-/** Declare a named feature */
-#define __feature_name( category ) __table_entry ( FEATURES, category )
-
-/** Construct a named feature */
-#define FEATURE_NAME( category, text ) \
- _FEATURE_NAME ( category, OBJECT, text )
-#define _FEATURE_NAME( category, _name, text ) \
- __FEATURE_NAME ( category, _name, text )
-#define __FEATURE_NAME( category, _name, text ) \
- struct feature __feature_ ## _name __feature_name ( category ) = { \
- .name = text, \
- };
-
-/** Declare a feature */
-#define FEATURE( category, text, feature_opt, version ) \
- FEATURE_NAME ( category, text ); \
- DHCP_FEATURE ( feature_opt, version );
-
-/** Declare the version number feature */
-#define FEATURE_VERSION( ... ) \
- DHCP_FEATURE ( DHCP_ENCAPSULATED ( DHCP_EB_VERSION ), __VA_ARGS__ )
-
-#endif /* _GPXE_FEATURES_H */