|
|
1.1 root 1: /*
2: * Copyright (c) 1982, 1986, 1989 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution is only permitted until one year after the first shipment
6: * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and
7: * binary forms are permitted provided that: (1) source distributions retain
8: * this entire copyright notice and comment, and (2) distributions including
9: * binaries display the following acknowledgement: This product includes
10: * software developed by the University of California, Berkeley and its
11: * contributors'' in the documentation or other materials provided with the
12: * distribution and in all advertising materials mentioning features or use
13: * of this software. Neither the name of the University nor the names of
14: * its contributors may be used to endorse or promote products derived from
15: * this software without specific prior written permission.
16: * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
17: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
18: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19: *
20: * @(#)udp_var.h 7.7 (Berkeley) 6/28/90
21: */
22:
23: /*
24: * UDP kernel structures and variables.
25: */
26: struct udpiphdr {
27: struct ipovly ui_i; /* overlaid ip structure */
28: struct udphdr ui_u; /* udp header */
29: };
30: #define ui_next ui_i.ih_next
31: #define ui_prev ui_i.ih_prev
32: #define ui_x1 ui_i.ih_x1
33: #define ui_pr ui_i.ih_pr
34: #define ui_len ui_i.ih_len
35: #define ui_src ui_i.ih_src
36: #define ui_dst ui_i.ih_dst
37: #define ui_sport ui_u.uh_sport
38: #define ui_dport ui_u.uh_dport
39: #define ui_ulen ui_u.uh_ulen
40: #define ui_sum ui_u.uh_sum
41:
42: struct udpstat {
43: /* input statistics: */
44: int udps_ipackets; /* total input packets */
45: int udps_hdrops; /* packet shorter than header */
46: int udps_badsum; /* checksum error */
47: int udps_badlen; /* data length larger than packet */
48: int udps_noport; /* no socket on port */
49: int udps_noportbcast; /* of above, arrived as broadcast */
50: int udps_fullsock; /* not delivered, input socket full */
51: int udpps_pcbcachemiss; /* input packets missing pcb cache */
52: /* output statistics: */
53: int udps_opackets; /* total output packets */
54: };
55:
56: #define UDP_TTL 30 /* default time to live for UDP packets */
57:
58: #ifdef KERNEL
59: struct inpcb udb;
60: struct udpstat udpstat;
61: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.