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