1*25202Skarels #define RCSUDPHDR "$Header: udp.h,v 1.1 84/04/05 15:23:56 walsh Exp $" 2*25202Skarels 3*25202Skarels struct udp { /* user dgram proto leader (fits over ip hdr) */ 4*25202Skarels char u_x[8]; /* unused fields from ip */ 5*25202Skarels u_char u_x1; /* unused */ 6*25202Skarels u_char u_pr; /* protocol number */ 7*25202Skarels u_short u_ilen; /* pseudo header length == UDP length */ 8*25202Skarels struct in_addr u_s; /* source internet address */ 9*25202Skarels struct in_addr u_d; /* destination internet address */ 10*25202Skarels u_short u_src; /* source port */ 11*25202Skarels u_short u_dst; /* destination port */ 12*25202Skarels u_short u_len; /* length */ 13*25202Skarels u_short u_sum; /* checksum */ 14*25202Skarels }; 15*25202Skarels 16*25202Skarels #define UDPSIZE 8 /* UDP header only */ 17*25202Skarels #define UDPCKSIZE 12 /* UDP pseudo header */ 18*25202Skarels 19*25202Skarels struct udp_stat { 20*25202Skarels struct in_stat u_in; 21*25202Skarels #define u_total u_in.in_total 22*25202Skarels #define u_badsum u_in.in_badsum 23*25202Skarels #define u_tooshort u_in.in_tooshort 24*25202Skarels #define u_drops u_in.in_drops 25*25202Skarels int u_sonospace; /* #udp pkts user socket rcv buf full (drop) */ 26*25202Skarels int u_nobuf; /* #udp pkts can't m_get for socket code */ 27*25202Skarels }; 28*25202Skarels 29*25202Skarels /* 30*25202Skarels * UDP port information 31*25202Skarels */ 32*25202Skarels 33*25202Skarels #define UDP_RESERVED 1023 34*25202Skarels #define UDP_USERRESERVED 5000 35*25202Skarels #define UDP_MAXPORT 0xffff 36*25202Skarels 37*25202Skarels #ifdef KERNEL 38*25202Skarels extern struct udp_stat udpstat; 39*25202Skarels char *udp_conn_used(); 40*25202Skarels #endif 41