Reduced etherboot.h dependencies to avoid unnecessary rebuilds.
authorMichael Brown <mcb30@etherboot.org>
Sat, 14 Jul 2007 14:52:23 +0000 (15:52 +0100)
committerMichael Brown <mcb30@etherboot.org>
Sat, 14 Jul 2007 14:52:23 +0000 (15:52 +0100)
etherboot.h is only now used by drivers that have not been updated to
the new API.

src/include/etherboot.h
src/include/osdep.h [deleted file]

index 82519fd..8d65819 100644 (file)
@@ -6,11 +6,18 @@
  *
  */
 
-#include "compiler.h"
-#include "stddef.h"
-#include "stdint.h"
+#include <stddef.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <stdio.h>
 #include <unistd.h>
+#include <strings.h>
+#include <latch.h>
+#include <console.h>
+#include <gpxe/if_arp.h>
+#include <gpxe/if_ether.h>
 
+typedef unsigned long Address;
 
 /*
  * IMPORTANT!!!!!!!!!!!!!!
  *
  */
 
-
-#include <stdarg.h>
-#include "osdep.h"
-
-#ifndef BOOT_FIRST
-#define BOOT_FIRST     BOOT_NIC
-#endif
-#ifndef BOOT_SECOND
-#define BOOT_SECOND    BOOT_NOTHING
-#endif
-#ifndef BOOT_THIRD
-#define BOOT_THIRD     BOOT_NOTHING
-#endif
-
-#define DEFAULT_BOOT_ORDER ( \
-       (BOOT_FIRST   << (0*BOOT_BITS)) | \
-       (BOOT_SECOND  << (1*BOOT_BITS)) | \
-       (BOOT_THIRD   << (2*BOOT_BITS)) | \
-       (BOOT_NOTHING << (3*BOOT_BITS)) | \
-       0)
-
-#ifdef BOOT_INDEX
-#define DEFAULT_BOOT_INDEX BOOT_INDEX
-#else
-#define DEFAULT_BOOT_INDEX 0
-#endif
-
-#if    !defined(TAGGED_IMAGE) && !defined(AOUT_IMAGE) && !defined(ELF_IMAGE) && !defined(ELF64_IMAGE) && !defined(COFF_IMAGE) && !defined(RAW_IMAGE)
-#define        TAGGED_IMAGE            /* choose at least one */
-#endif
-
-#define K_ESC          '\033'
-#define K_EOF          '\04'  /* Ctrl-D */
-#define K_INTR         '\03'  /* Ctrl-C */
-
-/*  Edit this to change the path to hostspecific kernel image
-    kernel.<client_ip_address> in RARP boot */
-#ifndef        DEFAULT_KERNELPATH
-#define        DEFAULT_KERNELPATH      "/tftpboot/kernel.%@"
-#endif
-
-#ifdef FREEBSD_PXEEMU
-#undef DEFAULT_BOOTFILE
-#ifndef PXENFSROOTPATH
-#define PXENFSROOTPATH ""
-#endif
-#define DEFAULT_BOOTFILE       PXENFSROOTPATH "/boot/pxeboot"
-#endif
-
-#ifndef        MAX_TFTP_RETRIES
-#define MAX_TFTP_RETRIES       20
-#endif
-
-#ifndef        MAX_BOOTP_RETRIES
-#define MAX_BOOTP_RETRIES      20
-#endif
-
-#define MAX_BOOTP_EXTLEN       (ETH_MAX_MTU-sizeof(struct bootpip_t))
-
-#ifndef        MAX_ARP_RETRIES
-#define MAX_ARP_RETRIES                20
-#endif
-
-#ifndef        MAX_RPC_RETRIES
-#define MAX_RPC_RETRIES                20
-#endif
-
 /* Link configuration time in tenths of a second */
 #ifndef VALID_LINK_TIMEOUT
 #define VALID_LINK_TIMEOUT     100 /* 10.0 seconds */
 #endif
 
