Lines Matching refs:so

64 sod_rcv_init(struct sonode *so, int flags, struct uio **uiopp)  in sod_rcv_init()  argument
68 sodirect_t *sodp = so->so_direct; in sod_rcv_init()
76 mutex_enter(&so->so_lock); in sod_rcv_init()
80 !so->so_proto_props.sopp_loopback && so->so_filter_active == 0 && in sod_rcv_init()
81 !(so->so_state & SS_CANTRCVMORE)) { in sod_rcv_init()
106 mutex_exit(&so->so_lock); in sod_rcv_init()
116 sod_rcv_done(struct sonode *so, struct uio *suiop, struct uio *uiop) in sod_rcv_done() argument
119 sodirect_t *sodp = so->so_direct; in sod_rcv_done()
126 ASSERT(MUTEX_HELD(&so->so_lock)); in sod_rcv_done()
256 sod_uioa_so_init(struct sonode *so, struct sodirect_s *sodp, struct uio *uiop) in sod_uioa_so_init() argument
266 ASSERT(MUTEX_HELD(&so->so_lock)); in sod_uioa_so_init()
273 bp = so->so_rcv_q_head; in sod_uioa_so_init()
290 if (len > uioap->uio_resid || (so->so_oobmark > 0 && in sod_uioa_so_init()
291 len + uioap->uioa_mbytes >= so->so_oobmark)) { in sod_uioa_so_init()
319 bp = so->so_rcv_head; in sod_uioa_so_init()
343 so->so_rcv_q_last_head = wbp; in sod_uioa_so_init()
345 so->so_rcv_last_head = wbp; in sod_uioa_so_init()
357 sod_sock_init(struct sonode *so) in sod_sock_init() argument
361 ASSERT(so->so_direct == NULL); in sod_sock_init()
363 so->so_state |= SS_SODIRECT; in sod_sock_init()
375 so->so_direct = sodp; in sod_sock_init()
379 sod_sock_fini(struct sonode *so) in sod_sock_fini() argument
381 sodirect_t *sodp = so->so_direct; in sod_sock_fini()
385 so->so_direct = NULL; in sod_sock_fini()
403 sod_uioa_mblk(struct sonode *so, mblk_t *mp) in sod_uioa_mblk() argument
405 sodirect_t *sodp = so->so_direct; in sod_uioa_mblk()
408 ASSERT(MUTEX_HELD(&so->so_lock)); in sod_uioa_mblk()
415 if (mp == NULL && so->so_rcv_q_head != NULL) { in sod_uioa_mblk()
416 mp = so->so_rcv_q_head; in sod_uioa_mblk()
419 so->so_rcv_q_head = mp->b_next; in sod_uioa_mblk()
420 if (so->so_rcv_q_head == NULL) { in sod_uioa_mblk()
421 so->so_rcv_q_last_head = NULL; in sod_uioa_mblk()
428 if (so->so_rcv_q_head == NULL && so->so_rcv_head != NULL && in sod_uioa_mblk()
429 DB_TYPE(so->so_rcv_head) == M_DATA && in sod_uioa_mblk()
430 (DB_FLAGS(so->so_rcv_head) & DBLK_UIOA)) { in sod_uioa_mblk()
432 ASSERT(so->so_rcv_q_head == NULL); in sod_uioa_mblk()
433 mp = so->so_rcv_head; in sod_uioa_mblk()
434 so->so_rcv_head = mp->b_next; in sod_uioa_mblk()
435 if (so->so_rcv_head == NULL) in sod_uioa_mblk()
436 so->so_rcv_last_head = NULL; in sod_uioa_mblk()
442 if (so->so_rcv_q_head != NULL) { in sod_uioa_mblk()
443 mblk_t *m = so->so_rcv_q_head; in sod_uioa_mblk()
452 if (so->so_rcv_head != NULL) { in sod_uioa_mblk()
453 mblk_t *m = so->so_rcv_head; in sod_uioa_mblk()