FreeBSD kernel IPv4 code
|
#include <sys/cdefs.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/endian.h>
Go to the source code of this file.
Typedefs | |
typedef uint32_t | sctp_assoc_t |
Functions | |
__FBSDID ("$FreeBSD$") | |
int | sctp_lower_sosend (struct socket *so, struct sockaddr *addr, struct uio *uio, struct mbuf *i_pak, struct mbuf *control, int flags, struct sctp_sndrcvinfo *srcv, struct thread *p) |
int | sctp_sorecvmsg (struct socket *so, struct uio *uio, struct mbuf **mp, struct sockaddr *from, int fromlen, int *msg_flags, struct sctp_sndrcvinfo *sinfo, int filling_sinfo) |
#define _NETINET_SCTP_UIO_H_ |
Definition at line 39 of file sctp_uio.h.
#define htonll | ( | x | ) | htobe64(x) |
Definition at line 1153 of file sctp_uio.h.
#define INVALID_SINFO_FLAG | ( | x | ) |
Definition at line 252 of file sctp_uio.h.
#define ntohll | ( | x | ) | be64toh(x) |
Definition at line 1148 of file sctp_uio.h.
#define PR_SCTP_BUF_ENABLED | ( | x | ) | (PR_SCTP_POLICY(x) == SCTP_PR_SCTP_BUF) |
Definition at line 271 of file sctp_uio.h.
#define PR_SCTP_ENABLED | ( | x | ) |
Definition at line 268 of file sctp_uio.h.
#define PR_SCTP_INVALID_POLICY | ( | x | ) | (PR_SCTP_POLICY(x) > SCTP_PR_SCTP_MAX) |
Definition at line 273 of file sctp_uio.h.
#define PR_SCTP_POLICY | ( | x | ) | ((x) & 0x0f) |
Definition at line 267 of file sctp_uio.h.
#define PR_SCTP_RTX_ENABLED | ( | x | ) | (PR_SCTP_POLICY(x) == SCTP_PR_SCTP_RTX) |
Definition at line 272 of file sctp_uio.h.
#define PR_SCTP_TTL_ENABLED | ( | x | ) | (PR_SCTP_POLICY(x) == SCTP_PR_SCTP_TTL) |
Definition at line 270 of file sctp_uio.h.
#define PR_SCTP_VALID_POLICY | ( | x | ) | (PR_SCTP_POLICY(x) <= SCTP_PR_SCTP_MAX) |
Definition at line 274 of file sctp_uio.h.
#define SCTP_ABORT 0x0200 /* Send an ABORT to peer */ |
Definition at line 245 of file sctp_uio.h.
#define SCTP_ACTIVE 0x0001 /* SCTP_ADDR_REACHABLE */ |
Definition at line 349 of file sctp_uio.h.
#define SCTP_ADAPTATION_INDICATION 0x0006 |
Definition at line 544 of file sctp_uio.h.
#define SCTP_ADAPTION_INDICATION 0x0006 |
Definition at line 546 of file sctp_uio.h.
#define SCTP_ADDR_ADDED 0x0004 |
Definition at line 345 of file sctp_uio.h.
#define SCTP_ADDR_AVAILABLE 0x0001 |
Definition at line 342 of file sctp_uio.h.
#define SCTP_ADDR_CONFIRMED 0x0006 |
Definition at line 347 of file sctp_uio.h.
#define SCTP_ADDR_MADE_PRIM 0x0005 |
Definition at line 346 of file sctp_uio.h.
#define SCTP_ADDR_OVER 0x0800 /* Override the primary-address */ |
Definition at line 247 of file sctp_uio.h.
#define SCTP_ADDR_REMOVED 0x0003 |
Definition at line 344 of file sctp_uio.h.
#define SCTP_ADDR_UNREACHABLE 0x0002 |
Definition at line 343 of file sctp_uio.h.
#define SCTP_ALIGN_RESV_PAD 92 |
Definition at line 113 of file sctp_uio.h.
#define SCTP_ALIGN_RESV_PAD_SHORT 76 |
Definition at line 114 of file sctp_uio.h.
#define SCTP_ALL_ASSOC 2 |
Definition at line 52 of file sctp_uio.h.
#define SCTP_ASSOC_CHANGE 0x0001 |
Definition at line 539 of file sctp_uio.h.
#define SCTP_ASSOC_RESET_DENIED 0x0004 |
Definition at line 494 of file sctp_uio.h.
#define SCTP_ASSOC_RESET_EVENT 0x000c |
Definition at line 552 of file sctp_uio.h.
#define SCTP_ASSOC_RESET_FAILED 0x0008 |
Definition at line 495 of file sctp_uio.h.
#define SCTP_ASSOC_SUPPORTS_ASCONF 0x03 |
Definition at line 323 of file sctp_uio.h.
#define SCTP_ASSOC_SUPPORTS_AUTH 0x02 |
Definition at line 322 of file sctp_uio.h.
#define SCTP_ASSOC_SUPPORTS_INTERLEAVING 0x06 |
Definition at line 326 of file sctp_uio.h.
#define SCTP_ASSOC_SUPPORTS_MAX 0x06 |
Definition at line 327 of file sctp_uio.h.
#define SCTP_ASSOC_SUPPORTS_MULTIBUF 0x04 |
Definition at line 324 of file sctp_uio.h.
#define SCTP_ASSOC_SUPPORTS_PR 0x01 |
Definition at line 321 of file sctp_uio.h.
#define SCTP_ASSOC_SUPPORTS_RE_CONFIG 0x05 |
Definition at line 325 of file sctp_uio.h.
#define SCTP_AUTH_FREE_KEY 0x0003 |
Definition at line 456 of file sctp_uio.h.
#define SCTP_AUTH_HMAC_ID_RSVD 0x0000 |
Definition at line 673 of file sctp_uio.h.
#define SCTP_AUTH_HMAC_ID_SHA1 0x0001 /* default, mandatory */ |
Definition at line 674 of file sctp_uio.h.
#define SCTP_AUTH_HMAC_ID_SHA256 0x0003 |
Definition at line 675 of file sctp_uio.h.
#define SCTP_AUTH_NEW_KEY 0x0001 |
Definition at line 453 of file sctp_uio.h.
#define SCTP_AUTH_NEWKEY SCTP_AUTH_NEW_KEY |
Definition at line 454 of file sctp_uio.h.
#define SCTP_AUTH_NO_AUTH 0x0002 |
Definition at line 455 of file sctp_uio.h.
#define SCTP_AUTHENTICATION_EVENT 0x0008 |
Definition at line 548 of file sctp_uio.h.
#define SCTP_AUTHINFO 0x0008 |
Definition at line 86 of file sctp_uio.h.
#define SCTP_CANT_STR_ASSOC 0x0005 |
Definition at line 318 of file sctp_uio.h.
#define SCTP_COMM_LOST 0x0002 |
Definition at line 315 of file sctp_uio.h.
#define SCTP_COMM_UP 0x0001 |
Definition at line 314 of file sctp_uio.h.
#define SCTP_COMPLETE 0x0020 /* next message is complete */ |
Definition at line 243 of file sctp_uio.h.
#define SCTP_CURRENT_ASSOC 1 |
Definition at line 51 of file sctp_uio.h.
#define SCTP_DATA_SENT 0x0002 /* on wire at failure */ |
Definition at line 387 of file sctp_uio.h.
#define SCTP_DATA_UNSENT 0x0001 /* inqueue never on wire */ |
Definition at line 386 of file sctp_uio.h.
#define SCTP_DSTADDRV4 0x0009 |
Definition at line 87 of file sctp_uio.h.
#define SCTP_DSTADDRV6 0x000a |
Definition at line 88 of file sctp_uio.h.
#define SCTP_EOF 0x0100 /* Start shutdown procedures */ |
Definition at line 244 of file sctp_uio.h.
#define SCTP_EOR 0x2000 /* end of message signal */ |
Definition at line 249 of file sctp_uio.h.
#define SCTP_EXTRCV 0x0003 |
Definition at line 81 of file sctp_uio.h.
#define SCTP_FUTURE_ASSOC 0 |
Definition at line 50 of file sctp_uio.h.
#define SCTP_INACTIVE |
Definition at line 350 of file sctp_uio.h.
#define SCTP_INIT 0x0001 |
Definition at line 79 of file sctp_uio.h.
#define SCTP_MAX_EXPLICT_STR_RESET 1000 |
Definition at line 770 of file sctp_uio.h.
#define SCTP_MAX_LOGGING_SIZE 30000 |
Definition at line 1236 of file sctp_uio.h.
#define SCTP_NEXT_MSG_AVAIL 0x0001 |
Definition at line 200 of file sctp_uio.h.
#define SCTP_NEXT_MSG_IS_NOTIFICATION 0x0008 |
Definition at line 203 of file sctp_uio.h.
#define SCTP_NEXT_MSG_IS_UNORDERED 0x0004 |
Definition at line 202 of file sctp_uio.h.
#define SCTP_NEXT_MSG_ISCOMPLETE 0x0002 |
Definition at line 201 of file sctp_uio.h.
#define SCTP_NO_NEXT_MSG 0x0000 |
Definition at line 199 of file sctp_uio.h.
#define SCTP_NOTIFICATION 0x0010 /* next message is a notification */ |
Definition at line 242 of file sctp_uio.h.
#define SCTP_NOTIFICATIONS_STOPPED_EVENT 0x000b /* we don't send this */ |
Definition at line 551 of file sctp_uio.h.
#define SCTP_NXTINFO 0x0006 |
Definition at line 84 of file sctp_uio.h.
#define SCTP_PARTIAL_DELIVERY_ABORTED 0x0001 |
Definition at line 437 of file sctp_uio.h.
#define SCTP_PARTIAL_DELIVERY_EVENT 0x0007 |
Definition at line 547 of file sctp_uio.h.
#define SCTP_PEER_ADDR_CHANGE 0x0002 |
Definition at line 540 of file sctp_uio.h.
#define SCTP_PR_SCTP_ALL 0x000f /* Used for aggregated stats */ |
Definition at line 265 of file sctp_uio.h.
#define SCTP_PR_SCTP_BUF SCTP_PR_SCTP_PRIO /* For backwards compatibility */ |
Definition at line 262 of file sctp_uio.h.
#define SCTP_PR_SCTP_MAX SCTP_PR_SCTP_RTX |
Definition at line 264 of file sctp_uio.h.
#define SCTP_PR_SCTP_NONE 0x0000 /* Reliable transfer */ |
Definition at line 259 of file sctp_uio.h.
#define SCTP_PR_SCTP_PRIO 0x0002 /* Buffer based PR-SCTP */ |
Definition at line 261 of file sctp_uio.h.
#define SCTP_PR_SCTP_RTX |
Definition at line 263 of file sctp_uio.h.
#define SCTP_PR_SCTP_TTL 0x0001 /* Time based PR-SCTP */ |
Definition at line 260 of file sctp_uio.h.
#define SCTP_PRINFO 0x0007 |
Definition at line 85 of file sctp_uio.h.
#define SCTP_RCVINFO 0x0005 |
Definition at line 83 of file sctp_uio.h.
#define SCTP_RECVV_NOINFO 0 |
Definition at line 210 of file sctp_uio.h.
#define SCTP_RECVV_NXTINFO 2 |
Definition at line 212 of file sctp_uio.h.
#define SCTP_RECVV_RCVINFO 1 |
Definition at line 211 of file sctp_uio.h.
#define SCTP_RECVV_RN 3 |
Definition at line 213 of file sctp_uio.h.
#define SCTP_REMOTE_ERROR 0x0003 |
Definition at line 541 of file sctp_uio.h.
#define SCTP_RESTART 0x0003 |
Definition at line 316 of file sctp_uio.h.
#define SCTP_SACK_IMMEDIATELY 0x4000 /* Set I-Bit */ |
Definition at line 250 of file sctp_uio.h.
#define SCTP_SEND_AUTHINFO_VALID 0x00000004 |
Definition at line 230 of file sctp_uio.h.
#define SCTP_SEND_FAILED 0x0004 |
Definition at line 542 of file sctp_uio.h.
#define SCTP_SEND_FAILED_EVENT 0x000e |
Definition at line 554 of file sctp_uio.h.
#define SCTP_SEND_PRINFO_VALID 0x00000002 |
Definition at line 229 of file sctp_uio.h.
#define SCTP_SEND_SNDINFO_VALID 0x00000001 |
Definition at line 228 of file sctp_uio.h.
#define SCTP_SENDALL 0x1000 /* Send this on all associations */ |
Definition at line 248 of file sctp_uio.h.
#define SCTP_SENDER_DRY_EVENT 0x000a |
Definition at line 550 of file sctp_uio.h.
#define SCTP_SENDV_AUTHINFO 3 |
Definition at line 218 of file sctp_uio.h.
#define SCTP_SENDV_NOINFO 0 |
Definition at line 215 of file sctp_uio.h.
#define SCTP_SENDV_PRINFO 2 |
Definition at line 217 of file sctp_uio.h.
#define SCTP_SENDV_SNDINFO 1 |
Definition at line 216 of file sctp_uio.h.
#define SCTP_SENDV_SPA 4 |
Definition at line 219 of file sctp_uio.h.
#define SCTP_SHUTDOWN_COMP 0x0004 |
Definition at line 317 of file sctp_uio.h.
#define SCTP_SHUTDOWN_EVENT 0x0005 |
Definition at line 543 of file sctp_uio.h.
#define SCTP_SNDINFO 0x0004 |
Definition at line 82 of file sctp_uio.h.
#define SCTP_SNDRCV 0x0002 |
Definition at line 80 of file sctp_uio.h.
#define SCTP_STAT_DECR | ( | _x | ) | SCTP_STAT_DECR_BY(_x,1) |
Definition at line 1126 of file sctp_uio.h.
#define SCTP_STAT_DECR_BY | ( | _x, | |
_d | |||
) | atomic_subtract_int(&SCTP_BASE_STAT(_x), _d) |
Definition at line 1132 of file sctp_uio.h.
#define SCTP_STAT_DECR_COUNTER32 | ( | _x | ) | SCTP_STAT_DECR(_x) |
Definition at line 1138 of file sctp_uio.h.
#define SCTP_STAT_DECR_COUNTER64 | ( | _x | ) | SCTP_STAT_DECR(_x) |
Definition at line 1139 of file sctp_uio.h.
#define SCTP_STAT_DECR_GAUGE32 | ( | _x | ) | SCTP_STAT_DECR(_x) |
Definition at line 1140 of file sctp_uio.h.
#define SCTP_STAT_INCR | ( | _x | ) | SCTP_STAT_INCR_BY(_x,1) |
Definition at line 1125 of file sctp_uio.h.
#define SCTP_STAT_INCR_BY | ( | _x, | |
_d | |||
) | atomic_add_int(&SCTP_BASE_STAT(_x), _d) |
Definition at line 1131 of file sctp_uio.h.
#define SCTP_STAT_INCR_COUNTER32 | ( | _x | ) | SCTP_STAT_INCR(_x) |
Definition at line 1135 of file sctp_uio.h.
#define SCTP_STAT_INCR_COUNTER64 | ( | _x | ) | SCTP_STAT_INCR(_x) |
Definition at line 1136 of file sctp_uio.h.
#define SCTP_STAT_INCR_GAUGE32 | ( | _x | ) | SCTP_STAT_INCR(_x) |
Definition at line 1137 of file sctp_uio.h.
#define SCTP_STREAM_CHANGE_DENIED 0x0004 |
Definition at line 509 of file sctp_uio.h.
#define SCTP_STREAM_CHANGE_EVENT 0x000d |
Definition at line 553 of file sctp_uio.h.
#define SCTP_STREAM_CHANGE_FAILED 0x0008 |
Definition at line 510 of file sctp_uio.h.
#define SCTP_STREAM_RESET_DENIED 0x0004 |
Definition at line 479 of file sctp_uio.h.
#define SCTP_STREAM_RESET_EVENT 0x0009 |
Definition at line 549 of file sctp_uio.h.
#define sctp_stream_reset_events sctp_stream_reset_event |
Definition at line 61 of file sctp_uio.h.
#define SCTP_STREAM_RESET_FAILED 0x0008 |
Definition at line 480 of file sctp_uio.h.
#define SCTP_STREAM_RESET_INCOMING_SSN 0x0001 |
Definition at line 477 of file sctp_uio.h.
#define SCTP_STREAM_RESET_OUTGOING_SSN 0x0002 |
Definition at line 478 of file sctp_uio.h.
#define SCTP_TRACE_PARAMS 6 /* This number MUST be even */ |
Definition at line 1237 of file sctp_uio.h.
#define SCTP_UNCONFIRMED 0x0200 /* SCTP_ADDR_UNCONFIRMED */ |
Definition at line 351 of file sctp_uio.h.
#define SCTP_UNORDERED 0x0400 /* Message is un-ordered */ |
Definition at line 246 of file sctp_uio.h.
#define sinfo_pr_value sinfo_timetolive |
Definition at line 150 of file sctp_uio.h.
#define SPP_DSCP 0x00000200 |
Definition at line 578 of file sctp_uio.h.
#define SPP_HB_DEMAND 0x00000004 |
Definition at line 573 of file sctp_uio.h.
#define SPP_HB_DISABLE 0x00000002 |
Definition at line 572 of file sctp_uio.h.
#define SPP_HB_ENABLE 0x00000001 |
Definition at line 571 of file sctp_uio.h.
#define SPP_HB_TIME_IS_ZERO 0x00000080 |
Definition at line 576 of file sctp_uio.h.
#define spp_ipv4_tos spp_dscp |
Definition at line 569 of file sctp_uio.h.
#define SPP_IPV4_TOS SPP_DSCP |
Definition at line 579 of file sctp_uio.h.
#define SPP_IPV6_FLOWLABEL 0x00000100 |
Definition at line 577 of file sctp_uio.h.
#define SPP_PMTUD_DISABLE 0x00000010 |
Definition at line 575 of file sctp_uio.h.
#define SPP_PMTUD_ENABLE 0x00000008 |
Definition at line 574 of file sctp_uio.h.
#define sreinfo_next_aid serinfo_next_aid |
Definition at line 153 of file sctp_uio.h.
#define sreinfo_next_flags serinfo_next_flags |
Definition at line 151 of file sctp_uio.h.
#define sreinfo_next_length serinfo_next_length |
Definition at line 154 of file sctp_uio.h.
#define sreinfo_next_ppid serinfo_next_ppid |
Definition at line 155 of file sctp_uio.h.
#define sreinfo_next_stream serinfo_next_stream |
Definition at line 152 of file sctp_uio.h.
typedef uint32_t sctp_assoc_t |
Definition at line 48 of file sctp_uio.h.
__FBSDID | ( | "$FreeBSD$" | ) |
int sctp_lower_sosend | ( | struct socket * | so, |
struct sockaddr * | addr, | ||
struct uio * | uio, | ||
struct mbuf * | i_pak, | ||
struct mbuf * | control, | ||
int | flags, | ||
struct sctp_sndrcvinfo * | srcv, | ||
struct thread * | p | ||
) |
Pre-screen address, if one is given the sin-len must be set correctly!
Definition at line 12489 of file sctp_output.c.
References sctp_association::alternate, sctp_tcb::asoc, sctp_tcb::block_entry, sctp_association::chunks_on_out_queue, sctp_association::control_send_queue, sctp_nets::cwnd, sctp_stream_queue_pending::data, sctp_inpcb::def_send, sctp_association::def_send, sctp_inpcb::def_vrf_id, sctp_block_entry::error, sctp_nets::flight_size, sctp_association::idata_supported, sctp_association::ifp_had_enobuf, sctp_inpcb::inp, INVALID_SINFO_FLAG, sctp_stream_out::last_msg_incomplete, sctp_stream_queue_pending::length, sctp_stream_queue_pending::msg_is_complete, sctp_nets::mtu, next, sctp_stream_out::outqueue, sctp_paramhdr::param_length, sctp_paramhdr::param_type, sctp_association::peers_rwnd, sctp_pcb::port, PR_SCTP_INVALID_POLICY, sctp_pcb::pre_open_stream_count, sctp_association::primary_destination, sctp_stream_queue_pending::processing, sctp_association::prsctp_supported, sctp_association::refcnt, sctp_tcb::rport, sctp_sockstore::sa, sctp_association::sb_send_resv, SCTP_ABORT, sctp_abort_an_association(), SCTP_ADD_SUBSTATE, SCTP_ADDR_OVER, SCTP_ALL_ASSOC, sctp_aloc_assoc_connected(), SCTP_ASOC_CREATE_LOCK, SCTP_ASOC_CREATE_UNLOCK, sctp_inpcb::sctp_asoc_list, SCTP_BASE_SYSCTL, SCTP_BLK_LOGGING_ENABLE, SCTP_BLOCK_LOG_INTO_BLK, SCTP_BLOCK_LOG_INTO_BLKA, SCTP_BLOCK_LOG_OUTOF_BLK, SCTP_BUF_LEN, SCTP_BUF_NEXT, SCTP_CAUSE_USER_INITIATED_ABT, sctp_chunk_output(), sctp_association::sctp_cmt_on_off, sctp_copy_it_in(), sctp_copy_resume(), SCTP_CWNDLOG_PRESEND, SCTP_DATA_CHUNK_OVERHEAD, SCTP_DEBUG_OUTPUT1, SCTP_DEFAULT_ADD_MORE, SCTP_DIAG_INFO_LEN, SCTP_EOF, SCTP_EOR, sctp_inpcb::sctp_ep, sctp_tcb::sctp_ep, sctp_feature_off, sctp_findassociation_ep_addr(), sctp_findassociation_ep_asocid(), sctp_findnet(), sctp_inpcb::sctp_flags, sctp_free_assoc(), SCTP_FROM_SCTP_OUTPUT, sctp_generate_cause(), sctp_get_frag_point(), sctp_get_mbuf_for_msg(), SCTP_GET_STATE, SCTP_GETTIME_TIMEVAL, SCTP_HEADER_LEN, SCTP_HEADER_TO_CHAIN, SCTP_INITIALIZE_AUTH_PARAMS, SCTP_INP_DECR_REF, SCTP_INP_INCR_REF, SCTP_INP_RLOCK, SCTP_INP_RUNLOCK, SCTP_INP_WLOCK, SCTP_INP_WUNLOCK, sctp_is_feature_off, sctp_is_feature_on, SCTP_IS_LISTENING, sctp_is_there_unsent_data(), SCTP_LOC_6, sctp_log_block(), sctp_log_nagle_event(), SCTP_LTRACE_ERR_RET, sctp_m_freem, SCTP_MAX_DATA_BUNDLING, sctp_med_chunk_output(), SCTP_MIN_OVERHEAD, sctp_misc_ints(), sctp_msg_append(), SCTP_NAGLE_APPLIED, SCTP_NAGLE_LOGGING_ENABLE, SCTP_NAGLE_SKIPPED, SCTP_NORMAL_PROC, SCTP_OUTPUT_FROM_USR_SEND, SCTP_PCB_FLAGS_BOUND_V6, SCTP_PCB_FLAGS_CONNECTED, SCTP_PCB_FLAGS_EXPLICIT_EOR, SCTP_PCB_FLAGS_IN_TCPPOOL, SCTP_PCB_FLAGS_NO_FRAGMENT, SCTP_PCB_FLAGS_NODELAY, SCTP_PCB_FLAGS_SOCKET_ALLGONE, SCTP_PCB_FLAGS_SOCKET_GONE, SCTP_PCB_FLAGS_TCPTYPE, SCTP_PRINTF, sctp_process_cmsgs_for_init(), sctp_prune_prsctp(), SCTP_RELEASE_PKT, SCTP_SACK_IMMEDIATELY, SCTP_SB_LIMIT_SND, sctp_send_initiate(), sctp_send_shutdown(), sctp_sendall(), SCTP_SENDALL, SCTP_SET_STATE, sctp_snd_sb_alloc, SCTP_SNPRINTF, SCTP_SO_IS_NBIO, SCTP_SO_LOCKED, sctp_tcb::sctp_socket, sctp_ss_functions::sctp_ss_add_to_stream, sctp_ss_functions::sctp_ss_is_user_msgs_incomplete, SCTP_STAT_DECR_GAUGE32, SCTP_STAT_INCR, SCTP_STATE_ABOUT_TO_BE_FREED, SCTP_STATE_COOKIE_ECHOED, SCTP_STATE_COOKIE_WAIT, SCTP_STATE_OPEN, SCTP_STATE_PARTIAL_MSG_LEFT, SCTP_STATE_SHUTDOWN_ACK_SENT, SCTP_STATE_SHUTDOWN_PENDING, SCTP_STATE_SHUTDOWN_RECEIVED, SCTP_STATE_SHUTDOWN_SENT, SCTP_STATE_WAS_ABORTED, sctp_stop_timers_for_shutdown(), SCTP_STREAM_OPEN, SCTP_STREAM_OPENING, SCTP_TCB_LOCK, SCTP_TCB_LOCK_ASSERT, SCTP_TCB_SEND_LOCK, SCTP_TCB_SEND_UNLOCK, SCTP_TCB_TRYLOCK, SCTP_TCB_UNLOCK, sctp_timer_start(), SCTP_TIMER_TYPE_SHUTDOWN, SCTP_TIMER_TYPE_SHUTDOWNGUARD, SCTP_UNORDERED, SCTPDBG, sctp_association::send_queue, sctp_stream_queue_pending::sender_all_done, sctp_association::sent_queue, sctp_association::sent_queue_cnt_removeable, sctp_sockstore::sin, sctp_sockstore::sin6, sockaddr_in::sin_len, sockaddr_in::sin_port, sctp_nonpad_sndrcvinfo::sinfo_assoc_id, sctp_sndrcvinfo::sinfo_assoc_id, sctp_stream_queue_pending::sinfo_flags, sctp_nonpad_sndrcvinfo::sinfo_flags, sctp_sndrcvinfo::sinfo_flags, sctp_sndrcvinfo::sinfo_stream, sctp_association::smallest_mtu, sctp_association::ss_functions, sctp_stream_out::state, sctp_association::state, sctp_association::stream_locked, sctp_association::stream_locked_on, sctp_association::stream_queue_cnt, sctp_association::streamoutcnt, sctp_association::strmout, sctp_stream_queue_pending::tail_mbuf, sctp_tcb::tcb_mtx, sctp_tcb::tcb_send_mtx, sctp_association::time_entered, sctp_association::total_flight, sctp_association::total_flight_count, sctp_association::total_output_queue_size, and sctp_tcb::total_sends.
Referenced by sctp_sosend(), sys_sctp_generic_sendmsg(), and sys_sctp_generic_sendmsg_iov().
int sctp_sorecvmsg | ( | struct socket * | so, |
struct uio * | uio, | ||
struct mbuf ** | mp, | ||
struct sockaddr * | from, | ||
int | fromlen, | ||
int * | msg_flags, | ||
struct sctp_sndrcvinfo * | sinfo, | ||
int | filling_sinfo | ||
) |
Definition at line 5477 of file sctputil.c.
References sctp_net_route::_l_addr, sctp_tcb::asoc, sctp_queued_to_read::aux_data, sctp_inpcb::control, sctp_association::cumulative_tsn, sctp_queued_to_read::data, sctp_stream_in::delivery_started, sctp_queued_to_read::do_not_ref_stcb, sctp_queued_to_read::end_added, sctp_pcbtsn_rlog::flgs, sctp_tcb::freed_by_sorcv_sincelast, sctp_queued_to_read::held_length, sctp_inpcb::inp, sctp_inpcb::inp_rdata_mtx, sctp_queued_to_read::length, M_NOTIFICATION, sctp_queued_to_read::mid, sctp_association::my_rwnd, next, sctp_queued_to_read::on_strm_q, sctp_queued_to_read::pdapi_aborted, sctp_queued_to_read::port_from, sctp_inpcb::read_queue, sctp_association::refcnt, sctp_nets::ro, sctp_sockstore::sa, sctp_association::sb_cc, SCTP_BASE_SYSCTL, SCTP_BUF_LEN, SCTP_BUF_NEXT, SCTP_BUF_RESV_UF, SCTP_DATA_UNORDERED, sctp_inpcb::sctp_flags, sctp_free_a_readq, sctp_free_remote_addr, SCTP_FROM_SCTPUTIL, SCTP_INP_READ_LOCK, SCTP_INP_READ_UNLOCK, sctp_is_feature_on, SCTP_LOG_SBFREE, SCTP_LOG_SBRESULT, SCTP_LTRACE_ERR_RET, sctp_m_free, sctp_m_freem, SCTP_MIN_RWND, sctp_misc_ints(), SCTP_NEXT_MSG_AVAIL, SCTP_NEXT_MSG_IS_NOTIFICATION, SCTP_NEXT_MSG_IS_UNORDERED, SCTP_NEXT_MSG_ISCOMPLETE, SCTP_NO_NEXT_MSG, SCTP_PCB_FLAGS_CONNECTED, SCTP_PCB_FLAGS_EXPLICIT_EOR, SCTP_PCB_FLAGS_EXT_RCVINFO, SCTP_PCB_FLAGS_FRAG_INTERLEAVE, SCTP_PCB_FLAGS_IN_TCPPOOL, SCTP_PCB_FLAGS_INTERLEAVE_STRMS, SCTP_PCB_FLAGS_NEEDS_MAPPED_V4, SCTP_PCB_FLAGS_RECVNXTINFO, SCTP_PCB_FLAGS_SOCKET_ALLGONE, SCTP_PCB_FLAGS_SOCKET_GONE, SCTP_PCB_FLAGS_TCPTYPE, SCTP_PCB_FLAGS_WAS_ABORTED, SCTP_PCB_FLAGS_WAS_CONNECTED, SCTP_PRINTF, SCTP_READ_LOG_SIZE, SCTP_RECV_RWND_LOGGING_ENABLE, SCTP_RWND_HIWAT_SHIFT, SCTP_SB_LIMIT_RCV, SCTP_SB_LOGGING_ENABLE, sctp_sbfree, sctp_sblog(), SCTP_SO_IS_NBIO, SCTP_SORECV_DONE, SCTP_SORECV_ENTER, SCTP_SORECV_ENTERPL, sctp_sorwakeup, SCTP_STAT_INCR, SCTP_STATE_ABOUT_TO_BE_FREED, SCTP_UNORDERED, sctp_user_rcvd(), sctp_pcbtsn_rlog::seq, sctp_extrcvinfo::serinfo_next_aid, sctp_extrcvinfo::serinfo_next_flags, sctp_extrcvinfo::serinfo_next_length, sctp_extrcvinfo::serinfo_next_ppid, sctp_extrcvinfo::serinfo_next_stream, sctp_sockstore::sin, sctp_sockstore::sin6, sockaddr_in::sin_port, sctp_queued_to_read::sinfo_assoc_id, sctp_sndrcvinfo::sinfo_assoc_id, sctp_queued_to_read::sinfo_context, sctp_sndrcvinfo::sinfo_context, sctp_queued_to_read::sinfo_cumtsn, sctp_sndrcvinfo::sinfo_cumtsn, sctp_queued_to_read::sinfo_flags, sctp_sndrcvinfo::sinfo_flags, sctp_queued_to_read::sinfo_ppid, sctp_sndrcvinfo::sinfo_ppid, sctp_sndrcvinfo::sinfo_ssn, sctp_queued_to_read::sinfo_stream, sctp_sndrcvinfo::sinfo_stream, sctp_queued_to_read::sinfo_timetolive, sctp_sndrcvinfo::sinfo_timetolive, sctp_queued_to_read::sinfo_tsn, sctp_sndrcvinfo::sinfo_tsn, sctp_queued_to_read::some_taken, sctp_queued_to_read::spec_flags, sctp_association::state, sctp_queued_to_read::stcb, sctp_pcbtsn_rlog::strm, sctp_association::strmin, sctp_pcbtsn_rlog::sz, sctp_queued_to_read::tail_mbuf, sctp_pcbtsn_rlog::vtag, and sctp_queued_to_read::whoFrom.
Referenced by sctp_soreceive(), and sys_sctp_generic_recvmsg().