xref: /csrg-svn/sys/deprecated/bbnnet/udp.h (revision 25202)
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