1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _UAPI_LINUX_DCCP_H
20 #define _UAPI_LINUX_DCCP_H
21 #include <linux/types.h>
22 #include <asm/byteorder.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 struct dccp_hdr {
25  __be16 dccph_sport,
26  dccph_dport;
27  __u8 dccph_doff;
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #ifdef __LITTLE_ENDIAN_BITFIELD
30  __u8 dccph_cscov:4,
31  dccph_ccval:4;
32 #elif defined(__BIG_ENDIAN_BITFIELD)
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  __u8 dccph_ccval:4,
35  dccph_cscov:4;
36 #else
37 #error "Adjust your <asm/byteorder.h> defines"
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #endif
40  __sum16 dccph_checksum;
41 #ifdef __LITTLE_ENDIAN_BITFIELD
42  __u8 dccph_x:1,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  dccph_type:4,
45  dccph_reserved:3;
46 #elif defined(__BIG_ENDIAN_BITFIELD)
47  __u8 dccph_reserved:3,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  dccph_type:4,
50  dccph_x:1;
51 #else
52 #error "Adjust your <asm/byteorder.h> defines"
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #endif
55  __u8 dccph_seq2;
56  __be16 dccph_seq;
57 };
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 struct dccp_hdr_ext {
60  __be32 dccph_seq_low;
61 };
62 struct dccp_hdr_request {
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  __be32 dccph_req_service;
65 };
66 struct dccp_hdr_ack_bits {
67  __be16 dccph_reserved1;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  __be16 dccph_ack_nr_high;
70  __be32 dccph_ack_nr_low;
71 };
72 struct dccp_hdr_response {
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  struct dccp_hdr_ack_bits dccph_resp_ack;
75  __be32 dccph_resp_service;
76 };
77 struct dccp_hdr_reset {
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  struct dccp_hdr_ack_bits dccph_reset_ack;
80  __u8 dccph_reset_code,
81  dccph_reset_data[3];
82 };
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 enum dccp_pkt_type {
85  DCCP_PKT_REQUEST = 0,
86  DCCP_PKT_RESPONSE,
87  DCCP_PKT_DATA,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  DCCP_PKT_ACK,
90  DCCP_PKT_DATAACK,
91  DCCP_PKT_CLOSEREQ,
92  DCCP_PKT_CLOSE,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  DCCP_PKT_RESET,
95  DCCP_PKT_SYNC,
96  DCCP_PKT_SYNCACK,
97  DCCP_PKT_INVALID,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 };
100 #define DCCP_NR_PKT_TYPES DCCP_PKT_INVALID
101 enum dccp_reset_codes {
102  DCCP_RESET_CODE_UNSPECIFIED = 0,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  DCCP_RESET_CODE_CLOSED,
105  DCCP_RESET_CODE_ABORTED,
106  DCCP_RESET_CODE_NO_CONNECTION,
107  DCCP_RESET_CODE_PACKET_ERROR,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  DCCP_RESET_CODE_OPTION_ERROR,
110  DCCP_RESET_CODE_MANDATORY_ERROR,
111  DCCP_RESET_CODE_CONNECTION_REFUSED,
112  DCCP_RESET_CODE_BAD_SERVICE_CODE,
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  DCCP_RESET_CODE_TOO_BUSY,
115  DCCP_RESET_CODE_BAD_INIT_COOKIE,
116  DCCP_RESET_CODE_AGGRESSION_PENALTY,
117  DCCP_MAX_RESET_CODES
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 };
120 enum {
121  DCCPO_PADDING = 0,
122  DCCPO_MANDATORY = 1,
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  DCCPO_MIN_RESERVED = 3,
125  DCCPO_MAX_RESERVED = 31,
126  DCCPO_CHANGE_L = 32,
127  DCCPO_CONFIRM_L = 33,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  DCCPO_CHANGE_R = 34,
130  DCCPO_CONFIRM_R = 35,
131  DCCPO_NDP_COUNT = 37,
132  DCCPO_ACK_VECTOR_0 = 38,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  DCCPO_ACK_VECTOR_1 = 39,
135  DCCPO_TIMESTAMP = 41,
136  DCCPO_TIMESTAMP_ECHO = 42,
137  DCCPO_ELAPSED_TIME = 43,
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  DCCPO_MAX = 45,
140  DCCPO_MIN_RX_CCID_SPECIFIC = 128,
141  DCCPO_MAX_RX_CCID_SPECIFIC = 191,
142  DCCPO_MIN_TX_CCID_SPECIFIC = 192,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  DCCPO_MAX_TX_CCID_SPECIFIC = 255,
145 };
146 #define DCCP_SINGLE_OPT_MAXLEN 253
147 enum {
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  DCCPC_CCID2 = 2,
150  DCCPC_CCID3 = 3,
151 };
152 enum dccp_feature_numbers {
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  DCCPF_RESERVED = 0,
155  DCCPF_CCID = 1,
156  DCCPF_SHORT_SEQNOS = 2,
157  DCCPF_SEQUENCE_WINDOW = 3,
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  DCCPF_ECN_INCAPABLE = 4,
160  DCCPF_ACK_RATIO = 5,
161  DCCPF_SEND_ACK_VECTOR = 6,
162  DCCPF_SEND_NDP_COUNT = 7,
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  DCCPF_MIN_CSUM_COVER = 8,
165  DCCPF_DATA_CHECKSUM = 9,
166  DCCPF_MIN_CCID_SPECIFIC = 128,
167  DCCPF_SEND_LEV_RATE = 192,
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  DCCPF_MAX_CCID_SPECIFIC = 255,
170 };
171 enum dccp_cmsg_type {
172  DCCP_SCM_PRIORITY = 1,
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  DCCP_SCM_QPOLICY_MAX = 0xFFFF,
175  DCCP_SCM_MAX
176 };
177 enum dccp_packet_dequeueing_policy {
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  DCCPQ_POLICY_SIMPLE,
180  DCCPQ_POLICY_PRIO,
181  DCCPQ_POLICY_MAX
182 };
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 #define DCCP_SOCKOPT_PACKET_SIZE 1
185 #define DCCP_SOCKOPT_SERVICE 2
186 #define DCCP_SOCKOPT_CHANGE_L 3
187 #define DCCP_SOCKOPT_CHANGE_R 4
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 #define DCCP_SOCKOPT_GET_CUR_MPS 5
190 #define DCCP_SOCKOPT_SERVER_TIMEWAIT 6
191 #define DCCP_SOCKOPT_SEND_CSCOV 10
192 #define DCCP_SOCKOPT_RECV_CSCOV 11
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 #define DCCP_SOCKOPT_AVAILABLE_CCIDS 12
195 #define DCCP_SOCKOPT_CCID 13
196 #define DCCP_SOCKOPT_TX_CCID 14
197 #define DCCP_SOCKOPT_RX_CCID 15
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 #define DCCP_SOCKOPT_QPOLICY_ID 16
200 #define DCCP_SOCKOPT_QPOLICY_TXQLEN 17
201 #define DCCP_SOCKOPT_CCID_RX_INFO 128
202 #define DCCP_SOCKOPT_CCID_TX_INFO 192
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 #define DCCP_SERVICE_LIST_MAX_LEN 32
205 #endif
206