[config] Make PXE stack a compile-time option
[people/cooldavid/gpxe.git] / src / config / general.h
1 #ifndef CONFIG_GENERAL_H
2 #define CONFIG_GENERAL_H
3
4 /** @file
5  *
6  * General configuration
7  *
8  */
9
10 FILE_LICENCE ( GPL2_OR_LATER );
11
12 #include <config/defaults.h>
13
14 /*
15  * Branding
16  *
17  * Vendors may use these strings to add their own branding to gPXE.
18  * PRODUCT_NAME is displayed prior to any gPXE branding in startup
19  * messages, and PRODUCT_SHORT_NAME is used where a brief product
20  * label is required (e.g. in BIOS boot selection menus).
21  *
22  * To minimise end-user confusion, it's probably a good idea to either
23  * make PRODUCT_SHORT_NAME a substring of PRODUCT_NAME or leave it as
24  * "gPXE".
25  *
26  */
27 #define PRODUCT_NAME ""
28 #define PRODUCT_SHORT_NAME "gPXE"
29
30 /*
31  * Timer configuration
32  *
33  */
34 #define BANNER_TIMEOUT  20      /* Tenths of a second for which the shell
35                                    banner should appear */
36
37 /*
38  * Network protocols
39  *
40  */
41
42 #define NET_PROTO_IPV4          /* IPv4 protocol */
43
44 /*
45  * PXE support
46  *
47  */
48 //#undef        PXE_STACK               /* PXE stack in gPXE - you want this! */
49 //#undef        PXE_MENU                /* PXE menu booting */
50
51 /*
52  * Download protocols
53  *
54  */
55
56 #define DOWNLOAD_PROTO_TFTP     /* Trivial File Transfer Protocol */
57 #undef  DOWNLOAD_PROTO_NFS      /* Network File System */
58 #define DOWNLOAD_PROTO_HTTP     /* Hypertext Transfer Protocol */
59 #undef  DOWNLOAD_PROTO_HTTPS    /* Secure Hypertext Transfer Protocol */
60 #undef  DOWNLOAD_PROTO_FTP      /* File Transfer Protocol */
61 #undef  DOWNLOAD_PROTO_TFTM     /* Multicast Trivial File Transfer Protocol */
62 #undef  DOWNLOAD_PROTO_SLAM     /* Scalable Local Area Multicast */
63 #undef  DOWNLOAD_PROTO_FSP      /* FSP? */
64
65 /*
66  * SAN boot protocols
67  *
68  */
69
70 //#undef        SANBOOT_PROTO_ISCSI     /* iSCSI protocol */
71 //#undef        SANBOOT_PROTO_AOE       /* AoE protocol */
72 //#undef        SANBOOT_PROTO_IB_SRP    /* Infiniband SCSI RDMA protocol */
73
74 /*
75  * 802.11 cryptosystems and handshaking protocols
76  *
77  */
78 #define CRYPTO_80211_WEP        /* WEP encryption (deprecated and insecure!) */
79 #define CRYPTO_80211_WPA        /* WPA Personal, authenticating with passphrase */
80 #define CRYPTO_80211_WPA2       /* Add support for stronger WPA cryptography */
81
82 /*
83  * Name resolution modules
84  *
85  */
86
87 #define DNS_RESOLVER            /* DNS resolver */
88 #undef  NMB_RESOLVER            /* NMB resolver */
89
90 /*
91  * Image types
92  *
93  * Etherboot supports various image formats.  Select whichever ones
94  * you want to use.
95  *
96  */
97 //#define       IMAGE_NBI               /* NBI image support */
98 //#define       IMAGE_ELF               /* ELF image support */
99 //#define       IMAGE_FREEBSD           /* FreeBSD kernel image support */
100 //#define       IMAGE_MULTIBOOT         /* MultiBoot image support */
101 //#define       IMAGE_AOUT              /* a.out image support */
102 //#define       IMAGE_WINCE             /* WinCE image support */
103 //#define       IMAGE_PXE               /* PXE image support */
104 //#define       IMAGE_SCRIPT            /* gPXE script image support */
105 //#define       IMAGE_BZIMAGE           /* Linux bzImage image support */
106 //#define       IMAGE_COMBOOT           /* SYSLINUX COMBOOT image support */
107 //#define       IMAGE_EFI               /* EFI image support */
108
109 /*
110  * Command-line commands to include
111  *
112  */
113 #define AUTOBOOT_CMD            /* Automatic booting */
114 #define NVO_CMD                 /* Non-volatile option storage commands */
115 #define CONFIG_CMD              /* Option configuration console */
116 #define IFMGMT_CMD              /* Interface management commands */
117 #define IWMGMT_CMD              /* Wireless interface management commands */
118 #define ROUTE_CMD               /* Routing table management commands */
119 #define IMAGE_CMD               /* Image management commands */
120 #define DHCP_CMD                /* DHCP management commands */
121 #define SANBOOT_CMD             /* SAN boot commands */
122 #define LOGIN_CMD               /* Login command */
123 #undef  TIME_CMD                /* Time commands */
124 #undef  DIGEST_CMD              /* Image crypto digest commands */
125 //#undef        PXE_CMD                 /* PXE commands */
126
127 /*
128  * Error message tables to include
129  *
130  */
131 #undef  ERRMSG_80211            /* All 802.11 error descriptions (~3.3kb) */
132
133 /*
134  * Obscure configuration options
135  *
136  * You probably don't need to touch these.
137  *
138  */
139
140 #undef  BUILD_SERIAL            /* Include an automatic build serial
141                                  * number.  Add "bs" to the list of
142                                  * make targets.  For example:
143                                  * "make bin/rtl8139.dsk bs" */
144 #undef  BUILD_ID                /* Include a custom build ID string,
145                                  * e.g "test-foo" */
146 #undef  NULL_TRAP               /* Attempt to catch NULL function calls */
147 #undef  GDBSERIAL               /* Remote GDB debugging over serial */
148 #undef  GDBUDP                  /* Remote GDB debugging over UDP
149                                  * (both may be set) */
150
151 #endif /* CONFIG_GENERAL_H */