Merge from Etherboot 5.4
[people/oremanj/gpxe.git] / src / include / etherboot.h
index e61a711..b9546c0 100644 (file)
@@ -1,6 +1,26 @@
 #ifndef ETHERBOOT_H
 #define ETHERBOOT_H
 
+/*
+ * Standard includes that we always want
+ *
+ */
+
+#include "compiler.h"
+#include "stddef.h"
+#include "stdint.h"
+
+
+/*
+ * IMPORTANT!!!!!!!!!!!!!!
+ *
+ * Everything below this point is cruft left over from older versions
+ * of Etherboot.  Do not add *anything* below this point.  Things are
+ * gradually being moved to individual header files.
+ *
+ */
+
+
 #include <stdarg.h>
 #include "osdep.h"
 
@@ -110,16 +130,11 @@ enum {
        MAX_ARP
 };
 
-#define IGMP_SERVER    0
-#define MAX_IGMP       IGMP_SERVER+1
-
 #define        RARP_REQUEST    3
 #define        RARP_REPLY      4
 
 #include       "in.h"
 
-#define MULTICAST_MASK    0xF0000000
-#define MULTICAST_NETWORK 0xE0000000
 
 /* Helper macros used to identify when DHCP options are valid/invalid in/outside of encapsulation */
 #define NON_ENCAP_OPT in_encapsulated_options == 0 &&
@@ -134,7 +149,6 @@ enum {
 #include       "udp.h"
 #include       "tcp.h"
 #include       "bootp.h"
-#include       "tftp.h"
 #include       "igmp.h"
 #include       "nfs.h"
 #include       "console.h"
@@ -145,12 +159,7 @@ struct arptable_t {
        uint8_t node[6];
 } PACKED;
 
-struct igmptable_t {
-       in_addr group;
-       unsigned long time;
-} PACKED;
-
-#define        KERNEL_BUF      (BOOTP_DATA_ADDR->bootp_reply.bp_file)
+#define        KERNEL_BUF      (bootp_data.bootp_reply.bp_file)
 
 #define        FLOPPY_BOOT_LOCATION    0x7c00
 
@@ -195,19 +204,13 @@ int tcp_reset(struct iphdr *ip);
 typedef int (*reply_t)(int ival, void *ptr, unsigned short ptype, struct iphdr *ip, struct udphdr *udp, struct tcphdr *tcp);
 extern int await_reply P((reply_t reply,       int ival, void *ptr, long timeout));
 extern int decode_rfc1533 P((unsigned char *, unsigned int, unsigned int, int));
-extern void join_group(int slot, unsigned long group);
-extern void leave_group(int slot);
 #define RAND_MAX 2147483647L
 extern uint16_t ipchksum P((const void *ip, unsigned long len));
 extern uint16_t add_ipchksums P((unsigned long offset, uint16_t sum, uint16_t new));
 extern int32_t random P((void));
 extern long rfc2131_sleep_interval P((long base, int exp));
-extern long rfc1112_sleep_interval P((long base, int exp));
 extern void cleanup P((void));
 
-/* config.c */
-extern void print_config(void);
-
 /* osloader.c */
 /* Be careful with sector_t it is an unsigned long long on x86 */
 typedef uint64_t sector_t;
@@ -271,15 +274,6 @@ extern int elf_start(unsigned long machine, unsigned long entry, unsigned long p
 extern unsigned long currticks P((void));
 extern void exit P((int status));
 
-/* serial.c */
-extern int serial_getc P((void));
-extern void serial_putc P((int));
-extern int serial_ischar P((void));
-extern int serial_init P((void));
-extern void serial_fini P((void));
-
-/* floppy.c */
-extern int bootdisk P((int dev,int part));
 
 /***************************************************************************
 External variables
@@ -288,10 +282,11 @@ External variables
 extern struct rom_info rom;
 extern char *hostname;
 extern int hostnamelen;
+extern unsigned char *addparam;
+extern int addparamlen;
 extern jmp_buf restart_etherboot;
 extern int url_port;
 extern struct arptable_t arptable[MAX_ARP];
-extern struct igmptable_t igmptable[MAX_IGMP];
 #ifdef IMAGE_MENU
 extern int menutmo,menudefault;
 extern unsigned char *defparams;
@@ -309,14 +304,6 @@ extern int freebsd_howto;
 extern char freebsd_kernel_env[FREEBSD_KERNEL_ENV_SIZE];
 #endif
 
-/* bootmenu.c */
-
-/* osloader.c */
-
-/* created by linker */
-extern char _virt_start[], _text[], _etext[], _text16[], _etext16[];
-extern char _data[], _edata[], _bss[], _ebss[], _end[];
-
 
 /*
  * Local variables: