1 /* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12 /* 13 * Copyright 2012 David Hoeppner. All rights reserved. 14 */ 15 16 #ifndef _NETINET_DCCP_H 17 #define _NETINET_DCCP_H 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 /* 24 * DCCP header 25 */ 26 struct dccphdr { 27 uint16_t dh_sport; 28 uint16_t dh_dport; 29 uint8_t dh_offset; 30 #ifdef _BIT_FIELDS_LTOH 31 uint8_t dha_ccval:4, 32 dha_cscov:4; 33 #else 34 uint8_t dha_cscov:4, 35 dha_ccval:4; 36 #endif 37 uint16_t dha_sum; 38 #ifdef _BIT_FIELDS_LTOH 39 uint8_t dha_x:1, 40 dha_type:4, 41 dha_reserved:3; 42 #else 43 uint8_t dha_reserved:3, 44 dha_type:4, 45 dha_x:1; 46 #endif 47 uint8_t dha_res_seq; 48 uint16_t dha_seq; 49 }; 50 51 /* 52 * DCCP states 53 */ 54 #define DCCPS_CLOSED -5 55 #define DCCPS_IDLE -5 56 #define DCCPS_BOUND -4 57 #define DCCPS_LISTEN -3 58 #define DCCPS_REQUEST -2 59 #define DCCPS_REQUEST_SENT -2 60 #define DCCPS_REQUEST_RCVD -2 61 #define DCCPS_RESPOND -1 62 #define DCCPS_ACK_RCVD -1 63 #define DCCPS_PARTOPEN 0 64 #define DCCPS_ACK_SENT 1 65 #define DCCPS_ESTABLISHED 2 66 67 68 #ifdef __cplusplus 69 } 70 #endif 71 72 #endif /* _NETINET_DCCP_H */