34 #include <sys/cdefs.h> 35 __FBSDID(
"$FreeBSD: head/sys/netinet/sctp.h 297662 2016-04-07 09:10:34Z rrs $");
38 #ifndef _NETINET_SCTP_H_ 39 #define _NETINET_SCTP_H_ 41 #if (defined(__APPLE__) || defined(__Userspace_os_Linux) || defined(__Userspace_os_Darwin)) 45 #include <sys/types.h> 48 #if !defined(__Userspace_os_Windows) 49 #define SCTP_PACKED __attribute__((packed)) 51 #pragma pack (push, 1) 90 #define SCTP_RTOINFO 0x00000001 91 #define SCTP_ASSOCINFO 0x00000002 92 #define SCTP_INITMSG 0x00000003 93 #define SCTP_NODELAY 0x00000004 94 #define SCTP_AUTOCLOSE 0x00000005 95 #define SCTP_SET_PEER_PRIMARY_ADDR 0x00000006 96 #define SCTP_PRIMARY_ADDR 0x00000007 97 #define SCTP_ADAPTATION_LAYER 0x00000008 99 #define SCTP_ADAPTION_LAYER 0x00000008 100 #define SCTP_DISABLE_FRAGMENTS 0x00000009 101 #define SCTP_PEER_ADDR_PARAMS 0x0000000a 102 #define SCTP_DEFAULT_SEND_PARAM 0x0000000b 104 #define SCTP_EVENTS 0x0000000c 106 #define SCTP_I_WANT_MAPPED_V4_ADDR 0x0000000d 107 #define SCTP_MAXSEG 0x0000000e 108 #define SCTP_DELAYED_SACK 0x0000000f 109 #define SCTP_FRAGMENT_INTERLEAVE 0x00000010 110 #define SCTP_PARTIAL_DELIVERY_POINT 0x00000011 112 #define SCTP_AUTH_CHUNK 0x00000012 113 #define SCTP_AUTH_KEY 0x00000013 114 #define SCTP_HMAC_IDENT 0x00000014 115 #define SCTP_AUTH_ACTIVE_KEY 0x00000015 116 #define SCTP_AUTH_DELETE_KEY 0x00000016 117 #define SCTP_USE_EXT_RCVINFO 0x00000017 118 #define SCTP_AUTO_ASCONF 0x00000018 119 #define SCTP_MAXBURST 0x00000019 120 #define SCTP_MAX_BURST 0x00000019 122 #define SCTP_CONTEXT 0x0000001a 124 #define SCTP_EXPLICIT_EOR 0x0000001b 125 #define SCTP_REUSE_PORT 0x0000001c 126 #define SCTP_AUTH_DEACTIVATE_KEY 0x0000001d 127 #define SCTP_EVENT 0x0000001e 128 #define SCTP_RECVRCVINFO 0x0000001f 129 #define SCTP_RECVNXTINFO 0x00000020 130 #define SCTP_DEFAULT_SNDINFO 0x00000021 131 #define SCTP_DEFAULT_PRINFO 0x00000022 132 #define SCTP_PEER_ADDR_THLDS 0x00000023 133 #define SCTP_REMOTE_UDP_ENCAPS_PORT 0x00000024 134 #define SCTP_ECN_SUPPORTED 0x00000025 135 #define SCTP_PR_SUPPORTED 0x00000026 136 #define SCTP_AUTH_SUPPORTED 0x00000027 137 #define SCTP_ASCONF_SUPPORTED 0x00000028 138 #define SCTP_RECONFIG_SUPPORTED 0x00000029 139 #define SCTP_NRSACK_SUPPORTED 0x00000030 140 #define SCTP_PKTDROP_SUPPORTED 0x00000031 141 #define SCTP_MAX_CWND 0x00000032 146 #define SCTP_STATUS 0x00000100 147 #define SCTP_GET_PEER_ADDR_INFO 0x00000101 149 #define SCTP_PEER_AUTH_CHUNKS 0x00000102 150 #define SCTP_LOCAL_AUTH_CHUNKS 0x00000103 151 #define SCTP_GET_ASSOC_NUMBER 0x00000104 152 #define SCTP_GET_ASSOC_ID_LIST 0x00000105 153 #define SCTP_TIMEOUTS 0x00000106 154 #define SCTP_PR_STREAM_STATUS 0x00000107 155 #define SCTP_PR_ASSOC_STATUS 0x00000108 178 #define SCTP_ENABLE_STREAM_RESET 0x00000900 179 #define SCTP_RESET_STREAMS 0x00000901 180 #define SCTP_RESET_ASSOC 0x00000902 181 #define SCTP_ADD_STREAMS 0x00000903 184 #define SCTP_ENABLE_RESET_STREAM_REQ 0x00000001 185 #define SCTP_ENABLE_RESET_ASSOC_REQ 0x00000002 186 #define SCTP_ENABLE_CHANGE_ASSOC_REQ 0x00000004 187 #define SCTP_ENABLE_VALUE_MASK 0x00000007 189 #define SCTP_STREAM_RESET_INCOMING 0x00000001 190 #define SCTP_STREAM_RESET_OUTGOING 0x00000002 194 #define SCTP_SET_DEBUG_LEVEL 0x00001005 195 #define SCTP_CLR_STAT_LOG 0x00001007 197 #define SCTP_CMT_ON_OFF 0x00001200 198 #define SCTP_CMT_USE_DAC 0x00001201 200 #define SCTP_PLUGGABLE_CC 0x00001202 202 #define SCTP_PLUGGABLE_SS 0x00001203 203 #define SCTP_SS_VALUE 0x00001204 204 #define SCTP_CC_OPTION 0x00001205 206 #define SCTP_INTERLEAVING_SUPPORTED 0x00001206 209 #define SCTP_GET_SNDBUF_USE 0x00001101 210 #define SCTP_GET_STAT_LOG 0x00001103 211 #define SCTP_PCB_STATUS 0x00001104 212 #define SCTP_GET_NONCE_VALUES 0x00001105 218 #define SCTP_SET_DYNAMIC_PRIMARY 0x00002001 248 #define SCTP_VRF_ID 0x00003001 249 #define SCTP_ADD_VRF_ID 0x00003002 250 #define SCTP_GET_VRF_IDS 0x00003003 251 #define SCTP_GET_ASOC_VRF 0x00003004 252 #define SCTP_DEL_VRF_ID 0x00003005 262 #define SCTP_GET_PACKET_LOG 0x00004001 269 #define SCTP_BINDX_ADD_ADDR 0x00008001 270 #define SCTP_BINDX_REM_ADDR 0x00008002 272 #define SCTP_GET_PEER_ADDRESSES 0x00008003 273 #define SCTP_GET_LOCAL_ADDRESSES 0x00008004 275 #define SCTP_GET_LOCAL_ADDR_SIZE 0x00008005 277 #define SCTP_GET_REMOTE_ADDR_SIZE 0x00008006 279 #define SCTP_CONNECT_X 0x00008007 281 #define SCTP_CONNECT_X_DELAYED 0x00008008 282 #define SCTP_CONNECT_X_COMPLETE 0x00008009 284 #define SCTP_PEELOFF 0x0000800a 286 #define SCTP_GET_ADDR_LEN 0x0000800b 287 #if defined(__APPLE__) 289 #define SCTP_LISTEN_FIX 0x0000800c 291 #if defined(__Windows__) 293 #define SCTP_GET_HANDLE 0x0000800d 296 #define SCTP_SET_INITIAL_DBG_SEQ 0x00009f00 302 #define SCTP_CC_RFC2581 0x00000000 304 #define SCTP_CC_HSTCP 0x00000001 306 #define SCTP_CC_HTCP 0x00000002 308 #define SCTP_CC_RTCC 0x00000003 310 #define SCTP_CC_OPT_RTCC_SETMODE 0x00002000 311 #define SCTP_CC_OPT_USE_DCCC_ECN 0x00002001 312 #define SCTP_CC_OPT_STEADY_STEP 0x00002002 314 #define SCTP_CMT_OFF 0 315 #define SCTP_CMT_BASE 1 316 #define SCTP_CMT_RPV1 2 317 #define SCTP_CMT_RPV2 3 318 #define SCTP_CMT_MPTCP 4 319 #define SCTP_CMT_MAX SCTP_CMT_MPTCP 325 #define SCTP_SS_DEFAULT 0x00000000 327 #define SCTP_SS_ROUND_ROBIN 0x00000001 329 #define SCTP_SS_ROUND_ROBIN_PACKET 0x00000002 331 #define SCTP_SS_PRIORITY 0x00000003 333 #define SCTP_SS_FAIR_BANDWITH 0x00000004 335 #define SCTP_SS_FIRST_COME 0x00000005 342 #define SCTP_FRAG_LEVEL_0 0x00000000 343 #define SCTP_FRAG_LEVEL_1 0x00000001 344 #define SCTP_FRAG_LEVEL_2 0x00000002 349 #define SCTP_CLOSED 0x0000 350 #define SCTP_BOUND 0x1000 351 #define SCTP_LISTEN 0x2000 352 #define SCTP_COOKIE_WAIT 0x0002 353 #define SCTP_COOKIE_ECHOED 0x0004 354 #define SCTP_ESTABLISHED 0x0008 355 #define SCTP_SHUTDOWN_SENT 0x0010 356 #define SCTP_SHUTDOWN_RECEIVED 0x0020 357 #define SCTP_SHUTDOWN_ACK_SENT 0x0040 358 #define SCTP_SHUTDOWN_PENDING 0x0080 363 #define SCTP_CAUSE_NO_ERROR 0x0000 364 #define SCTP_CAUSE_INVALID_STREAM 0x0001 365 #define SCTP_CAUSE_MISSING_PARAM 0x0002 366 #define SCTP_CAUSE_STALE_COOKIE 0x0003 367 #define SCTP_CAUSE_OUT_OF_RESC 0x0004 368 #define SCTP_CAUSE_UNRESOLVABLE_ADDR 0x0005 369 #define SCTP_CAUSE_UNRECOG_CHUNK 0x0006 370 #define SCTP_CAUSE_INVALID_PARAM 0x0007 371 #define SCTP_CAUSE_UNRECOG_PARAM 0x0008 372 #define SCTP_CAUSE_NO_USER_DATA 0x0009 373 #define SCTP_CAUSE_COOKIE_IN_SHUTDOWN 0x000a 374 #define SCTP_CAUSE_RESTART_W_NEWADDR 0x000b 375 #define SCTP_CAUSE_USER_INITIATED_ABT 0x000c 376 #define SCTP_CAUSE_PROTOCOL_VIOLATION 0x000d 379 #define SCTP_CAUSE_DELETING_LAST_ADDR 0x00a0 380 #define SCTP_CAUSE_RESOURCE_SHORTAGE 0x00a1 381 #define SCTP_CAUSE_DELETING_SRC_ADDR 0x00a2 382 #define SCTP_CAUSE_ILLEGAL_ASCONF_ACK 0x00a3 383 #define SCTP_CAUSE_REQUEST_REFUSED 0x00a4 386 #define SCTP_CAUSE_NAT_COLLIDING_STATE 0x00b0 387 #define SCTP_CAUSE_NAT_MISSING_STATE 0x00b1 390 #define SCTP_CAUSE_UNSUPPORTED_HMACID 0x0105 452 #define SCTP_DATA 0x00 453 #define SCTP_INITIATION 0x01 454 #define SCTP_INITIATION_ACK 0x02 455 #define SCTP_SELECTIVE_ACK 0x03 456 #define SCTP_HEARTBEAT_REQUEST 0x04 457 #define SCTP_HEARTBEAT_ACK 0x05 458 #define SCTP_ABORT_ASSOCIATION 0x06 459 #define SCTP_SHUTDOWN 0x07 460 #define SCTP_SHUTDOWN_ACK 0x08 461 #define SCTP_OPERATION_ERROR 0x09 462 #define SCTP_COOKIE_ECHO 0x0a 463 #define SCTP_COOKIE_ACK 0x0b 464 #define SCTP_ECN_ECHO 0x0c 465 #define SCTP_ECN_CWR 0x0d 466 #define SCTP_SHUTDOWN_COMPLETE 0x0e 468 #define SCTP_AUTHENTICATION 0x0f 470 #define SCTP_NR_SELECTIVE_ACK 0x10 472 #define SCTP_IDATA 0x40 475 #define SCTP_ASCONF_ACK 0x80 477 #define SCTP_PACKET_DROPPED 0x81 479 #define SCTP_STREAM_RESET 0x82 482 #define SCTP_PAD_CHUNK 0x84 485 #define SCTP_FORWARD_CUM_TSN 0xc0 487 #define SCTP_ASCONF 0xc1 488 #define SCTP_IFORWARD_CUM_TSN 0xc2 491 #define SCTP_HAD_NO_TCB 0x01 494 #define SCTP_FROM_MIDDLE_BOX SCTP_HAD_NO_TCB 495 #define SCTP_BADCRC 0x02 496 #define SCTP_PACKET_TRUNCATED 0x04 499 #define SCTP_CWR_REDUCE_OVERRIDE 0x01 500 #define SCTP_CWR_IN_SAME_WINDOW 0x02 502 #define SCTP_SAT_NETWORK_MIN 400 504 #define SCTP_SAT_NETWORK_BURST_INCR 2 508 #define SCTP_DATA_FRAG_MASK 0x03 509 #define SCTP_DATA_MIDDLE_FRAG 0x00 510 #define SCTP_DATA_LAST_FRAG 0x01 511 #define SCTP_DATA_FIRST_FRAG 0x02 512 #define SCTP_DATA_NOT_FRAG 0x03 513 #define SCTP_DATA_UNORDERED 0x04 514 #define SCTP_DATA_SACK_IMMEDIATELY 0x08 516 #define SCTP_SACK_NONCE_SUM 0x01 519 #define SCTP_SACK_CMT_DAC 0x80 526 #define SCTP_PCB_FLAGS_UDPTYPE 0x00000001 527 #define SCTP_PCB_FLAGS_TCPTYPE 0x00000002 528 #define SCTP_PCB_FLAGS_BOUNDALL 0x00000004 529 #define SCTP_PCB_FLAGS_ACCEPTING 0x00000008 530 #define SCTP_PCB_FLAGS_UNBOUND 0x00000010 531 #define SCTP_PCB_FLAGS_CLOSE_IP 0x00040000 532 #define SCTP_PCB_FLAGS_WAS_CONNECTED 0x00080000 533 #define SCTP_PCB_FLAGS_WAS_ABORTED 0x00100000 536 #define SCTP_PCB_FLAGS_CONNECTED 0x00200000 537 #define SCTP_PCB_FLAGS_IN_TCPPOOL 0x00400000 538 #define SCTP_PCB_FLAGS_DONT_WAKE 0x00800000 539 #define SCTP_PCB_FLAGS_WAKEOUTPUT 0x01000000 540 #define SCTP_PCB_FLAGS_WAKEINPUT 0x02000000 541 #define SCTP_PCB_FLAGS_BOUND_V6 0x04000000 542 #define SCTP_PCB_FLAGS_BLOCKING_IO 0x08000000 543 #define SCTP_PCB_FLAGS_SOCKET_GONE 0x10000000 544 #define SCTP_PCB_FLAGS_SOCKET_ALLGONE 0x20000000 545 #define SCTP_PCB_FLAGS_SOCKET_CANT_READ 0x40000000 546 #if defined(__Userspace__) 547 #define SCTP_PCB_FLAGS_BOUND_CONN 0x80000000 550 #define SCTP_PCB_COPY_FLAGS (SCTP_PCB_FLAGS_BOUNDALL|\ 551 SCTP_PCB_FLAGS_WAKEINPUT|\ 552 SCTP_PCB_FLAGS_BOUND_V6|\ 553 SCTP_PCB_FLAGS_BOUND_CONN) 557 #define SCTP_PCB_COPY_FLAGS (SCTP_PCB_FLAGS_BOUNDALL|\ 558 SCTP_PCB_FLAGS_WAKEINPUT|\ 559 SCTP_PCB_FLAGS_BOUND_V6) 565 #define SCTP_PCB_FLAGS_DO_NOT_PMTUD 0x0000000000000001 566 #define SCTP_PCB_FLAGS_EXT_RCVINFO 0x0000000000000002 567 #define SCTP_PCB_FLAGS_DONOT_HEARTBEAT 0x0000000000000004 568 #define SCTP_PCB_FLAGS_FRAG_INTERLEAVE 0x0000000000000008 569 #define SCTP_PCB_FLAGS_INTERLEAVE_STRMS 0x0000000000000010 570 #define SCTP_PCB_FLAGS_DO_ASCONF 0x0000000000000020 571 #define SCTP_PCB_FLAGS_AUTO_ASCONF 0x0000000000000040 572 #define SCTP_PCB_FLAGS_ZERO_COPY_ACTIVE 0x0000000000000080 574 #define SCTP_PCB_FLAGS_NODELAY 0x0000000000000100 575 #define SCTP_PCB_FLAGS_AUTOCLOSE 0x0000000000000200 576 #define SCTP_PCB_FLAGS_RECVDATAIOEVNT 0x0000000000000400 577 #define SCTP_PCB_FLAGS_RECVASSOCEVNT 0x0000000000000800 578 #define SCTP_PCB_FLAGS_RECVPADDREVNT 0x0000000000001000 579 #define SCTP_PCB_FLAGS_RECVPEERERR 0x0000000000002000 580 #define SCTP_PCB_FLAGS_RECVSENDFAILEVNT 0x0000000000004000 581 #define SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT 0x0000000000008000 582 #define SCTP_PCB_FLAGS_ADAPTATIONEVNT 0x0000000000010000 583 #define SCTP_PCB_FLAGS_PDAPIEVNT 0x0000000000020000 584 #define SCTP_PCB_FLAGS_AUTHEVNT 0x0000000000040000 585 #define SCTP_PCB_FLAGS_STREAM_RESETEVNT 0x0000000000080000 586 #define SCTP_PCB_FLAGS_NO_FRAGMENT 0x0000000000100000 587 #define SCTP_PCB_FLAGS_EXPLICIT_EOR 0x0000000000400000 588 #define SCTP_PCB_FLAGS_NEEDS_MAPPED_V4 0x0000000000800000 589 #define SCTP_PCB_FLAGS_MULTIPLE_ASCONFS 0x0000000001000000 590 #define SCTP_PCB_FLAGS_PORTREUSE 0x0000000002000000 591 #define SCTP_PCB_FLAGS_DRYEVNT 0x0000000004000000 592 #define SCTP_PCB_FLAGS_RECVRCVINFO 0x0000000008000000 593 #define SCTP_PCB_FLAGS_RECVNXTINFO 0x0000000010000000 594 #define SCTP_PCB_FLAGS_ASSOC_RESETEVNT 0x0000000020000000 595 #define SCTP_PCB_FLAGS_STREAM_CHANGEEVNT 0x0000000040000000 596 #define SCTP_PCB_FLAGS_RECVNSENDFAILEVNT 0x0000000080000000 604 #define SCTP_MOBILITY_BASE 0x00000001 605 #define SCTP_MOBILITY_FASTHANDOFF 0x00000002 606 #define SCTP_MOBILITY_PRIM_DELETED 0x00000004 609 #define SCTP_SMALLEST_PMTU 512 611 #if defined(__Userspace_os_Windows) 623 #define SCTP_PACKET_LOG_SIZE 65536 628 #define SCTP_MAX_SACK_DELAY 500 629 #define SCTP_MAX_HB_INTERVAL 14400000 630 #define SCTP_MAX_COOKIE_LIFE 3600000 639 #define SCTP_BLK_LOGGING_ENABLE 0x00000001 640 #define SCTP_CWND_MONITOR_ENABLE 0x00000002 641 #define SCTP_CWND_LOGGING_ENABLE 0x00000004 642 #define SCTP_FLIGHT_LOGGING_ENABLE 0x00000020 643 #define SCTP_FR_LOGGING_ENABLE 0x00000040 644 #define SCTP_LOCK_LOGGING_ENABLE 0x00000080 645 #define SCTP_MAP_LOGGING_ENABLE 0x00000100 646 #define SCTP_MBCNT_LOGGING_ENABLE 0x00000200 647 #define SCTP_MBUF_LOGGING_ENABLE 0x00000400 648 #define SCTP_NAGLE_LOGGING_ENABLE 0x00000800 649 #define SCTP_RECV_RWND_LOGGING_ENABLE 0x00001000 650 #define SCTP_RTTVAR_LOGGING_ENABLE 0x00002000 651 #define SCTP_SACK_LOGGING_ENABLE 0x00004000 652 #define SCTP_SACK_RWND_LOGGING_ENABLE 0x00008000 653 #define SCTP_SB_LOGGING_ENABLE 0x00010000 654 #define SCTP_STR_LOGGING_ENABLE 0x00020000 655 #define SCTP_WAKE_LOGGING_ENABLE 0x00040000 656 #define SCTP_LOG_MAXBURST_ENABLE 0x00080000 657 #define SCTP_LOG_RWND_ENABLE 0x00100000 658 #define SCTP_LOG_SACK_ARRIVALS_ENABLE 0x00200000 659 #define SCTP_LTRACE_CHUNK_ENABLE 0x00400000 660 #define SCTP_LTRACE_ERROR_ENABLE 0x00800000 661 #define SCTP_LAST_PACKET_TRACING 0x01000000 662 #define SCTP_THRESHOLD_LOGGING 0x02000000 663 #define SCTP_LOG_AT_SEND_2_SCTP 0x04000000 664 #define SCTP_LOG_AT_SEND_2_OUTQ 0x08000000 665 #define SCTP_LOG_TRY_ADVANCE 0x10000000 uint32_t num_missing_params
Definition: sctp.h:415
uint16_t param_length
Definition: sctp.h:81
uint32_t stale_time
Definition: sctp.h:421
unsigned int uint32_t
Definition: ptypes.h:105
def info(msg, args, kwargs)
Definition: __init__.py:1165
uint32_t checksum
Definition: sctp.h:62
uint8_t chunk_flags
Definition: sctp.h:71
uint16_t code
Definition: sctp.h:396
uint16_t param_type
Definition: sctp.h:80
unsigned char uint8_t
Definition: ptypes.h:89
unsigned short uint16_t
Definition: ptypes.h:97
uint16_t src_port
Definition: sctp.h:59
uint16_t chunk_length
Definition: sctp.h:72
uint8_t chunk_type
Definition: sctp.h:70
uint16_t dest_port
Definition: sctp.h:60
#define SCTP_PACKED
Definition: sctp.h:49
uint32_t v_tag
Definition: sctp.h:61
uint16_t stream_id
Definition: sctp.h:409
uint32_t tsn
Definition: sctp.h:439
EGLenum type
Definition: eglext.h:63
uint16_t code
Definition: sctp.h:402
uint16_t hmac_id
Definition: sctp.h:444
uint16_t reserved
Definition: sctp.h:410
uint16_t length
Definition: sctp.h:403
uint16_t length
Definition: sctp.h:397