diff --git a/net/bootp.h b/net/bootp.h deleted file mode 100644 index d5b2233..0000000 --- a/net/bootp.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copied from LiMon - BOOTP. - * - * Copyright 1994, 1995, 2000 Neil Russell. - * (See License) - * Copyright 2000 Paolo Scaffardi - */ - -#ifndef __BOOTP_H__ -#define __BOOTP_H__ - -#ifndef __NET_H__ -#include -#endif /* __NET_H__ */ - -/**********************************************************************/ - -/* - * BOOTP header. - */ -#ifdef CONFIG_NET_DHCP -#define OPT_SIZE 312 /* Minimum DHCP Options size per RFC2131 - results in 576 byte pkt */ -#else -#define OPT_SIZE 64 -#endif - -typedef struct -{ - uchar bp_op; /* Operation */ -# define OP_BOOTREQUEST 1 -# define OP_BOOTREPLY 2 - uchar bp_htype; /* Hardware type */ -# define HWT_ETHER 1 - uchar bp_hlen; /* Hardware address length */ -# define HWL_ETHER 6 - uchar bp_hops; /* Hop count (gateway thing) */ - ulong bp_id; /* Transaction ID */ - ushort bp_secs; /* Seconds since boot */ - ushort bp_spare1; /* Alignment */ - IPaddr_t bp_ciaddr; /* Client IP address */ - IPaddr_t bp_yiaddr; /* Your (client) IP address */ - IPaddr_t bp_siaddr; /* Server IP address */ - IPaddr_t bp_giaddr; /* Gateway IP address */ - uchar bp_chaddr[16]; /* Client hardware address */ - char bp_sname[64]; /* Server host name */ - char bp_file[128]; /* Boot file name */ - char bp_vend[OPT_SIZE]; /* Vendor information */ -} Bootp_t; - -#define BOOTP_HDR_SIZE sizeof (Bootp_t) -#define BOOTP_SIZE (ETHER_HDR_SIZE + IP_HDR_SIZE + BOOTP_HDR_SIZE) - -/**********************************************************************/ -/* - * Global functions and variables. - */ - -/* bootp.c */ -extern ulong BootpID; /* ID of cur BOOTP request */ -extern char BootFile[128]; /* Boot file name */ -#ifdef CONFIG_BOOTP_RANDOM_DELAY -ulong seed1, seed2; /* seed for random BOOTP delay */ -#endif - - -/* Send a BOOTP request */ -extern void BootpRequest (void); - -/****************** DHCP Support *********************/ - -/* DHCP States */ -typedef enum { INIT, - INIT_REBOOT, - REBOOTING, - SELECTING, - REQUESTING, - REBINDING, - BOUND, - RENEWING } dhcp_state_t; - -#define DHCP_DISCOVER 1 -#define DHCP_OFFER 2 -#define DHCP_REQUEST 3 -#define DHCP_DECLINE 4 -#define DHCP_ACK 5 -#define DHCP_NAK 6 -#define DHCP_RELEASE 7 - -#define SELECT_TIMEOUT 3 /* Seconds to wait for offers */ - -/**********************************************************************/ - -#endif /* __BOOTP_H__ */ diff --git a/net/dhcp.c b/net/dhcp.c index ebbee81..311e3a9 100644 --- a/net/dhcp.c +++ b/net/dhcp.c @@ -14,10 +14,77 @@ #include #include #include -#include "bootp.h" #include "tftp.h" #include "nfs.h" +#define OPT_SIZE 312 /* Minimum DHCP Options size per RFC2131 - results in 576 byte pkt */ + +typedef struct +{ + uchar bp_op; /* Operation */ +# define OP_BOOTREQUEST 1 +# define OP_BOOTREPLY 2 + uchar bp_htype; /* Hardware type */ +# define HWT_ETHER 1 + uchar bp_hlen; /* Hardware address length */ +# define HWL_ETHER 6 + uchar bp_hops; /* Hop count (gateway thing) */ + ulong bp_id; /* Transaction ID */ + ushort bp_secs; /* Seconds since boot */ + ushort bp_spare1; /* Alignment */ + IPaddr_t bp_ciaddr; /* Client IP address */ + IPaddr_t bp_yiaddr; /* Your (client) IP address */ + IPaddr_t bp_siaddr; /* Server IP address */ + IPaddr_t bp_giaddr; /* Gateway IP address */ + uchar bp_chaddr[16]; /* Client hardware address */ + char bp_sname[64]; /* Server host name */ + char bp_file[128]; /* Boot file name */ + char bp_vend[OPT_SIZE]; /* Vendor information */ +} Bootp_t; + +#define BOOTP_HDR_SIZE sizeof (Bootp_t) +#define BOOTP_SIZE (ETHER_HDR_SIZE + IP_HDR_SIZE + BOOTP_HDR_SIZE) + +/**********************************************************************/ +/* + * Global functions and variables. + */ + +/* bootp.c */ +extern ulong BootpID; /* ID of cur BOOTP request */ +extern char BootFile[128]; /* Boot file name */ +#ifdef CONFIG_BOOTP_RANDOM_DELAY +ulong seed1, seed2; /* seed for random BOOTP delay */ +#endif + + +/* Send a BOOTP request */ +extern void BootpRequest (void); + +/****************** DHCP Support *********************/ + +/* DHCP States */ +typedef enum { INIT, + INIT_REBOOT, + REBOOTING, + SELECTING, + REQUESTING, + REBINDING, + BOUND, + RENEWING } dhcp_state_t; + +#define DHCP_DISCOVER 1 +#define DHCP_OFFER 2 +#define DHCP_REQUEST 3 +#define DHCP_DECLINE 4 +#define DHCP_ACK 5 +#define DHCP_NAK 6 +#define DHCP_RELEASE 7 + +#define SELECT_TIMEOUT 3 /* Seconds to wait for offers */ + +/**********************************************************************/ + #define BOOTP_VENDOR_MAGIC 0x63825363 /* RFC1048 Magic Cookie */ #define TIMEOUT 5 /* Seconds before trying BOOTP again */ diff --git a/net/net.c b/net/net.c index 004f53c..1730829 100644 --- a/net/net.c +++ b/net/net.c @@ -84,7 +84,6 @@ #include #include #include -#include "bootp.h" #include "tftp.h" #include "rarp.h" #include "nfs.h" diff --git a/net/nfs.c b/net/nfs.c index 39de76e..87db551 100644 --- a/net/nfs.c +++ b/net/nfs.c @@ -30,7 +30,6 @@ #include #include #include "nfs.h" -#include "bootp.h" /*#define NFS_DEBUG*/ diff --git a/net/rarp.c b/net/rarp.c index 35cd2f2..24818f8 100644 --- a/net/rarp.c +++ b/net/rarp.c @@ -26,7 +26,6 @@ #include #include #include "nfs.h" -#include "bootp.h" #include "rarp.h" #include "tftp.h" diff --git a/net/tftp.c b/net/tftp.c index 0dfa603..6a6cd6a 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -12,7 +12,6 @@ #include #include #include "tftp.h" -#include "bootp.h" #undef ET_DEBUG