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