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