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_SCTP_H 20 #define _UAPI_SCTP_H 21 #include <linux/types.h> 22 #include <linux/socket.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 typedef __s32 sctp_assoc_t; 25 #define SCTP_RTOINFO 0 26 #define SCTP_ASSOCINFO 1 27 #define SCTP_INITMSG 2 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define SCTP_NODELAY 3 30 #define SCTP_AUTOCLOSE 4 31 #define SCTP_SET_PEER_PRIMARY_ADDR 5 32 #define SCTP_PRIMARY_ADDR 6 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define SCTP_ADAPTATION_LAYER 7 35 #define SCTP_DISABLE_FRAGMENTS 8 36 #define SCTP_PEER_ADDR_PARAMS 9 37 #define SCTP_DEFAULT_SEND_PARAM 10 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 #define SCTP_EVENTS 11 40 #define SCTP_I_WANT_MAPPED_V4_ADDR 12 41 #define SCTP_MAXSEG 13 42 #define SCTP_STATUS 14 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 #define SCTP_GET_PEER_ADDR_INFO 15 45 #define SCTP_DELAYED_ACK_TIME 16 46 #define SCTP_DELAYED_ACK SCTP_DELAYED_ACK_TIME 47 #define SCTP_DELAYED_SACK SCTP_DELAYED_ACK_TIME 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define SCTP_CONTEXT 17 50 #define SCTP_FRAGMENT_INTERLEAVE 18 51 #define SCTP_PARTIAL_DELIVERY_POINT 19 52 #define SCTP_MAX_BURST 20 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 #define SCTP_AUTH_CHUNK 21 55 #define SCTP_HMAC_IDENT 22 56 #define SCTP_AUTH_KEY 23 57 #define SCTP_AUTH_ACTIVE_KEY 24 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 #define SCTP_AUTH_DELETE_KEY 25 60 #define SCTP_PEER_AUTH_CHUNKS 26 61 #define SCTP_LOCAL_AUTH_CHUNKS 27 62 #define SCTP_GET_ASSOC_NUMBER 28 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 #define SCTP_GET_ASSOC_ID_LIST 29 65 #define SCTP_AUTO_ASCONF 30 66 #define SCTP_PEER_ADDR_THLDS 31 67 #define SCTP_RECVRCVINFO 32 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 #define SCTP_RECVNXTINFO 33 70 #define SCTP_DEFAULT_SNDINFO 34 71 #define SCTP_SOCKOPT_BINDX_ADD 100 72 #define SCTP_SOCKOPT_BINDX_REM 101 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 #define SCTP_SOCKOPT_PEELOFF 102 75 #define SCTP_SOCKOPT_CONNECTX_OLD 107 76 #define SCTP_GET_PEER_ADDRS 108 77 #define SCTP_GET_LOCAL_ADDRS 109 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 #define SCTP_SOCKOPT_CONNECTX 110 80 #define SCTP_SOCKOPT_CONNECTX3 111 81 #define SCTP_GET_ASSOC_STATS 112 82 enum sctp_msg_flags { 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 MSG_NOTIFICATION = 0x8000, 85 #define MSG_NOTIFICATION MSG_NOTIFICATION 86 }; 87 struct sctp_initmsg { 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 __u16 sinit_num_ostreams; 90 __u16 sinit_max_instreams; 91 __u16 sinit_max_attempts; 92 __u16 sinit_max_init_timeo; 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 }; 95 struct sctp_sndrcvinfo { 96 __u16 sinfo_stream; 97 __u16 sinfo_ssn; 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 __u16 sinfo_flags; 100 __u32 sinfo_ppid; 101 __u32 sinfo_context; 102 __u32 sinfo_timetolive; 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 __u32 sinfo_tsn; 105 __u32 sinfo_cumtsn; 106 sctp_assoc_t sinfo_assoc_id; 107 }; 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 struct sctp_sndinfo { 110 __u16 snd_sid; 111 __u16 snd_flags; 112 __u32 snd_ppid; 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 __u32 snd_context; 115 sctp_assoc_t snd_assoc_id; 116 }; 117 struct sctp_rcvinfo { 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 __u16 rcv_sid; 120 __u16 rcv_ssn; 121 __u16 rcv_flags; 122 __u32 rcv_ppid; 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 __u32 rcv_tsn; 125 __u32 rcv_cumtsn; 126 __u32 rcv_context; 127 sctp_assoc_t rcv_assoc_id; 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 }; 130 struct sctp_nxtinfo { 131 __u16 nxt_sid; 132 __u16 nxt_flags; 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 __u32 nxt_ppid; 135 __u32 nxt_length; 136 sctp_assoc_t nxt_assoc_id; 137 }; 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 enum sctp_sinfo_flags { 140 SCTP_UNORDERED = (1 << 0), 141 SCTP_ADDR_OVER = (1 << 1), 142 SCTP_ABORT = (1 << 2), 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 SCTP_SACK_IMMEDIATELY = (1 << 3), 145 SCTP_NOTIFICATION = MSG_NOTIFICATION, 146 SCTP_EOF = MSG_FIN, 147 }; 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 typedef union { 150 __u8 raw; 151 struct sctp_initmsg init; 152 struct sctp_sndrcvinfo sndrcv; 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 } sctp_cmsg_data_t; 155 typedef enum sctp_cmsg_type { 156 SCTP_INIT, 157 #define SCTP_INIT SCTP_INIT 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 SCTP_SNDRCV, 160 #define SCTP_SNDRCV SCTP_SNDRCV 161 SCTP_SNDINFO, 162 #define SCTP_SNDINFO SCTP_SNDINFO 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 SCTP_RCVINFO, 165 #define SCTP_RCVINFO SCTP_RCVINFO 166 SCTP_NXTINFO, 167 #define SCTP_NXTINFO SCTP_NXTINFO 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 } sctp_cmsg_t; 170 struct sctp_assoc_change { 171 __u16 sac_type; 172 __u16 sac_flags; 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 __u32 sac_length; 175 __u16 sac_state; 176 __u16 sac_error; 177 __u16 sac_outbound_streams; 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 __u16 sac_inbound_streams; 180 sctp_assoc_t sac_assoc_id; 181 __u8 sac_info[0]; 182 }; 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 enum sctp_sac_state { 185 SCTP_COMM_UP, 186 SCTP_COMM_LOST, 187 SCTP_RESTART, 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 SCTP_SHUTDOWN_COMP, 190 SCTP_CANT_STR_ASSOC, 191 }; 192 struct sctp_paddr_change { 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 __u16 spc_type; 195 __u16 spc_flags; 196 __u32 spc_length; 197 struct sockaddr_storage spc_aaddr; 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 int spc_state; 200 int spc_error; 201 sctp_assoc_t spc_assoc_id; 202 } __attribute__((packed, aligned(4))); 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 enum sctp_spc_state { 205 SCTP_ADDR_AVAILABLE, 206 SCTP_ADDR_UNREACHABLE, 207 SCTP_ADDR_REMOVED, 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 SCTP_ADDR_ADDED, 210 SCTP_ADDR_MADE_PRIM, 211 SCTP_ADDR_CONFIRMED, 212 }; 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 struct sctp_remote_error { 215 __u16 sre_type; 216 __u16 sre_flags; 217 __u32 sre_length; 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 __u16 sre_error; 220 sctp_assoc_t sre_assoc_id; 221 __u8 sre_data[0]; 222 }; 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 struct sctp_send_failed { 225 __u16 ssf_type; 226 __u16 ssf_flags; 227 __u32 ssf_length; 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 __u32 ssf_error; 230 struct sctp_sndrcvinfo ssf_info; 231 sctp_assoc_t ssf_assoc_id; 232 __u8 ssf_data[0]; 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 }; 235 enum sctp_ssf_flags { 236 SCTP_DATA_UNSENT, 237 SCTP_DATA_SENT, 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 }; 240 struct sctp_shutdown_event { 241 __u16 sse_type; 242 __u16 sse_flags; 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 __u32 sse_length; 245 sctp_assoc_t sse_assoc_id; 246 }; 247 struct sctp_adaptation_event { 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 __u16 sai_type; 250 __u16 sai_flags; 251 __u32 sai_length; 252 __u32 sai_adaptation_ind; 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 sctp_assoc_t sai_assoc_id; 255 }; 256 struct sctp_pdapi_event { 257 __u16 pdapi_type; 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 __u16 pdapi_flags; 260 __u32 pdapi_length; 261 __u32 pdapi_indication; 262 sctp_assoc_t pdapi_assoc_id; 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 }; 265 enum { 266 SCTP_PARTIAL_DELIVERY_ABORTED = 0, 267 }; 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 struct sctp_authkey_event { 270 __u16 auth_type; 271 __u16 auth_flags; 272 __u32 auth_length; 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 __u16 auth_keynumber; 275 __u16 auth_altkeynumber; 276 __u32 auth_indication; 277 sctp_assoc_t auth_assoc_id; 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 }; 280 enum { 281 SCTP_AUTH_NEWKEY = 0, 282 }; 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 struct sctp_sender_dry_event { 285 __u16 sender_dry_type; 286 __u16 sender_dry_flags; 287 __u32 sender_dry_length; 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 sctp_assoc_t sender_dry_assoc_id; 290 }; 291 struct sctp_event_subscribe { 292 __u8 sctp_data_io_event; 293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 __u8 sctp_association_event; 295 __u8 sctp_address_event; 296 __u8 sctp_send_failure_event; 297 __u8 sctp_peer_error_event; 298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 __u8 sctp_shutdown_event; 300 __u8 sctp_partial_delivery_event; 301 __u8 sctp_adaptation_layer_event; 302 __u8 sctp_authentication_event; 303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304 __u8 sctp_sender_dry_event; 305 }; 306 union sctp_notification { 307 struct { 308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 __u16 sn_type; 310 __u16 sn_flags; 311 __u32 sn_length; 312 } sn_header; 313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314 struct sctp_assoc_change sn_assoc_change; 315 struct sctp_paddr_change sn_paddr_change; 316 struct sctp_remote_error sn_remote_error; 317 struct sctp_send_failed sn_send_failed; 318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 struct sctp_shutdown_event sn_shutdown_event; 320 struct sctp_adaptation_event sn_adaptation_event; 321 struct sctp_pdapi_event sn_pdapi_event; 322 struct sctp_authkey_event sn_authkey_event; 323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324 struct sctp_sender_dry_event sn_sender_dry_event; 325 }; 326 enum sctp_sn_type { 327 SCTP_SN_TYPE_BASE = (1 << 15), 328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 SCTP_ASSOC_CHANGE, 330 #define SCTP_ASSOC_CHANGE SCTP_ASSOC_CHANGE 331 SCTP_PEER_ADDR_CHANGE, 332 #define SCTP_PEER_ADDR_CHANGE SCTP_PEER_ADDR_CHANGE 333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334 SCTP_SEND_FAILED, 335 #define SCTP_SEND_FAILED SCTP_SEND_FAILED 336 SCTP_REMOTE_ERROR, 337 #define SCTP_REMOTE_ERROR SCTP_REMOTE_ERROR 338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339 SCTP_SHUTDOWN_EVENT, 340 #define SCTP_SHUTDOWN_EVENT SCTP_SHUTDOWN_EVENT 341 SCTP_PARTIAL_DELIVERY_EVENT, 342 #define SCTP_PARTIAL_DELIVERY_EVENT SCTP_PARTIAL_DELIVERY_EVENT 343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 344 SCTP_ADAPTATION_INDICATION, 345 #define SCTP_ADAPTATION_INDICATION SCTP_ADAPTATION_INDICATION 346 SCTP_AUTHENTICATION_EVENT, 347 #define SCTP_AUTHENTICATION_INDICATION SCTP_AUTHENTICATION_EVENT 348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 SCTP_SENDER_DRY_EVENT, 350 #define SCTP_SENDER_DRY_EVENT SCTP_SENDER_DRY_EVENT 351 }; 352 typedef enum sctp_sn_error { 353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354 SCTP_FAILED_THRESHOLD, 355 SCTP_RECEIVED_SACK, 356 SCTP_HEARTBEAT_SUCCESS, 357 SCTP_RESPONSE_TO_USER_REQ, 358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359 SCTP_INTERNAL_ERROR, 360 SCTP_SHUTDOWN_GUARD_EXPIRES, 361 SCTP_PEER_FAULTY, 362 } sctp_sn_error_t; 363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364 struct sctp_rtoinfo { 365 sctp_assoc_t srto_assoc_id; 366 __u32 srto_initial; 367 __u32 srto_max; 368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369 __u32 srto_min; 370 }; 371 struct sctp_assocparams { 372 sctp_assoc_t sasoc_assoc_id; 373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374 __u16 sasoc_asocmaxrxt; 375 __u16 sasoc_number_peer_destinations; 376 __u32 sasoc_peer_rwnd; 377 __u32 sasoc_local_rwnd; 378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379 __u32 sasoc_cookie_life; 380 }; 381 struct sctp_setpeerprim { 382 sctp_assoc_t sspp_assoc_id; 383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384 struct sockaddr_storage sspp_addr; 385 } __attribute__((packed, aligned(4))); 386 struct sctp_prim { 387 sctp_assoc_t ssp_assoc_id; 388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 struct sockaddr_storage ssp_addr; 390 } __attribute__((packed, aligned(4))); 391 #define sctp_setprim sctp_prim 392 struct sctp_setadaptation { 393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394 __u32 ssb_adaptation_ind; 395 }; 396 enum sctp_spp_flags { 397 SPP_HB_ENABLE = 1 << 0, 398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399 SPP_HB_DISABLE = 1 << 1, 400 SPP_HB = SPP_HB_ENABLE | SPP_HB_DISABLE, 401 SPP_HB_DEMAND = 1 << 2, 402 SPP_PMTUD_ENABLE = 1 << 3, 403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404 SPP_PMTUD_DISABLE = 1 << 4, 405 SPP_PMTUD = SPP_PMTUD_ENABLE | SPP_PMTUD_DISABLE, 406 SPP_SACKDELAY_ENABLE = 1 << 5, 407 SPP_SACKDELAY_DISABLE = 1 << 6, 408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE, 410 SPP_HB_TIME_IS_ZERO = 1 << 7, 411 }; 412 struct sctp_paddrparams { 413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 sctp_assoc_t spp_assoc_id; 415 struct sockaddr_storage spp_address; 416 __u32 spp_hbinterval; 417 __u16 spp_pathmaxrxt; 418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419 __u32 spp_pathmtu; 420 __u32 spp_sackdelay; 421 __u32 spp_flags; 422 } __attribute__((packed, aligned(4))); 423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424 struct sctp_authchunk { 425 __u8 sauth_chunk; 426 }; 427 enum { 428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 SCTP_AUTH_HMAC_ID_SHA1 = 1, 430 SCTP_AUTH_HMAC_ID_SHA256 = 3, 431 }; 432 struct sctp_hmacalgo { 433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 434 __u32 shmac_num_idents; 435 __u16 shmac_idents[]; 436 }; 437 #define shmac_number_of_idents shmac_num_idents 438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 439 struct sctp_authkey { 440 sctp_assoc_t sca_assoc_id; 441 __u16 sca_keynumber; 442 __u16 sca_keylength; 443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 444 __u8 sca_key[]; 445 }; 446 struct sctp_authkeyid { 447 sctp_assoc_t scact_assoc_id; 448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 449 __u16 scact_keynumber; 450 }; 451 struct sctp_sack_info { 452 sctp_assoc_t sack_assoc_id; 453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 454 uint32_t sack_delay; 455 uint32_t sack_freq; 456 }; 457 struct sctp_assoc_value { 458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 459 sctp_assoc_t assoc_id; 460 uint32_t assoc_value; 461 }; 462 struct sctp_paddrinfo { 463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 464 sctp_assoc_t spinfo_assoc_id; 465 struct sockaddr_storage spinfo_address; 466 __s32 spinfo_state; 467 __u32 spinfo_cwnd; 468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 469 __u32 spinfo_srtt; 470 __u32 spinfo_rto; 471 __u32 spinfo_mtu; 472 } __attribute__((packed, aligned(4))); 473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 474 enum sctp_spinfo_state { 475 SCTP_INACTIVE, 476 SCTP_PF, 477 SCTP_ACTIVE, 478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 479 SCTP_UNCONFIRMED, 480 SCTP_UNKNOWN = 0xffff 481 }; 482 struct sctp_status { 483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 484 sctp_assoc_t sstat_assoc_id; 485 __s32 sstat_state; 486 __u32 sstat_rwnd; 487 __u16 sstat_unackdata; 488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 489 __u16 sstat_penddata; 490 __u16 sstat_instrms; 491 __u16 sstat_outstrms; 492 __u32 sstat_fragmentation_point; 493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 494 struct sctp_paddrinfo sstat_primary; 495 }; 496 struct sctp_authchunks { 497 sctp_assoc_t gauth_assoc_id; 498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 499 __u32 gauth_number_of_chunks; 500 uint8_t gauth_chunks[]; 501 }; 502 #define guth_number_of_chunks gauth_number_of_chunks 503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 504 enum sctp_sstat_state { 505 SCTP_EMPTY = 0, 506 SCTP_CLOSED = 1, 507 SCTP_COOKIE_WAIT = 2, 508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 509 SCTP_COOKIE_ECHOED = 3, 510 SCTP_ESTABLISHED = 4, 511 SCTP_SHUTDOWN_PENDING = 5, 512 SCTP_SHUTDOWN_SENT = 6, 513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 514 SCTP_SHUTDOWN_RECEIVED = 7, 515 SCTP_SHUTDOWN_ACK_SENT = 8, 516 }; 517 struct sctp_assoc_ids { 518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 519 __u32 gaids_number_of_ids; 520 sctp_assoc_t gaids_assoc_id[]; 521 }; 522 struct sctp_getaddrs_old { 523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 524 sctp_assoc_t assoc_id; 525 int addr_num; 526 struct sockaddr * addrs; 527 }; 528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 529 struct sctp_getaddrs { 530 sctp_assoc_t assoc_id; 531 __u32 addr_num; 532 __u8 addrs[0]; 533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 534 }; 535 struct sctp_assoc_stats { 536 sctp_assoc_t sas_assoc_id; 537 struct sockaddr_storage sas_obs_rto_ipaddr; 538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 539 __u64 sas_maxrto; 540 __u64 sas_isacks; 541 __u64 sas_osacks; 542 __u64 sas_opackets; 543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 544 __u64 sas_ipackets; 545 __u64 sas_rtxchunks; 546 __u64 sas_outofseqtsns; 547 __u64 sas_idupchunks; 548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549 __u64 sas_gapcnt; 550 __u64 sas_ouodchunks; 551 __u64 sas_iuodchunks; 552 __u64 sas_oodchunks; 553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 554 __u64 sas_iodchunks; 555 __u64 sas_octrlchunks; 556 __u64 sas_ictrlchunks; 557 }; 558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 559 #define SCTP_BINDX_ADD_ADDR 0x01 560 #define SCTP_BINDX_REM_ADDR 0x02 561 typedef struct { 562 sctp_assoc_t associd; 563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 564 int sd; 565 } sctp_peeloff_arg_t; 566 struct sctp_paddrthlds { 567 sctp_assoc_t spt_assoc_id; 568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569 struct sockaddr_storage spt_address; 570 __u16 spt_pathmaxrxt; 571 __u16 spt_pathpfthld; 572 }; 573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574 #endif 575