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 */