xref: /illumos-gate/usr/src/uts/common/netinet/udp.h (revision efd4c9b63ad77503c101fc6c2ed8ba96c9d52964)
1 /*
2  * Copyright 2007 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 #define	UDP_NAT_T_ENDPOINT	0x0103		/* for internal use only */
39 /*
40  * Following option in UDP_ namespace required to be exposed through
41  * <xti.h> (It also requires exposing options not implemented). The options
42  * with potential for conflicts use #ifndef guards.
43  *
44  */
45 #ifndef UDP_CHECKSUM
46 #define	UDP_CHECKSUM	0x0600
47 #endif
48 
49 #ifdef	__cplusplus
50 }
51 #endif
52 
53 #endif	/* _NETINET_UDP_H */
54