Home | History | Annotate | Download | only in netinet
      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