-/* Inter-packet retry in ticks */
-#ifndef TIMEOUT
-#define TIMEOUT                        (10*TICKS_PER_SEC)
-#endif
-
-#ifndef BOOTP_TIMEOUT
-#define BOOTP_TIMEOUT          (2*TICKS_PER_SEC)
-#endif
-
-/* Max interval between IGMP packets */
-#define IGMP_INTERVAL                  (10*TICKS_PER_SEC)
-#define IGMPv1_ROUTER_PRESENT_TIMEOUT  (400*TICKS_PER_SEC)
-
-/* These settings have sense only if compiled with -DCONGESTED */
-/* total retransmission timeout in ticks */
-#define TFTP_TIMEOUT           (30*TICKS_PER_SEC)
-/* packet retransmission timeout in ticks */
-#ifdef CONGESTED
-#define TFTP_REXMT             (3*TICKS_PER_SEC)
-#else
-#define TFTP_REXMT             TIMEOUT
-#endif
-
-#ifndef        NULL
-#define NULL   ((void *)0)
-#endif
-
-#include       <gpxe/if_ether.h>
-
-enum {
-       ARP_CLIENT, ARP_SERVER, ARP_GATEWAY,
-       ARP_NAMESERVER,
-#ifdef PXE_EXPORT
-       ARP_PROXYDHCP,
-#endif
-       MAX_ARP
-};
-
-#define        RARP_REQUEST    3
-#define        RARP_REPLY      4
-
-#include <gpxe/in.h>
-
-
-/* Helper macros used to identify when DHCP options are valid/invalid in/outside of encapsulation */
-#define NON_ENCAP_OPT in_encapsulated_options == 0 &&
-#ifdef ALLOW_ONLY_ENCAPSULATED
-#define ENCAP_OPT in_encapsulated_options == 1 &&
-#else
-#define ENCAP_OPT
-#endif
-
-#include       <gpxe/if_arp.h>
-#include       "ip.h"
-#include       "udp.h"
-#include       "old_tcp.h"
-#include       "bootp.h"
-#include       "igmp.h"
-#include       "nfs.h"
-#include       "console.h"
-#include       "stdlib.h"
-
-struct arptable_t {
-       struct in_addr ipaddr;
-       uint8_t node[6];
-} PACKED;
-
-#define        KERNEL_BUF      (bootp_data.bootp_reply.bp_file)
-
-#define        FLOPPY_BOOT_LOCATION    0x7c00
-
-struct rom_info {
-       unsigned short  rom_segment;
-       unsigned short  rom_length;
-};
-
-extern inline int rom_address_ok(struct rom_info *rom, int assigned_rom_segment)
-{
-       return (assigned_rom_segment < 0xC000
-               || assigned_rom_segment == rom->rom_segment);
-}
-
-/* Define a type for passing info to a loaded program */
-struct ebinfo {
-       uint8_t  major, minor;  /* Version */
-       uint16_t flags;         /* Bit flags */
-};
-
-/***************************************************************************
-External prototypes
-***************************************************************************/
-/* main.c */
-struct Elf_Bhdr;
-extern int main();
-extern char as_main_program;
-/* nic.c */
-extern void rx_qdrain P((void));
-extern int ip_transmit P((int len, const void *buf));
-extern void build_ip_hdr P((unsigned long destip, int ttl, int protocol, 
-       int option_len, int len, const void *buf));
-extern void build_udp_hdr P((unsigned long destip, 
-       unsigned int srcsock, unsigned int destsock, int ttl,
-       int len, const void *buf));
-extern int udp_transmit P((unsigned long destip, unsigned int srcsock,
-       unsigned int destsock, int len, const void *buf));
-extern int tcp_transmit(unsigned long destip, unsigned int srcsock,
-                       unsigned int destsock, long send_seq, long recv_seq,
-                       int window, int flags, int len, const void *buf);
-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));
-#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 long rfc2131_sleep_interval P((long base, int exp));
-extern void cleanup P((void));
-
-/* osloader.c */
-/* Be careful with sector_t it is an unsigned long long on x86 */
-typedef uint64_t sector_t;
-typedef sector_t (*os_download_t)(unsigned char *data, unsigned int len, int eof);
-extern os_download_t probe_image(unsigned char *data, unsigned int len);
-extern int load_block P((unsigned char *, unsigned int, unsigned int, int ));
-
-/* misc.c */
-extern void twiddle P((void));
-extern void interruptible_sleep P((int secs));
-extern int strcasecmp P((const char *a, const char *b));
-extern char *substr P((const char *a, const char *b));
-
-extern unsigned long get_boot_order(unsigned long order, unsigned *index);
-extern void disk_init P((void));
-extern unsigned int pcbios_disk_read P((int drv,int c,int h,int s,char *buf));
-
-/* start32.S */
-struct os_entry_regs {
-       /* Be careful changing this structure
-        * as it is used by assembly language code.
-        */
-       uint32_t  edi; /*  0 */
-       uint32_t  esi; /*  4 */
-       uint32_t  ebp; /*  8 */
-       uint32_t  esp; /* 12 */
-       uint32_t  ebx; /* 16 */
-       uint32_t  edx; /* 20 */
-       uint32_t  ecx; /* 24 */
-       uint32_t  eax; /* 28 */
-       
-       uint32_t saved_ebp; /* 32 */
-       uint32_t saved_esi; /* 36 */
-       uint32_t saved_edi; /* 40 */
-       uint32_t saved_ebx; /* 44 */
-       uint32_t saved_eip; /* 48 */
-       uint32_t saved_esp; /* 52 */
-};
-struct regs {
-       /* Be careful changing this structure
-        * as it is used by assembly language code.
-        */
-       uint32_t  edi; /*  0 */
-       uint32_t  esi; /*  4 */
-       uint32_t  ebp; /*  8 */
-       uint32_t  esp; /* 12 */
-       uint32_t  ebx; /* 16 */
-       uint32_t  edx; /* 20 */
-       uint32_t  ecx; /* 24 */
-       uint32_t  eax; /* 28 */
-};
-extern struct os_entry_regs os_regs;
-extern struct regs initial_regs;
-extern int xstart32(unsigned long entry_point, ...);
-extern int xstart_lm(unsigned long entry_point, unsigned long params);
-extern void xend32 P((void));
-struct Elf_Bhdr *prepare_boot_params(void *header);
-extern int elf_start(unsigned long machine, unsigned long entry, unsigned long params);
-extern unsigned long currticks P((void));
-extern void exit P((int status));
-
-
-/***************************************************************************
-External variables
-***************************************************************************/
-/* main.c */
-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];
-#ifdef IMAGE_MENU
-extern int menutmo,menudefault;
-extern unsigned char *defparams;
-extern int defparams_max;
-#endif
-#ifdef MOTD
-extern unsigned char *motd[RFC1533_VENDOR_NUMOFMOTD];
-#endif
-extern struct bootpd_t bootp_data;
-#define        BOOTP_DATA_ADDR (&bootp_data)
-extern unsigned char *end_of_rfc1533;
-#ifdef IMAGE_FREEBSD
-extern int freebsd_howto;
-#define FREEBSD_KERNEL_ENV_SIZE 256
-extern char freebsd_kernel_env[FREEBSD_KERNEL_ENV_SIZE];
-#endif
-
-
 /*
  * Local variables:
  *  c-basic-offset: 8
diff --git a/src/include/osdep.h b/src/include/osdep.h
deleted file mode 100644 (file)
index bc1f166..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef        ETHERBOOT_OSDEP_H
-#define ETHERBOOT_OSDEP_H
-
-/* Optimization barrier */
-/* The "volatile" is due to gcc bugs */
-#define barrier() __asm__ __volatile__("": : :"memory")
-
-#include "stdint.h"
-#include "limits.h"
-#include "string.h"
-#include "io.h"
-#include "endian.h"
-#include "byteswap.h"
-#include "setjmp.h"
-#include "latch.h"
-
-typedef        unsigned long Address;
-
-/* ANSI prototyping macro */
-#ifdef __STDC__
-#define        P(x)    x
-#else
-#define        P(x)    ()
-#endif
-
-#endif
-
-/*
- * Local variables:
- *  c-basic-offset: 8
- * End:
- */