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