MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sctp_lower_sosend

Function sctp_lower_sosend

freebsd/netinet/sctp_output.c:12456–13698  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12454}
12455
12456int
12457sctp_lower_sosend(struct socket *so,
12458 struct sockaddr *addr,
12459 struct uio *uio,
12460 struct mbuf *i_pak,
12461 struct mbuf *control,
12462 int flags,
12463 struct sctp_sndrcvinfo *srcv
12464 ,
12465 struct thread *p
12466)
12467{
12468 struct epoch_tracker et;
12469 ssize_t sndlen = 0, max_len, local_add_more;
12470 int error, len;
12471 struct mbuf *top = NULL;
12472 int queue_only = 0, queue_only_for_init = 0;
12473 int free_cnt_applied = 0;
12474 int un_sent;
12475 int now_filled = 0;
12476 unsigned int inqueue_bytes = 0;
12477 struct sctp_block_entry be;
12478 struct sctp_inpcb *inp;
12479 struct sctp_tcb *stcb = NULL;
12480 struct timeval now;
12481 struct sctp_nets *net;
12482 struct sctp_association *asoc;
12483 struct sctp_inpcb *t_inp;
12484 int user_marks_eor;
12485 int create_lock_applied = 0;
12486 int nagle_applies = 0;
12487 int some_on_control = 0;
12488 int got_all_of_the_send = 0;
12489 int hold_tcblock = 0;
12490 int non_blocking = 0;
12491 ssize_t local_soresv = 0;
12492 uint16_t port;
12493 uint16_t sinfo_flags;
12494 sctp_assoc_t sinfo_assoc_id;
12495
12496 error = 0;
12497 net = NULL;
12498 stcb = NULL;
12499 asoc = NULL;
12500
12501 t_inp = inp = (struct sctp_inpcb *)so->so_pcb;
12502 if (inp == NULL) {
12503 SCTP_LTRACE_ERR_RET(NULL, NULL, NULL, SCTP_FROM_SCTP_OUTPUT, EINVAL);
12504 error = EINVAL;
12505 if (i_pak) {
12506 SCTP_RELEASE_PKT(i_pak);
12507 }
12508 return (error);
12509 }
12510 if ((uio == NULL) && (i_pak == NULL)) {
12511 SCTP_LTRACE_ERR_RET(inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EINVAL);
12512 return (EINVAL);
12513 }

Callers 3

sctp_sosendFunction · 0.85
sys_sctp_generic_sendmsgFunction · 0.85

Calls 15

sctp_sendallFunction · 0.85
sctp_aloc_assocFunction · 0.85
soisconnectingFunction · 0.85
sctp_free_assocFunction · 0.85
sctp_findnetFunction · 0.85
sctp_m_freemFunction · 0.85
sctp_get_mbuf_for_msgFunction · 0.85

Tested by

no test coverage detected