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 */
24struct 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 */
59struct dccp_hdr_ext {
60 __be32 dccph_seq_low;
61};
62struct dccp_hdr_request {
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 __be32 dccph_req_service;
65};
66struct 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};
72struct 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};
77struct 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 */
84enum 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
101enum 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};
120enum {
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
147enum {
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 DCCPC_CCID2 = 2,
150 DCCPC_CCID3 = 3,
151};
152enum 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};
171enum 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};
177enum 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