X-Git-Url: http://git.etherboot.org/people/dverkamp/gpxe.git/blobdiff_plain/ee4206a8a76c6d73c014f2261d4e7a1e093a40a8..2af6c8d130b6ada61f98fc02c7911aad51768ea3:/src/include/gpxe/ip.h diff --git a/src/include/gpxe/ip.h b/src/include/gpxe/ip.h index 0a23565b..b1b0c48c 100644 --- a/src/include/gpxe/ip.h +++ b/src/include/gpxe/ip.h @@ -7,9 +7,15 @@ * */ -#include +#include +#include +#include #include +struct io_buffer; +struct net_device; +struct net_protocol; + /* IP constants */ #define IP_VER 0x40U @@ -27,7 +33,21 @@ #define IP_FRAG_IOB_SIZE 1500 #define IP_FRAG_TIMEOUT 50 -/* IP4 pseudo header */ +/** An IPv4 packet header */ +struct iphdr { + uint8_t verhdrlen; + uint8_t service; + uint16_t len; + uint16_t ident; + uint16_t frags; + uint8_t ttl; + uint8_t protocol; + uint16_t chksum; + struct in_addr src; + struct in_addr dest; +} __attribute__ (( packed )); + +/** An IPv4 pseudo header */ struct ipv4_pseudo_header { struct in_addr src; struct in_addr dest; @@ -68,11 +88,6 @@ struct frag_buffer { struct list_head list; }; -struct io_buffer; -struct net_device; -struct net_protocol; -struct tcpip_protocol; - extern struct list_head ipv4_miniroutes; extern struct net_protocol ipv4_protocol;