xref: /onnv-gate/usr/src/grub/grub-0.97/netboot/ip.h (revision 8044:b3af80bbf173)
1*8044SWilliam.Kucharski@Sun.COM #ifndef	_IP_H
2*8044SWilliam.Kucharski@Sun.COM #define	_IP_H
3*8044SWilliam.Kucharski@Sun.COM 
4*8044SWilliam.Kucharski@Sun.COM /* We need 'uint16_t' */
5*8044SWilliam.Kucharski@Sun.COM #include "types.h"
6*8044SWilliam.Kucharski@Sun.COM /* We need 'in_addr' */
7*8044SWilliam.Kucharski@Sun.COM #include "in.h"
8*8044SWilliam.Kucharski@Sun.COM 
9*8044SWilliam.Kucharski@Sun.COM struct iphdr {
10*8044SWilliam.Kucharski@Sun.COM 	uint8_t  verhdrlen;
11*8044SWilliam.Kucharski@Sun.COM 	uint8_t  service;
12*8044SWilliam.Kucharski@Sun.COM 	uint16_t len;
13*8044SWilliam.Kucharski@Sun.COM 	uint16_t ident;
14*8044SWilliam.Kucharski@Sun.COM 	uint16_t frags;
15*8044SWilliam.Kucharski@Sun.COM 	uint8_t  ttl;
16*8044SWilliam.Kucharski@Sun.COM 	uint8_t  protocol;
17*8044SWilliam.Kucharski@Sun.COM 	uint16_t chksum;
18*8044SWilliam.Kucharski@Sun.COM 	in_addr src;
19*8044SWilliam.Kucharski@Sun.COM 	in_addr dest;
20*8044SWilliam.Kucharski@Sun.COM };
21*8044SWilliam.Kucharski@Sun.COM 
22*8044SWilliam.Kucharski@Sun.COM extern void build_ip_hdr(unsigned long __destip, int __ttl, int __protocol,
23*8044SWilliam.Kucharski@Sun.COM 			 int __option_len, int __len, const void * __buf);
24*8044SWilliam.Kucharski@Sun.COM 
25*8044SWilliam.Kucharski@Sun.COM extern int ip_transmit(int __len, const void * __buf);
26*8044SWilliam.Kucharski@Sun.COM 
27*8044SWilliam.Kucharski@Sun.COM extern uint16_t ipchksum(const void * __data, unsigned long __length);
28*8044SWilliam.Kucharski@Sun.COM 
29*8044SWilliam.Kucharski@Sun.COM extern uint16_t add_ipchksums(unsigned long __offset, uint16_t __sum,
30*8044SWilliam.Kucharski@Sun.COM 			      uint16_t __new);
31*8044SWilliam.Kucharski@Sun.COM 
32*8044SWilliam.Kucharski@Sun.COM 
33*8044SWilliam.Kucharski@Sun.COM 
34*8044SWilliam.Kucharski@Sun.COM 
35*8044SWilliam.Kucharski@Sun.COM 
36*8044SWilliam.Kucharski@Sun.COM #endif	/* _IP_H */
37