xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/dccp.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_DCCP_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_DCCP_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <asm/byteorder.h>
11*8d67ca89SAndroid Build Coastguard Worker struct dccp_hdr {
12*8d67ca89SAndroid Build Coastguard Worker   __be16 dccph_sport, dccph_dport;
13*8d67ca89SAndroid Build Coastguard Worker   __u8 dccph_doff;
14*8d67ca89SAndroid Build Coastguard Worker #ifdef __LITTLE_ENDIAN_BITFIELD
15*8d67ca89SAndroid Build Coastguard Worker   __u8 dccph_cscov : 4, dccph_ccval : 4;
16*8d67ca89SAndroid Build Coastguard Worker #elif defined(__BIG_ENDIAN_BITFIELD)
17*8d67ca89SAndroid Build Coastguard Worker   __u8 dccph_ccval : 4, dccph_cscov : 4;
18*8d67ca89SAndroid Build Coastguard Worker #else
19*8d67ca89SAndroid Build Coastguard Worker #error "Adjust your <asm/byteorder.h> defines"
20*8d67ca89SAndroid Build Coastguard Worker #endif
21*8d67ca89SAndroid Build Coastguard Worker   __sum16 dccph_checksum;
22*8d67ca89SAndroid Build Coastguard Worker #ifdef __LITTLE_ENDIAN_BITFIELD
23*8d67ca89SAndroid Build Coastguard Worker   __u8 dccph_x : 1, dccph_type : 4, dccph_reserved : 3;
24*8d67ca89SAndroid Build Coastguard Worker #elif defined(__BIG_ENDIAN_BITFIELD)
25*8d67ca89SAndroid Build Coastguard Worker   __u8 dccph_reserved : 3, dccph_type : 4, dccph_x : 1;
26*8d67ca89SAndroid Build Coastguard Worker #else
27*8d67ca89SAndroid Build Coastguard Worker #error "Adjust your <asm/byteorder.h> defines"
28*8d67ca89SAndroid Build Coastguard Worker #endif
29*8d67ca89SAndroid Build Coastguard Worker   __u8 dccph_seq2;
30*8d67ca89SAndroid Build Coastguard Worker   __be16 dccph_seq;
31*8d67ca89SAndroid Build Coastguard Worker };
32*8d67ca89SAndroid Build Coastguard Worker struct dccp_hdr_ext {
33*8d67ca89SAndroid Build Coastguard Worker   __be32 dccph_seq_low;
34*8d67ca89SAndroid Build Coastguard Worker };
35*8d67ca89SAndroid Build Coastguard Worker struct dccp_hdr_request {
36*8d67ca89SAndroid Build Coastguard Worker   __be32 dccph_req_service;
37*8d67ca89SAndroid Build Coastguard Worker };
38*8d67ca89SAndroid Build Coastguard Worker struct dccp_hdr_ack_bits {
39*8d67ca89SAndroid Build Coastguard Worker   __be16 dccph_reserved1;
40*8d67ca89SAndroid Build Coastguard Worker   __be16 dccph_ack_nr_high;
41*8d67ca89SAndroid Build Coastguard Worker   __be32 dccph_ack_nr_low;
42*8d67ca89SAndroid Build Coastguard Worker };
43*8d67ca89SAndroid Build Coastguard Worker struct dccp_hdr_response {
44*8d67ca89SAndroid Build Coastguard Worker   struct dccp_hdr_ack_bits dccph_resp_ack;
45*8d67ca89SAndroid Build Coastguard Worker   __be32 dccph_resp_service;
46*8d67ca89SAndroid Build Coastguard Worker };
47*8d67ca89SAndroid Build Coastguard Worker struct dccp_hdr_reset {
48*8d67ca89SAndroid Build Coastguard Worker   struct dccp_hdr_ack_bits dccph_reset_ack;
49*8d67ca89SAndroid Build Coastguard Worker   __u8 dccph_reset_code, dccph_reset_data[3];
50*8d67ca89SAndroid Build Coastguard Worker };
51*8d67ca89SAndroid Build Coastguard Worker enum dccp_pkt_type {
52*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_REQUEST = 0,
53*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_RESPONSE,
54*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_DATA,
55*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_ACK,
56*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_DATAACK,
57*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_CLOSEREQ,
58*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_CLOSE,
59*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_RESET,
60*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_SYNC,
61*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_SYNCACK,
62*8d67ca89SAndroid Build Coastguard Worker   DCCP_PKT_INVALID,
63*8d67ca89SAndroid Build Coastguard Worker };
64*8d67ca89SAndroid Build Coastguard Worker #define DCCP_NR_PKT_TYPES DCCP_PKT_INVALID
65*8d67ca89SAndroid Build Coastguard Worker enum dccp_reset_codes {
66*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_UNSPECIFIED = 0,
67*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_CLOSED,
68*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_ABORTED,
69*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_NO_CONNECTION,
70*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_PACKET_ERROR,
71*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_OPTION_ERROR,
72*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_MANDATORY_ERROR,
73*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_CONNECTION_REFUSED,
74*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_BAD_SERVICE_CODE,
75*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_TOO_BUSY,
76*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_BAD_INIT_COOKIE,
77*8d67ca89SAndroid Build Coastguard Worker   DCCP_RESET_CODE_AGGRESSION_PENALTY,
78*8d67ca89SAndroid Build Coastguard Worker   DCCP_MAX_RESET_CODES
79*8d67ca89SAndroid Build Coastguard Worker };
80*8d67ca89SAndroid Build Coastguard Worker enum {
81*8d67ca89SAndroid Build Coastguard Worker   DCCPO_PADDING = 0,
82*8d67ca89SAndroid Build Coastguard Worker   DCCPO_MANDATORY = 1,
83*8d67ca89SAndroid Build Coastguard Worker   DCCPO_MIN_RESERVED = 3,
84*8d67ca89SAndroid Build Coastguard Worker   DCCPO_MAX_RESERVED = 31,
85*8d67ca89SAndroid Build Coastguard Worker   DCCPO_CHANGE_L = 32,
86*8d67ca89SAndroid Build Coastguard Worker   DCCPO_CONFIRM_L = 33,
87*8d67ca89SAndroid Build Coastguard Worker   DCCPO_CHANGE_R = 34,
88*8d67ca89SAndroid Build Coastguard Worker   DCCPO_CONFIRM_R = 35,
89*8d67ca89SAndroid Build Coastguard Worker   DCCPO_NDP_COUNT = 37,
90*8d67ca89SAndroid Build Coastguard Worker   DCCPO_ACK_VECTOR_0 = 38,
91*8d67ca89SAndroid Build Coastguard Worker   DCCPO_ACK_VECTOR_1 = 39,
92*8d67ca89SAndroid Build Coastguard Worker   DCCPO_TIMESTAMP = 41,
93*8d67ca89SAndroid Build Coastguard Worker   DCCPO_TIMESTAMP_ECHO = 42,
94*8d67ca89SAndroid Build Coastguard Worker   DCCPO_ELAPSED_TIME = 43,
95*8d67ca89SAndroid Build Coastguard Worker   DCCPO_MAX = 45,
96*8d67ca89SAndroid Build Coastguard Worker   DCCPO_MIN_RX_CCID_SPECIFIC = 128,
97*8d67ca89SAndroid Build Coastguard Worker   DCCPO_MAX_RX_CCID_SPECIFIC = 191,
98*8d67ca89SAndroid Build Coastguard Worker   DCCPO_MIN_TX_CCID_SPECIFIC = 192,
99*8d67ca89SAndroid Build Coastguard Worker   DCCPO_MAX_TX_CCID_SPECIFIC = 255,
100*8d67ca89SAndroid Build Coastguard Worker };
101*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SINGLE_OPT_MAXLEN 253
102*8d67ca89SAndroid Build Coastguard Worker enum {
103*8d67ca89SAndroid Build Coastguard Worker   DCCPC_CCID2 = 2,
104*8d67ca89SAndroid Build Coastguard Worker   DCCPC_CCID3 = 3,
105*8d67ca89SAndroid Build Coastguard Worker };
106*8d67ca89SAndroid Build Coastguard Worker enum dccp_feature_numbers {
107*8d67ca89SAndroid Build Coastguard Worker   DCCPF_RESERVED = 0,
108*8d67ca89SAndroid Build Coastguard Worker   DCCPF_CCID = 1,
109*8d67ca89SAndroid Build Coastguard Worker   DCCPF_SHORT_SEQNOS = 2,
110*8d67ca89SAndroid Build Coastguard Worker   DCCPF_SEQUENCE_WINDOW = 3,
111*8d67ca89SAndroid Build Coastguard Worker   DCCPF_ECN_INCAPABLE = 4,
112*8d67ca89SAndroid Build Coastguard Worker   DCCPF_ACK_RATIO = 5,
113*8d67ca89SAndroid Build Coastguard Worker   DCCPF_SEND_ACK_VECTOR = 6,
114*8d67ca89SAndroid Build Coastguard Worker   DCCPF_SEND_NDP_COUNT = 7,
115*8d67ca89SAndroid Build Coastguard Worker   DCCPF_MIN_CSUM_COVER = 8,
116*8d67ca89SAndroid Build Coastguard Worker   DCCPF_DATA_CHECKSUM = 9,
117*8d67ca89SAndroid Build Coastguard Worker   DCCPF_MIN_CCID_SPECIFIC = 128,
118*8d67ca89SAndroid Build Coastguard Worker   DCCPF_SEND_LEV_RATE = 192,
119*8d67ca89SAndroid Build Coastguard Worker   DCCPF_MAX_CCID_SPECIFIC = 255,
120*8d67ca89SAndroid Build Coastguard Worker };
121*8d67ca89SAndroid Build Coastguard Worker enum dccp_cmsg_type {
122*8d67ca89SAndroid Build Coastguard Worker   DCCP_SCM_PRIORITY = 1,
123*8d67ca89SAndroid Build Coastguard Worker   DCCP_SCM_QPOLICY_MAX = 0xFFFF,
124*8d67ca89SAndroid Build Coastguard Worker   DCCP_SCM_MAX
125*8d67ca89SAndroid Build Coastguard Worker };
126*8d67ca89SAndroid Build Coastguard Worker enum dccp_packet_dequeueing_policy {
127*8d67ca89SAndroid Build Coastguard Worker   DCCPQ_POLICY_SIMPLE,
128*8d67ca89SAndroid Build Coastguard Worker   DCCPQ_POLICY_PRIO,
129*8d67ca89SAndroid Build Coastguard Worker   DCCPQ_POLICY_MAX
130*8d67ca89SAndroid Build Coastguard Worker };
131*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_PACKET_SIZE 1
132*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_SERVICE 2
133*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_CHANGE_L 3
134*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_CHANGE_R 4
135*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_GET_CUR_MPS 5
136*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_SERVER_TIMEWAIT 6
137*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_SEND_CSCOV 10
138*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_RECV_CSCOV 11
139*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_AVAILABLE_CCIDS 12
140*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_CCID 13
141*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_TX_CCID 14
142*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_RX_CCID 15
143*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_QPOLICY_ID 16
144*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_QPOLICY_TXQLEN 17
145*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_CCID_RX_INFO 128
146*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SOCKOPT_CCID_TX_INFO 192
147*8d67ca89SAndroid Build Coastguard Worker #define DCCP_SERVICE_LIST_MAX_LEN 32
148*8d67ca89SAndroid Build Coastguard Worker #endif
149