xref: /illumos-gate/usr/src/uts/common/netinet/udp.h (revision f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01)
1 /*
2  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3  * Use is subject to license terms.
4  */
5 
6 /*
7  * Copyright (c) 1982, 1986 Regents of the University of California.
8  * All rights reserved.  The Berkeley software License Agreement
9  * specifies the terms and conditions for redistribution.
10  */
11 
12 /*
13  * Udp protocol header.
14  * Per RFC 768, September, 1981.
15  */
16 
17 #ifndef	_NETINET_UDP_H
18 #define	_NETINET_UDP_H
19 
20 #pragma ident	"%Z%%M%	%I%	%E% SMI"
21 /* udp.h 1.7 88/08/19 SMI; from UCB 7.1 6/5/86	*/
22 
23 #ifdef	__cplusplus
24 extern "C" {
25 #endif
26 
27 struct udphdr {
28 	in_port_t	uh_sport;		/* source port */
29 	in_port_t	uh_dport;		/* destination port */
30 	int16_t		uh_ulen;		/* udp length */
31 	uint16_t	uh_sum;			/* udp checksum */
32 };
33 
34 /* Option definitions. */
35 #define	UDP_ANONPRIVBIND	0x0100		/* for internal use only */
36 #define	UDP_EXCLBIND		0x0101		/* for internal use only */
37 #define	UDP_RCVHDR		0x0102		/* for internal use only */
38 /*
39  * Following option in UDP_ namespace required to be exposed through
40  * <xti.h> (It also requires exposing options not implemented). The options
41  * with potential for conflicts use #ifndef guards.
42  *
43  */
44 #ifndef UDP_CHECKSUM
45 #define	UDP_CHECKSUM	0x0600
46 #endif
47 
48 #ifdef	__cplusplus
49 }
50 #endif
51 
52 #endif	/* _NETINET_UDP_H */
53