]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - net/bootp.h
sniper: Serial number support, obtained from die ID
[karo-tx-uboot.git] / net / bootp.h
index ba9826e914cb9aaf2bcb2e14103e846ac9b94690..fcb0a64e6143c550e101e0fd7597a56804e1ef32 100644 (file)
@@ -10,7 +10,7 @@
 #define __BOOTP_H__
 
 #ifndef __NET_H__
-#include       <net.h>
+#include <net.h>
 #endif /* __NET_H__ */
 
 /**********************************************************************/
  *     BOOTP header.
  */
 #if defined(CONFIG_CMD_DHCP)
-#define OPT_SIZE 312   /* Minimum DHCP Options size per RFC2131 - results in 576 byte pkt */
+/* Minimum DHCP Options size per RFC2131 - results in 576 byte pkt */
+#define OPT_FIELD_SIZE 312
+#if defined(CONFIG_BOOTP_VENDOREX)
+extern u8 *dhcp_vendorex_prep(u8 *e); /*rtn new e after add own opts. */
+extern u8 *dhcp_vendorex_proc(u8 *e); /*rtn next e if mine,else NULL  */
+#endif
 #else
-#define OPT_SIZE 64
+#define OPT_FIELD_SIZE 64
 #endif
 
-typedef struct
-{
-       uchar           bp_op;          /* Operation                            */
+struct bootp_hdr {
+       u8              bp_op;          /* Operation                    */
 # define OP_BOOTREQUEST        1
 # define OP_BOOTREPLY  2
-       uchar           bp_htype;       /* Hardware type                        */
+       u8              bp_htype;       /* Hardware type                */
 # define HWT_ETHER     1
-       uchar           bp_hlen;        /* Hardware address length              */
+       u8              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)
+       u8              bp_hops;        /* Hop count (gateway thing)    */
+       u32             bp_id;          /* Transaction ID               */
+       u16             bp_secs;        /* Seconds since boot           */
+       u16             bp_spare1;      /* Alignment                    */
+       struct in_addr  bp_ciaddr;      /* Client IP address            */
+       struct in_addr  bp_yiaddr;      /* Your (client) IP address     */
+       struct in_addr  bp_siaddr;      /* Server IP address            */
+       struct in_addr  bp_giaddr;      /* Gateway IP address           */
+       u8              bp_chaddr[16];  /* Client hardware address      */
+       char            bp_sname[64];   /* Server host name             */
+       char            bp_file[128];   /* Boot file name               */
+       char            bp_vend[OPT_FIELD_SIZE]; /* Vendor information  */
+};
+
+#define BOOTP_HDR_SIZE sizeof(struct bootp_hdr)
 
 /**********************************************************************/
 /*
@@ -56,19 +59,16 @@ typedef struct
  */
 
 /* bootp.c */
-extern ulong   BootpID;                /* ID of cur BOOTP request              */
-extern char    BootFile[128];          /* Boot file name                       */
-extern int     BootpTry;
-#ifdef CONFIG_BOOTP_RANDOM_DELAY
-ulong          seed1, seed2;           /* seed for random BOOTP delay          */
-#endif
+extern u32     bootp_id;               /* ID of cur BOOTP request      */
+extern int     bootp_try;
 
 
 /* Send a BOOTP request */
-extern void    BootpRequest (void);
+void bootp_reset(void);
+void bootp_request(void);
 
 /****************** DHCP Support *********************/
-extern void DhcpRequest(void);
+void dhcp_request(void);
 
 /* DHCP States */
 typedef enum { INIT,
@@ -88,8 +88,6 @@ typedef enum { INIT,
 #define DHCP_NAK      6
 #define DHCP_RELEASE  7
 
-#define SELECT_TIMEOUT 3       /* Seconds to wait for offers */
-
 /**********************************************************************/
 
 #endif /* __BOOTP_H__ */