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, dccph_dport;
26   __u8 dccph_doff;
27 #ifdef __LITTLE_ENDIAN_BITFIELD
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29   __u8 dccph_cscov : 4, dccph_ccval : 4;
30 #elif defined(__BIG_ENDIAN_BITFIELD)
31   __u8 dccph_ccval : 4, dccph_cscov : 4;
32 #else
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #error "Adjust your <asm/byteorder.h> defines"
35 #endif
36   __sum16 dccph_checksum;
37 #ifdef __LITTLE_ENDIAN_BITFIELD
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   __u8 dccph_x : 1, dccph_type : 4, dccph_reserved : 3;
40 #elif defined(__BIG_ENDIAN_BITFIELD)
41   __u8 dccph_reserved : 3, dccph_type : 4, dccph_x : 1;
42 #else
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #error "Adjust your <asm/byteorder.h> defines"
45 #endif
46   __u8 dccph_seq2;
47   __be16 dccph_seq;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 };
50 struct dccp_hdr_ext {
51   __be32 dccph_seq_low;
52 };
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 struct dccp_hdr_request {
55   __be32 dccph_req_service;
56 };
57 struct dccp_hdr_ack_bits {
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   __be16 dccph_reserved1;
60   __be16 dccph_ack_nr_high;
61   __be32 dccph_ack_nr_low;
62 };
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 struct dccp_hdr_response {
65   struct dccp_hdr_ack_bits dccph_resp_ack;
66   __be32 dccph_resp_service;
67 };
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 struct dccp_hdr_reset {
70   struct dccp_hdr_ack_bits dccph_reset_ack;
71   __u8 dccph_reset_code, dccph_reset_data[3];
72 };
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 enum dccp_pkt_type {
75   DCCP_PKT_REQUEST = 0,
76   DCCP_PKT_RESPONSE,
77   DCCP_PKT_DATA,
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   DCCP_PKT_ACK,
80   DCCP_PKT_DATAACK,
81   DCCP_PKT_CLOSEREQ,
82   DCCP_PKT_CLOSE,
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84   DCCP_PKT_RESET,
85   DCCP_PKT_SYNC,
86   DCCP_PKT_SYNCACK,
87   DCCP_PKT_INVALID,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 };
90 #define DCCP_NR_PKT_TYPES DCCP_PKT_INVALID
91 enum dccp_reset_codes {
92   DCCP_RESET_CODE_UNSPECIFIED = 0,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   DCCP_RESET_CODE_CLOSED,
95   DCCP_RESET_CODE_ABORTED,
96   DCCP_RESET_CODE_NO_CONNECTION,
97   DCCP_RESET_CODE_PACKET_ERROR,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   DCCP_RESET_CODE_OPTION_ERROR,
100   DCCP_RESET_CODE_MANDATORY_ERROR,
101   DCCP_RESET_CODE_CONNECTION_REFUSED,
102   DCCP_RESET_CODE_BAD_SERVICE_CODE,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   DCCP_RESET_CODE_TOO_BUSY,
105   DCCP_RESET_CODE_BAD_INIT_COOKIE,
106   DCCP_RESET_CODE_AGGRESSION_PENALTY,
107   DCCP_MAX_RESET_CODES
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 };
110 enum {
111   DCCPO_PADDING = 0,
112   DCCPO_MANDATORY = 1,
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   DCCPO_MIN_RESERVED = 3,
115   DCCPO_MAX_RESERVED = 31,
116   DCCPO_CHANGE_L = 32,
117   DCCPO_CONFIRM_L = 33,
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   DCCPO_CHANGE_R = 34,
120   DCCPO_CONFIRM_R = 35,
121   DCCPO_NDP_COUNT = 37,
122   DCCPO_ACK_VECTOR_0 = 38,
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   DCCPO_ACK_VECTOR_1 = 39,
125   DCCPO_TIMESTAMP = 41,
126   DCCPO_TIMESTAMP_ECHO = 42,
127   DCCPO_ELAPSED_TIME = 43,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   DCCPO_MAX = 45,
130   DCCPO_MIN_RX_CCID_SPECIFIC = 128,
131   DCCPO_MAX_RX_CCID_SPECIFIC = 191,
132   DCCPO_MIN_TX_CCID_SPECIFIC = 192,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134   DCCPO_MAX_TX_CCID_SPECIFIC = 255,
135 };
136 #define DCCP_SINGLE_OPT_MAXLEN 253
137 enum {
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139   DCCPC_CCID2 = 2,
140   DCCPC_CCID3 = 3,
141 };
142 enum dccp_feature_numbers {
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   DCCPF_RESERVED = 0,
145   DCCPF_CCID = 1,
146   DCCPF_SHORT_SEQNOS = 2,
147   DCCPF_SEQUENCE_WINDOW = 3,
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   DCCPF_ECN_INCAPABLE = 4,
150   DCCPF_ACK_RATIO = 5,
151   DCCPF_SEND_ACK_VECTOR = 6,
152   DCCPF_SEND_NDP_COUNT = 7,
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   DCCPF_MIN_CSUM_COVER = 8,
155   DCCPF_DATA_CHECKSUM = 9,
156   DCCPF_MIN_CCID_SPECIFIC = 128,
157   DCCPF_SEND_LEV_RATE = 192,
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   DCCPF_MAX_CCID_SPECIFIC = 255,
160 };
161 enum dccp_cmsg_type {
162   DCCP_SCM_PRIORITY = 1,
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164   DCCP_SCM_QPOLICY_MAX = 0xFFFF,
165   DCCP_SCM_MAX
166 };
167 enum dccp_packet_dequeueing_policy {
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169   DCCPQ_POLICY_SIMPLE,
170   DCCPQ_POLICY_PRIO,
171   DCCPQ_POLICY_MAX
172 };
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 #define DCCP_SOCKOPT_PACKET_SIZE 1
175 #define DCCP_SOCKOPT_SERVICE 2
176 #define DCCP_SOCKOPT_CHANGE_L 3
177 #define DCCP_SOCKOPT_CHANGE_R 4
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 #define DCCP_SOCKOPT_GET_CUR_MPS 5
180 #define DCCP_SOCKOPT_SERVER_TIMEWAIT 6
181 #define DCCP_SOCKOPT_SEND_CSCOV 10
182 #define DCCP_SOCKOPT_RECV_CSCOV 11
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 #define DCCP_SOCKOPT_AVAILABLE_CCIDS 12
185 #define DCCP_SOCKOPT_CCID 13
186 #define DCCP_SOCKOPT_TX_CCID 14
187 #define DCCP_SOCKOPT_RX_CCID 15
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 #define DCCP_SOCKOPT_QPOLICY_ID 16
190 #define DCCP_SOCKOPT_QPOLICY_TXQLEN 17
191 #define DCCP_SOCKOPT_CCID_RX_INFO 128
192 #define DCCP_SOCKOPT_CCID_TX_INFO 192
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 #define DCCP_SERVICE_LIST_MAX_LEN 32
195 #endif
196