# Copyright 2017 syzkaller project authors. All rights reserved. # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. # AF_INET and AF_INET6: SCTP support include resource sock_sctp[sock_in] socket$inet_sctp(domain const[AF_INET], type flags[sctp_socket_type], proto const[IPPROTO_SCTP]) sock_sctp sctp_socket_type = SOCK_STREAM, SOCK_SEQPACKET resource sock_sctp6[sock_in6] socket$inet6_sctp(domain const[AF_INET6], type flags[sctp_socket_type], proto const[IPPROTO_SCTP]) sock_sctp6 sendmsg$inet_sctp(fd sock_sctp, msg ptr[in, msghdr_sctp], f flags[send_flags]) sendmsg$inet6_sctp(fd sock_sctp6, msg ptr[in, msghdr_sctp], f flags[send_flags]) msghdr_sctp { msg_name ptr[in, sockaddr_sctp] msg_namelen len[msg_name, int32] msg_iov ptr[in, array[iovec_in]] msg_iovlen len[msg_iov, int32] msg_control ptr[in, array[cmsghdr_sctp], opt] msg_controllen bytesize[msg_control, int32] msg_flags flags[send_flags, int32] } cmsghdr_sctp [ init cmsghdr_sctp_init sndrcv cmsghdr_sctp_sndrcv sndinfo cmsghdr_sctp_sndinfo prinfo cmsghdr_sctp_prinfo authinfo cmsghdr_sctp_authinfo dstaddrv4 cmsghdr_sctp_dstaddrv4 dstaddrv6 cmsghdr_sctp_dstaddrv6 ] [varlen] cmsghdr_sctp_init { len len[parent, int32] level const[IPPROTO_SCTP, int32] type const[SCTP_INIT, int32] msg sctp_initmsg } cmsghdr_sctp_sndrcv { len len[parent, int32] level const[IPPROTO_SCTP, int32] type const[SCTP_SNDRCV, int32] msg sctp_sndrcvinfo } cmsghdr_sctp_sndinfo { len len[parent, int32] level const[IPPROTO_SCTP, int32] type const[SCTP_SNDINFO, int32] msg sctp_sndinfo } cmsghdr_sctp_prinfo { len len[parent, int32] level const[IPPROTO_SCTP, int32] type const[SCTP_PRINFO, int32] msg sctp_prinfo } sctp_prinfo { pr_policy flags[sctp_pr_policies, int16] pr_value int32 } cmsghdr_sctp_authinfo { len len[parent, int32] level const[IPPROTO_SCTP, int32] type const[SCTP_AUTHINFO, int32] msg sctp_authinfo } sctp_authinfo { auth_keynumber int16 } cmsghdr_sctp_dstaddrv4 { len len[parent, int32] level const[IPPROTO_SCTP, int32] type const[SCTP_DSTADDRV4, int32] msg ipv4_addr } cmsghdr_sctp_dstaddrv6 { len len[parent, int32] level const[IPPROTO_SCTP, int32] type const[SCTP_DSTADDRV6, int32] msg ipv6_addr } # Specific SCTP socket options resource assoc_id[int32]: 0 setsockopt$inet_sctp_SCTP_RTOINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RTOINFO], val ptr[in, sctp_rtoinfo], len len[val]) setsockopt$inet6_sctp_SCTP_RTOINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RTOINFO], val ptr[in, sctp_rtoinfo], len len[val]) getsockopt$inet_sctp_SCTP_RTOINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RTOINFO], val ptr[inout, sctp_rtoinfo], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_RTOINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RTOINFO], val ptr[inout, sctp_rtoinfo], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_ASSOCINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_ASSOCINFO], val ptr[in, sctp_assocparams], len len[val]) setsockopt$inet6_sctp_SCTP_ASSOCINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_ASSOCINFO], val ptr[in, sctp_assocparams], len len[val]) getsockopt$inet_sctp_SCTP_ASSOCINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_ASSOCINFO], val ptr[inout, sctp_assocparams], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_ASSOCINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_ASSOCINFO], val ptr[inout, sctp_assocparams], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_INITMSG(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_INITMSG], val ptr[in, sctp_initmsg], len len[val]) setsockopt$inet6_sctp_SCTP_INITMSG(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_INITMSG], val ptr[in, sctp_initmsg], len len[val]) getsockopt$inet_sctp_SCTP_INITMSG(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_INITMSG], val ptr[out, sctp_initmsg], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_INITMSG(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_INITMSG], val ptr[out, sctp_initmsg], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_NODELAY(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_NODELAY], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_NODELAY(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_NODELAY], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_NODELAY(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_NODELAY], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_NODELAY(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_NODELAY], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_AUTOCLOSE(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTOCLOSE], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_AUTOCLOSE(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTOCLOSE], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_AUTOCLOSE(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTOCLOSE], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_AUTOCLOSE(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTOCLOSE], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_SET_PEER_PRIMARY_ADDR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_SET_PEER_PRIMARY_ADDR], val ptr[in, sctp_prim], len len[val]) setsockopt$inet6_sctp_SCTP_SET_PEER_PRIMARY_ADDR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_SET_PEER_PRIMARY_ADDR], val ptr[in, sctp_prim], len len[val]) setsockopt$inet_sctp_SCTP_PRIMARY_ADDR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PRIMARY_ADDR], val ptr[in, sctp_prim], len len[val]) setsockopt$inet6_sctp_SCTP_PRIMARY_ADDR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PRIMARY_ADDR], val ptr[in, sctp_prim], len len[val]) getsockopt$inet_sctp_SCTP_PRIMARY_ADDR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PRIMARY_ADDR], val ptr[inout, sctp_prim], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_PRIMARY_ADDR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PRIMARY_ADDR], val ptr[inout, sctp_prim], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_ADAPTATION_LAYER(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_ADAPTATION_LAYER], val ptr[in, sctp_setadaptation], len len[val]) setsockopt$inet6_sctp_SCTP_ADAPTATION_LAYER(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_ADAPTATION_LAYER], val ptr[in, sctp_setadaptation], len len[val]) getsockopt$inet_sctp_SCTP_ADAPTATION_LAYER(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_ADAPTATION_LAYER], val ptr[out, sctp_setadaptation], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_ADAPTATION_LAYER(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_ADAPTATION_LAYER], val ptr[out, sctp_setadaptation], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_DISABLE_FRAGMENTS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DISABLE_FRAGMENTS], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_DISABLE_FRAGMENTS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DISABLE_FRAGMENTS], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_DISABLE_FRAGMENTS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DISABLE_FRAGMENTS], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_DISABLE_FRAGMENTS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DISABLE_FRAGMENTS], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PEER_ADDR_PARAMS], val ptr[in, sctp_paddrparams], len len[val]) setsockopt$inet6_sctp_SCTP_PEER_ADDR_PARAMS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PEER_ADDR_PARAMS], val ptr[in, sctp_paddrparams], len len[val]) getsockopt$inet_sctp_SCTP_PEER_ADDR_PARAMS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PEER_ADDR_PARAMS], val ptr[inout, sctp_paddrparams], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_PEER_ADDR_PARAMS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PEER_ADDR_PARAMS], val ptr[inout, sctp_paddrparams], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_DEFAULT_SEND_PARAM(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_SEND_PARAM], val ptr[in, sctp_sndrcvinfo], len len[val]) setsockopt$inet6_sctp_SCTP_DEFAULT_SEND_PARAM(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_SEND_PARAM], val ptr[in, sctp_sndrcvinfo], len len[val]) getsockopt$inet_sctp_SCTP_DEFAULT_SEND_PARAM(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_SEND_PARAM], val ptr[inout, sctp_sndrcvinfo], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_DEFAULT_SEND_PARAM(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_SEND_PARAM], val ptr[inout, sctp_sndrcvinfo], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_EVENTS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_EVENTS], val ptr[in, sctp_event_subscribe], len len[val]) setsockopt$inet6_sctp_SCTP_EVENTS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_EVENTS], val ptr[in, sctp_event_subscribe], len len[val]) getsockopt$inet_sctp_SCTP_EVENTS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_EVENTS], val ptr[out, sctp_event_subscribe], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_EVENTS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_EVENTS], val ptr[out, sctp_event_subscribe], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_I_WANT_MAPPED_V4_ADDR], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_I_WANT_MAPPED_V4_ADDR], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_I_WANT_MAPPED_V4_ADDR], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_I_WANT_MAPPED_V4_ADDR], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_MAXSEG(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_MAXSEG], val ptr[in, sctp_assoc_value], len len[val]) setsockopt$inet6_sctp_SCTP_MAXSEG(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_MAXSEG], val ptr[in, sctp_assoc_value], len len[val]) getsockopt$inet_sctp_SCTP_MAXSEG(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_MAXSEG], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_MAXSEG(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_MAXSEG], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_DELAYED_SACK(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DELAYED_SACK], val ptr[in, sctp_sack_info], len len[val]) setsockopt$inet6_sctp_SCTP_DELAYED_SACK(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DELAYED_SACK], val ptr[in, sctp_sack_info], len len[val]) getsockopt$inet_sctp_SCTP_DELAYED_SACK(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DELAYED_SACK], val ptr[inout, sctp_sack_info], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_DELAYED_SACK(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DELAYED_SACK], val ptr[inout, sctp_sack_info], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_FRAGMENT_INTERLEAVE(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_FRAGMENT_INTERLEAVE], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_FRAGMENT_INTERLEAVE(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_FRAGMENT_INTERLEAVE], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_FRAGMENT_INTERLEAVE(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_FRAGMENT_INTERLEAVE], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_FRAGMENT_INTERLEAVE(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_FRAGMENT_INTERLEAVE], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PARTIAL_DELIVERY_POINT], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_PARTIAL_DELIVERY_POINT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PARTIAL_DELIVERY_POINT], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PARTIAL_DELIVERY_POINT], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_PARTIAL_DELIVERY_POINT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PARTIAL_DELIVERY_POINT], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_AUTH_CHUNK(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_CHUNK], val ptr[in, sctp_authchunk], len len[val]) setsockopt$inet6_sctp_SCTP_AUTH_CHUNK(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_CHUNK], val ptr[in, sctp_authchunk], len len[val]) setsockopt$inet_sctp_SCTP_AUTH_KEY(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_KEY], val ptr[in, sctp_authkey], len len[val]) setsockopt$inet6_sctp_SCTP_AUTH_KEY(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_KEY], val ptr[in, sctp_authkey], len len[val]) setsockopt$inet_sctp_SCTP_HMAC_IDENT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_HMAC_IDENT], val ptr[in, sctp_hmacalgo], len len[val]) setsockopt$inet6_sctp_SCTP_HMAC_IDENT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_HMAC_IDENT], val ptr[in, sctp_hmacalgo], len len[val]) getsockopt$inet_sctp_SCTP_HMAC_IDENT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_HMAC_IDENT], val ptr[inout, sctp_hmacalgo], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_HMAC_IDENT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_HMAC_IDENT], val ptr[inout, sctp_hmacalgo], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_AUTH_ACTIVE_KEY(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_ACTIVE_KEY], val ptr[in, sctp_authkeyid], len len[val]) setsockopt$inet6_sctp_SCTP_AUTH_ACTIVE_KEY(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_ACTIVE_KEY], val ptr[in, sctp_authkeyid], len len[val]) getsockopt$inet_sctp_SCTP_AUTH_ACTIVE_KEY(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_ACTIVE_KEY], val ptr[inout, sctp_authkeyid], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_AUTH_ACTIVE_KEY(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_ACTIVE_KEY], val ptr[inout, sctp_authkeyid], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_AUTH_DELETE_KEY(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_DELETE_KEY], val ptr[in, sctp_authkeyid], len len[val]) setsockopt$inet6_sctp_SCTP_AUTH_DELETE_KEY(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_DELETE_KEY], val ptr[in, sctp_authkeyid], len len[val]) setsockopt$inet_sctp_SCTP_AUTO_ASCONF(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTO_ASCONF], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_AUTO_ASCONF(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTO_ASCONF], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_AUTO_ASCONF(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTO_ASCONF], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_AUTO_ASCONF(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTO_ASCONF], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_MAX_BURST(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_MAX_BURST], val ptr[in, sctp_assoc_value], len len[val]) setsockopt$inet6_sctp_SCTP_MAX_BURST(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_MAX_BURST], val ptr[in, sctp_assoc_value], len len[val]) getsockopt$inet_sctp_SCTP_MAX_BURST(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_MAX_BURST], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_MAX_BURST(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_MAX_BURST], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_CONTEXT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_CONTEXT], val ptr[in, sctp_assoc_value], len len[val]) setsockopt$inet6_sctp_SCTP_CONTEXT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_CONTEXT], val ptr[in, sctp_assoc_value], len len[val]) getsockopt$inet_sctp_SCTP_CONTEXT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_CONTEXT], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_CONTEXT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_CONTEXT], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_EXPLICIT_EOR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_EXPLICIT_EOR], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_EXPLICIT_EOR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_EXPLICIT_EOR], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_EXPLICIT_EOR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_EXPLICIT_EOR], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_EXPLICIT_EOR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_EXPLICIT_EOR], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_REUSE_PORT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_REUSE_PORT], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_REUSE_PORT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_REUSE_PORT], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_REUSE_PORT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_REUSE_PORT], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_REUSE_PORT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_REUSE_PORT], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_AUTH_DEACTIVATE_KEY(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_DEACTIVATE_KEY], val ptr[in, sctp_authkeyid], len len[val]) setsockopt$inet6_sctp_SCTP_AUTH_DEACTIVATE_KEY(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_AUTH_DEACTIVATE_KEY], val ptr[in, sctp_authkeyid], len len[val]) setsockopt$inet_sctp_SCTP_EVENT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_EVENT], val ptr[in, sctp_event], len len[val]) setsockopt$inet6_sctp_SCTP_EVENT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_EVENT], val ptr[in, sctp_event], len len[val]) getsockopt$inet_sctp_SCTP_EVENT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_EVENT], val ptr[inout, sctp_event], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_EVENT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_EVENT], val ptr[inout, sctp_event], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_RECVRCVINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RECVRCVINFO], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_RECVRCVINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RECVRCVINFO], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_RECVRCVINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RECVRCVINFO], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_RECVRCVINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RECVRCVINFO], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_RECVNXTINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RECVNXTINFO], val ptr[in, int32], len len[val]) setsockopt$inet6_sctp_SCTP_RECVNXTINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RECVNXTINFO], val ptr[in, int32], len len[val]) getsockopt$inet_sctp_SCTP_RECVNXTINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RECVNXTINFO], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_RECVNXTINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RECVNXTINFO], val ptr[out, int32], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_SNDINFO], val ptr[in, sctp_sndinfo], len len[val]) setsockopt$inet6_sctp_SCTP_DEFAULT_SNDINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_SNDINFO], val ptr[in, sctp_sndinfo], len len[val]) getsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_SNDINFO], val ptr[inout, sctp_sndinfo], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_DEFAULT_SNDINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_SNDINFO], val ptr[inout, sctp_sndinfo], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_PRINFO], val ptr[in, sctp_default_prinfo], len len[val]) setsockopt$inet6_sctp_SCTP_DEFAULT_PRINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_PRINFO], val ptr[in, sctp_default_prinfo], len len[val]) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_PRINFO], val ptr[inout, sctp_default_prinfo], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_DEFAULT_PRINFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_DEFAULT_PRINFO], val ptr[inout, sctp_default_prinfo], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PEER_ADDR_THLDS], val ptr[in, sctp_paddrthlds], len len[val]) setsockopt$inet6_sctp_SCTP_PEER_ADDR_THLDS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PEER_ADDR_THLDS], val ptr[in, sctp_paddrthlds], len len[val]) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PEER_ADDR_THLDS], val ptr[inout, sctp_paddrthlds], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_PEER_ADDR_THLDS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PEER_ADDR_THLDS], val ptr[inout, sctp_paddrthlds], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_PR_SUPPORTED(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PR_SUPPORTED], val ptr[in, sctp_assoc_value], len len[val]) setsockopt$inet6_sctp_SCTP_PR_SUPPORTED(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PR_SUPPORTED], val ptr[in, sctp_assoc_value], len len[val]) getsockopt$inet_sctp_SCTP_PR_SUPPORTED(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PR_SUPPORTED], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_PR_SUPPORTED(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PR_SUPPORTED], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RECONFIG_SUPPORTED], val ptr[in, sctp_assoc_value], len len[val]) setsockopt$inet6_sctp_SCTP_RECONFIG_SUPPORTED(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RECONFIG_SUPPORTED], val ptr[in, sctp_assoc_value], len len[val]) getsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RECONFIG_SUPPORTED], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_RECONFIG_SUPPORTED(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RECONFIG_SUPPORTED], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_STATUS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_STATUS], val ptr[inout, sctp_status], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_STATUS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_STATUS], val ptr[inout, sctp_status], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_GET_PEER_ADDR_INFO(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_GET_PEER_ADDR_INFO], val ptr[inout, sctp_paddrinfo], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_GET_PEER_ADDR_INFO(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_GET_PEER_ADDR_INFO], val ptr[inout, sctp_paddrinfo], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PEER_AUTH_CHUNKS], val ptr[inout, sctp_authchunks], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_PEER_AUTH_CHUNKS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PEER_AUTH_CHUNKS], val ptr[inout, sctp_authchunks], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_LOCAL_AUTH_CHUNKS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_LOCAL_AUTH_CHUNKS], val ptr[inout, sctp_authchunks], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_LOCAL_AUTH_CHUNKS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_LOCAL_AUTH_CHUNKS], val ptr[inout, sctp_authchunks], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_GET_ASSOC_NUMBER(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_GET_ASSOC_NUMBER], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_GET_ASSOC_NUMBER(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_GET_ASSOC_NUMBER], val ptr[out, int32], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_GET_ASSOC_ID_LIST], val ptr[out, sctp_assoc_ids], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_GET_ASSOC_ID_LIST(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_GET_ASSOC_ID_LIST], val ptr[out, sctp_assoc_ids], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_PR_STREAM_STATUS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PR_STREAM_STATUS], val ptr[inout, sctp_prstatus], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_PR_STREAM_STATUS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PR_STREAM_STATUS], val ptr[inout, sctp_prstatus], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_PR_ASSOC_STATUS], val ptr[inout, sctp_prstatus], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_PR_ASSOC_STATUS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_PR_ASSOC_STATUS], val ptr[inout, sctp_prstatus], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_ENABLE_STREAM_RESET], val ptr[in, sctp_assoc_value], len len[val]) setsockopt$inet6_sctp_SCTP_ENABLE_STREAM_RESET(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_ENABLE_STREAM_RESET], val ptr[in, sctp_assoc_value], len len[val]) getsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_ENABLE_STREAM_RESET], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_ENABLE_STREAM_RESET(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_ENABLE_STREAM_RESET], val ptr[inout, sctp_assoc_value], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_RESET_STREAMS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RESET_STREAMS], val ptr[in, sctp_reset_streams], len len[val]) setsockopt$inet6_sctp_SCTP_RESET_STREAMS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RESET_STREAMS], val ptr[in, sctp_reset_streams], len len[val]) getsockopt$inet_sctp_SCTP_RESET_STREAMS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RESET_STREAMS], val ptr[inout, sctp_reset_streams], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_RESET_STREAMS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RESET_STREAMS], val ptr[inout, sctp_reset_streams], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_RESET_ASSOC(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_RESET_ASSOC], val ptr[in, assoc_id], len len[val]) setsockopt$inet6_sctp_SCTP_RESET_ASSOC(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_RESET_ASSOC], val ptr[in, assoc_id], len len[val]) setsockopt$inet_sctp_SCTP_ADD_STREAMS(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_ADD_STREAMS], val ptr[in, sctp_add_streams], len len[val]) setsockopt$inet6_sctp_SCTP_ADD_STREAMS(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_ADD_STREAMS], val ptr[in, sctp_add_streams], len len[val]) setsockopt$inet_sctp_SCTP_BINDX_ADD_ADDR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_BINDX_ADD_ADDR], val ptr[in, sockaddr_sctp], len ptr[inout, len[val, int32]]) setsockopt$inet6_sctp_SCTP_BINDX_ADD_ADDR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_BINDX_ADD_ADDR], val ptr[in, sockaddr_sctp], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_BINDX_REM_ADDR(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_BINDX_REM_ADDR], val ptr[in, sockaddr_sctp], len ptr[inout, len[val, int32]]) setsockopt$inet6_sctp_SCTP_BINDX_REM_ADDR(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_BINDX_REM_ADDR], val ptr[in, sockaddr_sctp], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_GET_PEER_ADDRESSES(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_GET_PEER_ADDRESSES], val ptr[inout, sctp_getaddresses_out], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_GET_PEER_ADDRESSES(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_GET_PEER_ADDRESSES], val ptr[inout, sctp_getaddresses_out], len ptr[inout, len[val, int32]]) getsockopt$inet_sctp_SCTP_GET_LOCAL_ADDRESSES(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_GET_LOCAL_ADDRESSES], val ptr[inout, sctp_getaddresses_out], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_GET_LOCAL_ADDRESSES(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_GET_LOCAL_ADDRESSES], val ptr[inout, sctp_getaddresses_out], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_CONNECT_X(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_CONNECT_X], val ptr[in, sctp_connectx], len ptr[inout, len[val, int32]]) setsockopt$inet6_sctp_SCTP_CONNECT_X(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_CONNECT_X], val ptr[in, sctp_connectx], len ptr[inout, len[val, int32]]) setsockopt$inet_sctp_SCTP_REMOTE_UDP_ENCAPS_PORT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_REMOTE_UDP_ENCAPS_PORT], val ptr[in, sctp_udpencaps], len len[val]) setsockopt$inet6_sctp_SCTP_REMOTE_UDP_ENCAPS_PORT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_REMOTE_UDP_ENCAPS_PORT], val ptr[in, sctp_udpencaps], len len[val]) getsockopt$inet_sctp_SCTP_REMOTE_UDP_ENCAPS_PORT(fd sock_sctp, level const[IPPROTO_SCTP], opt const[SCTP_REMOTE_UDP_ENCAPS_PORT], val ptr[inout, sctp_udpencaps], len ptr[inout, len[val, int32]]) getsockopt$inet6_sctp_SCTP_REMOTE_UDP_ENCAPS_PORT(fd sock_sctp6, level const[IPPROTO_SCTP], opt const[SCTP_REMOTE_UDP_ENCAPS_PORT], val ptr[inout, sctp_udpencaps], len ptr[inout, len[val, int32]]) sctp_rtoinfo { srto_assoc_id assoc_id srto_initial int32 srto_max int32 srto_min int32 } sctp_assocparams { sasoc_assoc_id assoc_id sasoc_peer_rwnd int32 sasoc_local_rwnd int32 sasoc_cookie_life int32 sasoc_asocmaxrxt int16 sasoc_number_peer_dest int16 } sctp_initmsg { sinit_num_ostreams int16 sinit_max_instreams int16 sinit_max_attempts int16 sinit_max_init_timeo int16 } sctp_prim { ssp_addr sockaddr_storage_sctp ssp_assoc_id assoc_id } sockaddr_sctp [ in sockaddr_in in6 sockaddr_in6 ] [varlen] sockaddr_storage_sctp [ in sockaddr_storage_in in6 sockaddr_storage_in6 ] sctp_setadaptation { ssb_adaptation_ind int32 } sctp_paddrparams { spp_address sockaddr_storage_sctp spp_assoc_id assoc_id spp_hbinterval int32 spp_pathmtu int32 spp_flags flags[sctp_spp_flags, int32] spp_ipv6_flowlabel int32 spp_pathmaxrxt int16 spp_dscp int8 } sctp_spp_flags = SPP_HB_ENABLE, SPP_HB_DISABLE, SPP_HB_DEMAND, SPP_PMTUD_ENABLE, SPP_PMTUD_DISABLE, SPP_HB_TIME_IS_ZERO, SPP_IPV6_FLOWLABEL, SPP_DSCP sctp_sndrcvinfo { sinfo_stream int16 sinfo_ssn int16 sinfo_flags flags[sctp_sndrcv_flags, int16] sinfo_ppid int32 sinfo_context int32 sinfo_timetolive int32 sinfo_tsn int32 sinfo_cumtsn int32 sinfo_assoc_id assoc_id } sctp_sndrcv_flags = SCTP_NOTIFICATION, SCTP_COMPLETE, SCTP_EOF, SCTP_ABORT, SCTP_UNORDERED, SCTP_ADDR_OVER, SCTP_SENDALL, SCTP_EOR, SCTP_SACK_IMMEDIATELY sctp_event_subscribe { sctp_data_io_event int8 sctp_association_event int8 sctp_address_event int8 sctp_send_failure_event int8 sctp_peer_error_event int8 sctp_shutdown_event int8 sctp_partial_delivery_e int8 sctp_adaptation_layer_e int8 sctp_authentication_e int8 sctp_sender_dry_event int8 sctp_stream_reset_event int8 } sctp_assoc_value { assoc_id assoc_id assoc_value int32 } sctp_reset_streams { srs_assoc_id assoc_id srs_flags int16 srs_number_streams len[srs_stream_list, int16] srs_stream_list array[int16] } sctp_status { sstat_assoc_id assoc_id sstat_state int32 sstat_rwnd int32 sstat_unackdata int16 sstat_penddata int16 sstat_instrms int16 sstat_outstrms int16 sstat_fragmentation_p int32 sstat_primary sctp_paddrinfo } sctp_paddrinfo { spinfo_address sockaddr_storage_sctp spinfo_assoc_id assoc_id spinfo_state int32 spinfo_cwnd int32 spinfo_srtt int32 spinfo_rto int32 spinfo_mtu int32 } sctp_sack_info { sack_assoc_id assoc_id sack_delay int32 sack_freq int32 } sctp_authchunk { sauth_chunk int8 } sctp_hmacalgo { shmac_num_idents len[shmac_idents, int32] shmac_idents array[int16] } sctp_authkey { sca_assoc_id assoc_id sca_keynumber int16 sca_keylength len[sca_key, int16] sca_key array[int8] } sctp_authkeyid { scact_assoc_id assoc_id scact_keynumber int16 } sctp_authchunks { gauth_assoc_id assoc_id gauth_number_of_chunks len[gauth_chunks, int32] gauth_chunks array[int8] } sctp_event { se_assoc_id assoc_id se_type flags[sctp_event_types, int16] se_on int8 } sctp_event_types = SCTP_ASSOC_CHANGE, SCTP_PEER_ADDR_CHANGE, SCTP_REMOTE_ERROR, SCTP_SEND_FAILED, SCTP_SHUTDOWN_EVENT, SCTP_ADAPTATION_INDICATION, SCTP_PARTIAL_DELIVERY_EVENT, SCTP_AUTHENTICATION_EVENT, SCTP_STREAM_RESET_EVENT, SCTP_SENDER_DRY_EVENT, SCTP_NOTIFICATIONS_STOPPED_EVENT, SCTP_ASSOC_RESET_EVENT, SCTP_STREAM_CHANGE_EVENT, SCTP_SEND_FAILED_EVENT sctp_assoc_ids { gaids_number_of_ids len[gaids_assoc_id, int32] gaids_assoc_id array[assoc_id] } sctp_paddrthlds { spt_address sockaddr_storage_sctp spt_assoc_id assoc_id spt_pathmaxrxt int16 spt_pathpfthld int16 spt_pathcpthld int16 } sctp_sndinfo { snd_sid int16 snd_flags flags[sctp_sndrcv_flags, int16] snd_ppid int32 snd_context int32 snd_assoc_id assoc_id } sctp_getaddresses_out { sget_assoc_id assoc_id addr ptr[out, array[sockaddr_sctp]] } sctp_connectx { addrcnt int32 addrs ptr[in, array[sockaddr_sctp]] } sctp_default_prinfo { pr_policy flags[sctp_pr_policies, int16] pr_value int32 pr_assoc_id assoc_id } sctp_pr_policies = SCTP_PR_SCTP_NONE, SCTP_PR_SCTP_TTL, SCTP_PR_SCTP_PRIO, SCTP_PR_SCTP_RTX, SCTP_PR_SCTP_ALL sctp_prstatus { sprstat_assoc_id assoc_id sprstat_sid int16 sprstat_policy flags[sctp_pr_policies, int16] sprstat_abandoned_uns int64 sprstat_abandoned_sent int64 } sctp_add_streams { sas_assoc_id assoc_id sas_instrms int16 sas_outstrms int16 } sctp_udpencaps { sue_assoc_id assoc_id sue_address sockaddr_storage_sctp sue_port int16 }