xref: /titanic_52/usr/src/grub/grub-0.97/netboot/udp.h (revision 1b8adde7ba7d5e04395c141c5400dc2cffd7d809)
1*1b8adde7SWilliam Kucharski #ifndef	_UDP_H
2*1b8adde7SWilliam Kucharski #define	_UDP_H
3*1b8adde7SWilliam Kucharski 
4*1b8adde7SWilliam Kucharski /* We need 'uint16_t' and 'uint8_t'  */
5*1b8adde7SWilliam Kucharski #include "types.h"
6*1b8adde7SWilliam Kucharski /* We need 'in_addr' */
7*1b8adde7SWilliam Kucharski #include "in.h"
8*1b8adde7SWilliam Kucharski 
9*1b8adde7SWilliam Kucharski struct udp_pseudo_hdr {
10*1b8adde7SWilliam Kucharski 	in_addr  src;
11*1b8adde7SWilliam Kucharski 	in_addr  dest;
12*1b8adde7SWilliam Kucharski 	uint8_t  unused;
13*1b8adde7SWilliam Kucharski 	uint8_t  protocol;
14*1b8adde7SWilliam Kucharski 	uint16_t len;
15*1b8adde7SWilliam Kucharski };
16*1b8adde7SWilliam Kucharski struct udphdr {
17*1b8adde7SWilliam Kucharski 	uint16_t src;
18*1b8adde7SWilliam Kucharski 	uint16_t dest;
19*1b8adde7SWilliam Kucharski 	uint16_t len;
20*1b8adde7SWilliam Kucharski 	uint16_t chksum;
21*1b8adde7SWilliam Kucharski };
22*1b8adde7SWilliam Kucharski 
23*1b8adde7SWilliam Kucharski extern void build_udp_hdr(unsigned long __destip, unsigned int __srcsock,
24*1b8adde7SWilliam Kucharski 	      unsigned int __destsock, int __ttl, int __len,
25*1b8adde7SWilliam Kucharski 	      const void * __buf);
26*1b8adde7SWilliam Kucharski 
27*1b8adde7SWilliam Kucharski extern int udp_transmit(unsigned long __destip, unsigned int __srcsock,
28*1b8adde7SWilliam Kucharski 			unsigned int __destsock, int __len, const void * __buf);
29*1b8adde7SWilliam Kucharski 
30*1b8adde7SWilliam Kucharski #endif	/* _UDP_H */
31