games/hack/hack.end.c
469
outentry(int rank, struct toptenentry *t1, int so)
games/hack/hack.end.c
548
if(so == 0) puts(linebuf);
games/hack/hack.end.c
549
else if(so > 0) {
games/hack/hack.end.c
551
if(so >= COLNO) so = COLNO-1;
games/hack/hack.end.c
552
while(bp < linebuf + so) *bp++ = ' ';
games/hack/hack.pager.c
189
static boolean so;
games/hack/hack.pager.c
199
so = flags.standout;
games/hack/hack.pager.c
206
flags.standout = so;
games/tetris/screen.c
369
regcell so, cur_so = 0;
games/tetris/screen.c
430
if (*sp == (so = *bp))
games/tetris/screen.c
432
*sp = so;
games/tetris/screen.c
441
if (so != cur_so) {
games/tetris/screen.c
442
putpad(so ? SOstr : SEstr);
games/tetris/screen.c
443
cur_so = so;
games/tetris/screen.c
447
putstr(so ? "[]" : " ");
games/tetris/screen.c
458
if (i > STOP || sp[1] != bp[1] || so != bp[1])
games/tetris/screen.c
462
else if (i < STOP && so == bp[2] && sp[3] != bp[3]) {
lib/libc/stdio/putchar.c
43
FILE *so = stdout;
lib/libc/stdio/putchar.c
45
return (putc_unlocked(c,so));
lib/libc/stdio/putchar.c
57
FILE *so = stdout;
lib/libc/stdio/putchar.c
59
return (putc(c, so));
regress/sys/kern/cmsgsize/cmsgsize.c
102
test_cmsgsize(int so, struct in_addr *src, struct in_addr *dst,
regress/sys/kern/cmsgsize/cmsgsize.c
112
if (setsockopt(so, SOL_SOCKET, SO_SNDBUF, &sndbuf_size,
regress/sys/kern/cmsgsize/cmsgsize.c
142
return sendmsg(so, &msg, 0);
regress/sys/kern/cmsgsize/cmsgsize.c
42
int so, bytes;
regress/sys/kern/cmsgsize/cmsgsize.c
55
so = socket(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK, IPPROTO_UDP);
regress/sys/kern/cmsgsize/cmsgsize.c
56
if (so < 0)
regress/sys/kern/cmsgsize/cmsgsize.c
58
bytes = test_cmsgsize(so, &src, &dst, CFG_SO_MAX_SEND_BUFFER,
regress/sys/kern/cmsgsize/cmsgsize.c
64
close(so);
regress/sys/kern/cmsgsize/cmsgsize.c
67
so = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
regress/sys/kern/cmsgsize/cmsgsize.c
68
if (so < 0)
regress/sys/kern/cmsgsize/cmsgsize.c
70
bytes = test_cmsgsize(so, &src, &dst, CFG_SO_MAX_SEND_BUFFER,
regress/sys/kern/cmsgsize/cmsgsize.c
76
close(so);
regress/sys/kern/cmsgsize/cmsgsize.c
79
so = socket(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK, IPPROTO_UDP);
regress/sys/kern/cmsgsize/cmsgsize.c
80
if (so < 0)
regress/sys/kern/cmsgsize/cmsgsize.c
82
bytes = test_cmsgsize(so, &src, &dst, CFG_SO_MAX_SEND_BUFFER,
regress/sys/kern/cmsgsize/cmsgsize.c
86
close(so);
regress/sys/kern/cmsgsize/cmsgsize.c
89
so = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
regress/sys/kern/cmsgsize/cmsgsize.c
90
if (so < 0)
regress/sys/kern/cmsgsize/cmsgsize.c
92
bytes = test_cmsgsize(so, &src, &dst, CFG_SO_MAX_SEND_BUFFER,
regress/sys/kern/cmsgsize/cmsgsize.c
96
close(so);
sbin/mount_nfs/mount_nfs.c
390
int so = RPC_ANYSOCK, i, nfsvers, mntvers, orgcnt;
sbin/mount_nfs/mount_nfs.c
448
&so, 0, 0);
sbin/mount_nfs/mount_nfs.c
451
pertry, &so);
sbin/umount/umount.c
151
int so;
sbin/umount/umount.c
234
so = RPC_ANYSOCK;
sbin/umount/umount.c
236
RPCPROG_MNT, RPCMNT_VER1, pertry, &so)) == NULL) {
sys/dev/pci/drm/i915/gt/intel_gt.c
531
struct intel_renderstate so;
sys/dev/pci/drm/i915/gt/intel_gt.c
544
err = intel_renderstate_init(&so, ce);
sys/dev/pci/drm/i915/gt/intel_gt.c
558
err = intel_renderstate_emit(&so, rq);
sys/dev/pci/drm/i915/gt/intel_gt.c
566
intel_renderstate_fini(&so, ce);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
125
so->aux_size = i * sizeof(u32) - so->aux_offset;
sys/dev/pci/drm/i915/gt/intel_renderstate.c
126
so->aux_offset += so->batch_offset;
sys/dev/pci/drm/i915/gt/intel_renderstate.c
131
so->aux_size = ALIGN(so->aux_size, 8);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
135
__i915_gem_object_flush_map(so->vma->obj, 0, i * sizeof(u32));
sys/dev/pci/drm/i915/gt/intel_renderstate.c
136
__i915_gem_object_release_map(so->vma->obj);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
142
int intel_renderstate_init(struct intel_renderstate *so,
sys/dev/pci/drm/i915/gt/intel_renderstate.c
149
memset(so, 0, sizeof(*so));
sys/dev/pci/drm/i915/gt/intel_renderstate.c
151
so->rodata = render_state_get_rodata(engine);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
152
if (so->rodata) {
sys/dev/pci/drm/i915/gt/intel_renderstate.c
153
if (so->rodata->batch_items * 4 > PAGE_SIZE)
sys/dev/pci/drm/i915/gt/intel_renderstate.c
160
so->vma = i915_vma_instance(obj, &engine->gt->ggtt->vm, NULL);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
161
if (IS_ERR(so->vma)) {
sys/dev/pci/drm/i915/gt/intel_renderstate.c
162
err = PTR_ERR(so->vma);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
167
i915_gem_ww_ctx_init(&so->ww, true);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
169
err = intel_context_pin_ww(ce, &so->ww);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
174
if (!err && !so->rodata)
sys/dev/pci/drm/i915/gt/intel_renderstate.c
177
err = i915_gem_object_lock(so->vma->obj, &so->ww);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
181
err = i915_vma_pin_ww(so->vma, &so->ww, 0, 0, PIN_GLOBAL | PIN_HIGH);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
185
err = render_state_setup(so, engine->i915);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
192
i915_vma_unpin(so->vma);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
197
err = i915_gem_ww_ctx_backoff(&so->ww);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
201
i915_gem_ww_ctx_fini(&so->ww);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
205
so->vma = NULL;
sys/dev/pci/drm/i915/gt/intel_renderstate.c
209
int intel_renderstate_emit(struct intel_renderstate *so,
sys/dev/pci/drm/i915/gt/intel_renderstate.c
215
if (!so->vma)
sys/dev/pci/drm/i915/gt/intel_renderstate.c
218
err = i915_vma_move_to_active(so->vma, rq, 0);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
223
so->batch_offset, so->batch_size,
sys/dev/pci/drm/i915/gt/intel_renderstate.c
228
if (so->aux_size > 8) {
sys/dev/pci/drm/i915/gt/intel_renderstate.c
230
so->aux_offset, so->aux_size,
sys/dev/pci/drm/i915/gt/intel_renderstate.c
239
void intel_renderstate_fini(struct intel_renderstate *so,
sys/dev/pci/drm/i915/gt/intel_renderstate.c
242
if (so->vma) {
sys/dev/pci/drm/i915/gt/intel_renderstate.c
243
i915_vma_unpin(so->vma);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
244
i915_vma_close(so->vma);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
248
i915_gem_ww_ctx_fini(&so->ww);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
250
if (so->vma)
sys/dev/pci/drm/i915/gt/intel_renderstate.c
251
i915_gem_object_put(so->vma->obj);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
50
static int render_state_setup(struct intel_renderstate *so,
sys/dev/pci/drm/i915/gt/intel_renderstate.c
53
const struct intel_renderstate_rodata *rodata = so->rodata;
sys/dev/pci/drm/i915/gt/intel_renderstate.c
58
d = i915_gem_object_pin_map(so->vma->obj, I915_MAP_WB);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
66
u64 r = s + i915_vma_offset(so->vma);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
89
so->batch_offset = i915_ggtt_offset(so->vma);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
90
so->batch_size = rodata->batch_items * sizeof(u32);
sys/dev/pci/drm/i915/gt/intel_renderstate.c
95
so->aux_offset = i * sizeof(u32);
sys/dev/pci/drm/i915/gt/intel_renderstate.h
45
int intel_renderstate_init(struct intel_renderstate *so,
sys/dev/pci/drm/i915/gt/intel_renderstate.h
47
int intel_renderstate_emit(struct intel_renderstate *so,
sys/dev/pci/drm/i915/gt/intel_renderstate.h
49
void intel_renderstate_fini(struct intel_renderstate *so,
sys/dev/rasops/rasops15.c
211
int height, so, fs;
sys/dev/rasops/rasops15.c
254
so = STAMP_SHIFT(fr[0], 1) & STAMP_MASK;
sys/dev/rasops/rasops15.c
255
rp[0] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
256
rp[1] = STAMP_READ(so + 4);
sys/dev/rasops/rasops15.c
258
so = STAMP_SHIFT(fr[0], 0) & STAMP_MASK;
sys/dev/rasops/rasops15.c
259
rp[2] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
260
rp[3] = STAMP_READ(so + 4);
sys/dev/rasops/rasops15.c
287
int height, so, fs;
sys/dev/rasops/rasops15.c
330
so = STAMP_SHIFT(fr[0], 1) & STAMP_MASK;
sys/dev/rasops/rasops15.c
331
rp[0] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
332
rp[1] = STAMP_READ(so + 4);
sys/dev/rasops/rasops15.c
334
so = STAMP_SHIFT(fr[0], 0) & STAMP_MASK;
sys/dev/rasops/rasops15.c
335
rp[2] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
336
rp[3] = STAMP_READ(so + 4);
sys/dev/rasops/rasops15.c
338
so = STAMP_SHIFT(fr[1], 1) & STAMP_MASK;
sys/dev/rasops/rasops15.c
339
rp[4] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
340
rp[5] = STAMP_READ(so + 4);
sys/dev/rasops/rasops15.c
367
int height, so, fs;
sys/dev/rasops/rasops15.c
411
so = STAMP_SHIFT(fr[0], 1) & STAMP_MASK;
sys/dev/rasops/rasops15.c
412
rp[0] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
413
rp[1] = STAMP_READ(so + 4);
sys/dev/rasops/rasops15.c
415
so = STAMP_SHIFT(fr[0], 0) & STAMP_MASK;
sys/dev/rasops/rasops15.c
416
rp[2] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
417
rp[3] = STAMP_READ(so + 4);
sys/dev/rasops/rasops15.c
419
so = STAMP_SHIFT(fr[1], 1) & STAMP_MASK;
sys/dev/rasops/rasops15.c
420
rp[4] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
421
rp[5] = STAMP_READ(so + 4);
sys/dev/rasops/rasops15.c
423
so = STAMP_SHIFT(fr[1], 0) & STAMP_MASK;
sys/dev/rasops/rasops15.c
424
rp[6] = STAMP_READ(so);
sys/dev/rasops/rasops15.c
425
rp[7] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
232
int height, so, fs;
sys/dev/rasops/rasops24.c
275
so = STAMP_SHIFT(fr[0], 1) & STAMP_MASK;
sys/dev/rasops/rasops24.c
276
rp[0] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
277
rp[1] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
278
rp[2] = STAMP_READ(so + 8);
sys/dev/rasops/rasops24.c
280
so = STAMP_SHIFT(fr[0], 0) & STAMP_MASK;
sys/dev/rasops/rasops24.c
281
rp[3] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
282
rp[4] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
283
rp[5] = STAMP_READ(so + 8);
sys/dev/rasops/rasops24.c
310
int height, so, fs;
sys/dev/rasops/rasops24.c
354
so = STAMP_SHIFT(fr[0], 1) & STAMP_MASK;
sys/dev/rasops/rasops24.c
355
rp[0] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
356
rp[1] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
357
rp[2] = STAMP_READ(so + 8);
sys/dev/rasops/rasops24.c
359
so = STAMP_SHIFT(fr[0], 0) & STAMP_MASK;
sys/dev/rasops/rasops24.c
360
rp[3] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
361
rp[4] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
362
rp[5] = STAMP_READ(so + 8);
sys/dev/rasops/rasops24.c
364
so = STAMP_SHIFT(fr[1], 1) & STAMP_MASK;
sys/dev/rasops/rasops24.c
365
rp[6] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
366
rp[7] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
367
rp[8] = STAMP_READ(so + 8);
sys/dev/rasops/rasops24.c
395
int height, so, fs;
sys/dev/rasops/rasops24.c
440
so = STAMP_SHIFT(fr[0], 1) & STAMP_MASK;
sys/dev/rasops/rasops24.c
441
rp[0] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
442
rp[1] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
443
rp[2] = STAMP_READ(so + 8);
sys/dev/rasops/rasops24.c
445
so = STAMP_SHIFT(fr[0], 0) & STAMP_MASK;
sys/dev/rasops/rasops24.c
446
rp[3] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
447
rp[4] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
448
rp[5] = STAMP_READ(so + 8);
sys/dev/rasops/rasops24.c
450
so = STAMP_SHIFT(fr[1], 1) & STAMP_MASK;
sys/dev/rasops/rasops24.c
451
rp[6] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
452
rp[7] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
453
rp[8] = STAMP_READ(so + 8);
sys/dev/rasops/rasops24.c
455
so = STAMP_SHIFT(fr[1], 0) & STAMP_MASK;
sys/dev/rasops/rasops24.c
456
rp[9] = STAMP_READ(so);
sys/dev/rasops/rasops24.c
457
rp[10] = STAMP_READ(so + 4);
sys/dev/rasops/rasops24.c
458
rp[11] = STAMP_READ(so + 8);
sys/kern/kern_sysctl.c
1452
struct socket *so, int show_pointers)
sys/kern/kern_sysctl.c
1494
} else if (so != NULL) {
sys/kern/kern_sysctl.c
1532
if (so == NULL) {
sys/kern/kern_sysctl.c
1533
so = (struct socket *)fp->f_data;
sys/kern/kern_sysctl.c
1535
solock_shared(so);
sys/kern/kern_sysctl.c
1539
kf->so_type = so->so_type;
sys/kern/kern_sysctl.c
1540
kf->so_state = so->so_state | so->so_snd.sb_state |
sys/kern/kern_sysctl.c
1541
so->so_rcv.sb_state;
sys/kern/kern_sysctl.c
1543
kf->so_pcb = PTRTOINT64(so->so_pcb);
sys/kern/kern_sysctl.c
1546
kf->so_protocol = so->so_proto->pr_protocol;
sys/kern/kern_sysctl.c
1547
kf->so_family = so->so_proto->pr_domain->dom_family;
sys/kern/kern_sysctl.c
1548
kf->so_rcv_cc = so->so_rcv.sb_cc;
sys/kern/kern_sysctl.c
1549
kf->so_snd_cc = so->so_snd.sb_cc;
sys/kern/kern_sysctl.c
1550
if (isspliced(so)) {
sys/kern/kern_sysctl.c
1553
PTRTOINT64(so->so_sp->ssp_socket);
sys/kern/kern_sysctl.c
1554
kf->so_splicelen = so->so_sp->ssp_len;
sys/kern/kern_sysctl.c
1555
} else if (issplicedback(so))
sys/kern/kern_sysctl.c
1557
if (so->so_pcb == NULL) {
sys/kern/kern_sysctl.c
1559
sounlock_shared(so);
sys/kern/kern_sysctl.c
1564
struct inpcb *inpcb = so->so_pcb;
sys/kern/kern_sysctl.c
1566
soassertlocked(so);
sys/kern/kern_sysctl.c
1574
if (so->so_type == SOCK_RAW)
sys/kern/kern_sysctl.c
1576
if (so->so_proto->pr_protocol == IPPROTO_TCP) {
sys/kern/kern_sysctl.c
1587
struct inpcb *inpcb = so->so_pcb;
sys/kern/kern_sysctl.c
1589
soassertlocked(so);
sys/kern/kern_sysctl.c
1603
if (so->so_type == SOCK_RAW)
sys/kern/kern_sysctl.c
1605
if (so->so_proto->pr_protocol == IPPROTO_TCP) {
sys/kern/kern_sysctl.c
1616
struct unpcb *unpcb = so->so_pcb;
sys/kern/kern_sysctl.c
1638
sounlock_shared(so);
sys/kern/kern_sysctl.c
1729
struct socket *so; \
sys/kern/kern_sysctl.c
1736
so = in_pcbsolock(inp); \
sys/kern/kern_sysctl.c
1737
if (so == NULL) { \
sys/kern/kern_sysctl.c
1743
so, show_pointers); \
sys/kern/kern_sysctl.c
1744
in_pcbsounlock(inp, so); \
sys/kern/sys_generic.c
436
struct socket *so = fp->f_data;
sys/kern/sys_generic.c
438
if (so->so_state & SS_DNS) {
sys/kern/sys_socket.c
100
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/sys_socket.c
104
*(int *)data = so->so_rcv.sb_datacc;
sys/kern/sys_socket.c
110
return sigio_setown(&so->so_sigio, cmd, data);
sys/kern/sys_socket.c
115
sigio_getown(&so->so_sigio, cmd, data);
sys/kern/sys_socket.c
119
*(int *)data = (so->so_rcv.sb_state & SS_RCVATMARK) != 0;
sys/kern/sys_socket.c
129
return ifioctl(so, cmd, data, p);
sys/kern/sys_socket.c
132
return pru_control(so, cmd, data, NULL);
sys/kern/sys_socket.c
141
struct socket *so = fp->f_data;
sys/kern/sys_socket.c
145
solock_shared(so);
sys/kern/sys_socket.c
146
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/sys_socket.c
147
if ((so->so_rcv.sb_state & SS_CANTRCVMORE) == 0 ||
sys/kern/sys_socket.c
148
so->so_rcv.sb_cc != 0)
sys/kern/sys_socket.c
150
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/sys_socket.c
151
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/sys_socket.c
152
if ((so->so_snd.sb_state & SS_CANTSENDMORE) == 0)
sys/kern/sys_socket.c
154
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/sys_socket.c
155
ub->st_uid = so->so_euid;
sys/kern/sys_socket.c
156
ub->st_gid = so->so_egid;
sys/kern/sys_socket.c
157
(void)pru_sense(so, ub);
sys/kern/sys_socket.c
158
sounlock_shared(so);
sys/kern/sys_socket.c
61
struct socket *so = (struct socket *)fp->f_data;
sys/kern/sys_socket.c
67
return (soreceive(so, NULL, uio, NULL, NULL, &flags, 0));
sys/kern/sys_socket.c
73
struct socket *so = (struct socket *)fp->f_data;
sys/kern/sys_socket.c
79
return (sosend(so, NULL, uio, NULL, NULL, flags));
sys/kern/sys_socket.c
85
struct socket *so = (struct socket *)fp->f_data;
sys/kern/sys_socket.c
90
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/sys_socket.c
91
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/sys_socket.c
93
so->so_rcv.sb_flags |= SB_ASYNC;
sys/kern/sys_socket.c
94
so->so_snd.sb_flags |= SB_ASYNC;
sys/kern/sys_socket.c
96
so->so_rcv.sb_flags &= ~SB_ASYNC;
sys/kern/sys_socket.c
97
so->so_snd.sb_flags &= ~SB_ASYNC;
sys/kern/sys_socket.c
99
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
1000
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1002
so->so_rcv.sb_mb = m_free(m);
sys/kern/uipc_socket.c
1003
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1005
sbsync(&so->so_rcv, nextrecord);
sys/kern/uipc_socket.c
1019
sbfree(&so->so_rcv, m);
sys/kern/uipc_socket.c
1020
so->so_rcv.sb_mb = m->m_next;
sys/kern/uipc_socket.c
1023
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1024
sbsync(&so->so_rcv, nextrecord);
sys/kern/uipc_socket.c
1027
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1031
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1040
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1042
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1048
nextrecord = so->so_rcv.sb_mb->m_nextpkt;
sys/kern/uipc_socket.c
1050
nextrecord = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1066
SBLASTRECORDCHK(&so->so_rcv, "soreceive 2");
sys/kern/uipc_socket.c
1067
SBLASTMBUFCHK(&so->so_rcv, "soreceive 2");
sys/kern/uipc_socket.c
1087
so, so->so_type, m, m->m_type);
sys/kern/uipc_socket.c
1090
so->so_rcv.sb_state &= ~SS_RCVATMARK;
sys/kern/uipc_socket.c
1092
if (so->so_oobmark && len > so->so_oobmark - offset)
sys/kern/uipc_socket.c
1093
len = so->so_oobmark - offset;
sys/kern/uipc_socket.c
1105
SBLASTRECORDCHK(&so->so_rcv, "soreceive uiomove");
sys/kern/uipc_socket.c
1106
SBLASTMBUFCHK(&so->so_rcv, "soreceive uiomove");
sys/kern/uipc_socket.c
1108
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1110
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1124
sbfree(&so->so_rcv, m);
sys/kern/uipc_socket.c
1128
so->so_rcv.sb_mb = m = m->m_next;
sys/kern/uipc_socket.c
1131
so->so_rcv.sb_mb = m_free(m);
sys/kern/uipc_socket.c
1132
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1138
KASSERT(so->so_rcv.sb_mb == m);
sys/kern/uipc_socket.c
1142
so->so_rcv.sb_lastrecord = m;
sys/kern/uipc_socket.c
1144
so->so_rcv.sb_mb = nextrecord;
sys/kern/uipc_socket.c
1145
SB_EMPTY_FIXUP(&so->so_rcv);
sys/kern/uipc_socket.c
1147
SBLASTRECORDCHK(&so->so_rcv, "soreceive 3");
sys/kern/uipc_socket.c
1148
SBLASTMBUFCHK(&so->so_rcv, "soreceive 3");
sys/kern/uipc_socket.c
1156
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1158
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1162
so->so_rcv.sb_cc -= len;
sys/kern/uipc_socket.c
1163
so->so_rcv.sb_datacc -= len;
sys/kern/uipc_socket.c
1166
if (so->so_oobmark) {
sys/kern/uipc_socket.c
1168
so->so_oobmark -= len;
sys/kern/uipc_socket.c
1169
if (so->so_oobmark == 0) {
sys/kern/uipc_socket.c
1170
so->so_rcv.sb_state |= SS_RCVATMARK;
sys/kern/uipc_socket.c
1175
if (offset == so->so_oobmark)
sys/kern/uipc_socket.c
1189
!sosendallatonce(so) && !nextrecord) {
sys/kern/uipc_socket.c
1190
if (so->so_rcv.sb_state & SS_CANTRCVMORE ||
sys/kern/uipc_socket.c
1191
so->so_error)
sys/kern/uipc_socket.c
1193
SBLASTRECORDCHK(&so->so_rcv, "soreceive sbwait 2");
sys/kern/uipc_socket.c
1194
SBLASTMBUFCHK(&so->so_rcv, "soreceive sbwait 2");
sys/kern/uipc_socket.c
1195
if (sbwait(&so->so_rcv)) {
sys/kern/uipc_socket.c
1196
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1197
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1200
if ((m = so->so_rcv.sb_mb) != NULL)
sys/kern/uipc_socket.c
1208
sbdroprecord(&so->so_rcv);
sys/kern/uipc_socket.c
1217
so->so_rcv.sb_mb = nextrecord;
sys/kern/uipc_socket.c
1218
if (so->so_rcv.sb_mb == NULL) {
sys/kern/uipc_socket.c
1219
so->so_rcv.sb_mbtail = NULL;
sys/kern/uipc_socket.c
1220
so->so_rcv.sb_lastrecord = NULL;
sys/kern/uipc_socket.c
1222
so->so_rcv.sb_lastrecord = nextrecord;
sys/kern/uipc_socket.c
1224
SBLASTRECORDCHK(&so->so_rcv, "soreceive 4");
sys/kern/uipc_socket.c
1225
SBLASTMBUFCHK(&so->so_rcv, "soreceive 4");
sys/kern/uipc_socket.c
1227
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1228
solock_shared(so);
sys/kern/uipc_socket.c
1229
pru_rcvd(so);
sys/kern/uipc_socket.c
1230
sounlock_shared(so);
sys/kern/uipc_socket.c
1231
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1236
(so->so_rcv.sb_state & SS_CANTRCVMORE) == 0) {
sys/kern/uipc_socket.c
1237
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1238
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1248
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1249
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1254
soshutdown(struct socket *so, int how)
sys/kern/uipc_socket.c
1260
sorflush(so);
sys/kern/uipc_socket.c
1263
sorflush(so);
sys/kern/uipc_socket.c
1266
solock_shared(so);
sys/kern/uipc_socket.c
1267
error = pru_shutdown(so);
sys/kern/uipc_socket.c
1268
sounlock_shared(so);
sys/kern/uipc_socket.c
1279
sorflush(struct socket *so)
sys/kern/uipc_socket.c
1281
struct sockbuf *sb = &so->so_rcv;
sys/kern/uipc_socket.c
1283
const struct protosw *pr = so->so_proto;
sys/kern/uipc_socket.c
1290
solock_shared(so);
sys/kern/uipc_socket.c
1291
socantrcvmore(so);
sys/kern/uipc_socket.c
1292
sounlock_shared(so);
sys/kern/uipc_socket.c
1309
sosplice(struct socket *so, int fd, off_t max, struct timeval *tv)
sys/kern/uipc_socket.c
1315
if ((so->so_proto->pr_flags & PR_SPLICE) == 0)
sys/kern/uipc_socket.c
1324
if ((error = sblock(&so->so_rcv, SBL_WAIT)) != 0)
sys/kern/uipc_socket.c
1326
if (so->so_sp && so->so_sp->ssp_socket)
sys/kern/uipc_socket.c
1327
sounsplice(so, so->so_sp->ssp_socket, 0);
sys/kern/uipc_socket.c
1330
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1340
so->so_proto->pr_usrreqs->pru_send) {
sys/kern/uipc_socket.c
1345
if ((error = sblock(&so->so_rcv, SBL_WAIT)) != 0)
sys/kern/uipc_socket.c
1348
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1351
solock_pair(so, sosp);
sys/kern/uipc_socket.c
1353
if ((so->so_options & SO_ACCEPTCONN) ||
sys/kern/uipc_socket.c
1358
if ((so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING)) == 0 &&
sys/kern/uipc_socket.c
1359
(so->so_proto->pr_flags & PR_CONNREQUIRED)) {
sys/kern/uipc_socket.c
1367
if (so->so_sp == NULL) {
sys/kern/uipc_socket.c
1368
so->so_sp = pool_get(&sosplice_pool, PR_WAITOK | PR_ZERO);
sys/kern/uipc_socket.c
1369
timeout_set_flags(&so->so_spliceidleto, soidle, so,
sys/kern/uipc_socket.c
1371
task_set(&so->so_splicetask, sotask, so);
sys/kern/uipc_socket.c
1379
if (so->so_sp->ssp_socket || sosp->so_sp->ssp_soback) {
sys/kern/uipc_socket.c
1384
so->so_splicelen = 0;
sys/kern/uipc_socket.c
1385
so->so_splicemax = max;
sys/kern/uipc_socket.c
1387
so->so_spliceidletv = *tv;
sys/kern/uipc_socket.c
1389
timerclear(&so->so_spliceidletv);
sys/kern/uipc_socket.c
1397
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1399
so->so_sp->ssp_socket = soref(sosp);
sys/kern/uipc_socket.c
1400
sosp->so_sp->ssp_soback = soref(so);
sys/kern/uipc_socket.c
1401
so->so_splicequeue = net_tq(pru_flowid(so));
sys/kern/uipc_socket.c
1403
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1405
sounlock_pair(so, sosp);
sys/kern/uipc_socket.c
1408
if (somove(so, M_WAIT)) {
sys/kern/uipc_socket.c
1409
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1411
so->so_rcv.sb_flags |= SB_SPLICE;
sys/kern/uipc_socket.c
1414
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1417
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1422
sounlock_pair(so, sosp);
sys/kern/uipc_socket.c
1424
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1431
sounsplice(struct socket *so, struct socket *sosp, int freeing)
sys/kern/uipc_socket.c
1433
sbassertlocked(&so->so_rcv);
sys/kern/uipc_socket.c
1435
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1437
so->so_rcv.sb_flags &= ~SB_SPLICE;
sys/kern/uipc_socket.c
1439
timeout_del(&so->so_spliceidleto);
sys/kern/uipc_socket.c
1440
task_del(so->so_splicequeue, &so->so_splicetask);
sys/kern/uipc_socket.c
1441
KASSERT(so->so_sp->ssp_socket == sosp);
sys/kern/uipc_socket.c
1442
KASSERT(sosp->so_sp->ssp_soback == so);
sys/kern/uipc_socket.c
1443
so->so_sp->ssp_socket = sosp->so_sp->ssp_soback = NULL;
sys/kern/uipc_socket.c
1445
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1451
solock_shared(so);
sys/kern/uipc_socket.c
1452
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1453
readable = so->so_qlen || soreadable(so);
sys/kern/uipc_socket.c
1454
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1456
sorwakeup(so);
sys/kern/uipc_socket.c
1457
sounlock_shared(so);
sys/kern/uipc_socket.c
1467
sorele(so);
sys/kern/uipc_socket.c
147
struct socket *so;
sys/kern/uipc_socket.c
1473
struct socket *so = arg;
sys/kern/uipc_socket.c
1475
sblock(&so->so_rcv, SBL_WAIT | SBL_NOINTR);
sys/kern/uipc_socket.c
1476
if (so->so_rcv.sb_flags & SB_SPLICE) {
sys/kern/uipc_socket.c
1477
WRITE_ONCE(so->so_error, ETIMEDOUT);
sys/kern/uipc_socket.c
1478
sounsplice(so, so->so_sp->ssp_socket, 0);
sys/kern/uipc_socket.c
1480
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1486
struct socket *so = arg;
sys/kern/uipc_socket.c
1488
sblock(&so->so_rcv, SBL_WAIT | SBL_NOINTR);
sys/kern/uipc_socket.c
1489
if (so->so_rcv.sb_flags & SB_SPLICE)
sys/kern/uipc_socket.c
149
so = pool_get(&socket_pool, (wait == M_WAIT ? PR_WAITOK : PR_NOWAIT) |
sys/kern/uipc_socket.c
1490
somove(so, M_DONTWAIT);
sys/kern/uipc_socket.c
1491
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
1501
somove(struct socket *so, int wait)
sys/kern/uipc_socket.c
1503
struct socket *sosp = so->so_sp->ssp_socket;
sys/kern/uipc_socket.c
151
if (so == NULL)
sys/kern/uipc_socket.c
1510
sbassertlocked(&so->so_rcv);
sys/kern/uipc_socket.c
1512
if (so->so_proto->pr_flags & PR_WANTRCVD)
sys/kern/uipc_socket.c
1513
sblock(&so->so_snd, SBL_WAIT | SBL_NOINTR);
sys/kern/uipc_socket.c
1515
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1519
if ((error = READ_ONCE(so->so_error)))
sys/kern/uipc_socket.c
1536
len = so->so_rcv.sb_datacc;
sys/kern/uipc_socket.c
1537
if (so->so_splicemax) {
sys/kern/uipc_socket.c
1538
KASSERT(so->so_splicelen < so->so_splicemax);
sys/kern/uipc_socket.c
1539
if (so->so_splicemax <= so->so_splicelen + len) {
sys/kern/uipc_socket.c
1540
len = so->so_splicemax - so->so_splicelen;
sys/kern/uipc_socket.c
1545
if (so->so_oobmark && so->so_oobmark < len &&
sys/kern/uipc_socket.c
1546
so->so_oobmark < space + 1024)
sys/kern/uipc_socket.c
1560
SBLASTRECORDCHK(&so->so_rcv, "somove 1");
sys/kern/uipc_socket.c
1561
SBLASTMBUFCHK(&so->so_rcv, "somove 1");
sys/kern/uipc_socket.c
1562
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1568
if (so->so_proto->pr_flags & PR_ADDR) {
sys/kern/uipc_socket.c
1572
"m_type %d", so, so->so_type, m, m->m_type);
sys/kern/uipc_socket.c
1579
sbdroprecord(&so->so_rcv);
sys/kern/uipc_socket.c
1580
if (so->so_proto->pr_flags & PR_WANTRCVD) {
sys/kern/uipc_socket.c
1582
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1583
solock_shared(so);
sys/kern/uipc_socket.c
1584
pru_rcvd(so);
sys/kern/uipc_socket.c
1585
sounlock_shared(so);
sys/kern/uipc_socket.c
1586
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1603
if (so->so_proto->pr_flags & PR_ATOMIC) {
sys/kern/uipc_socket.c
1606
"m_type %d", so, so->so_type, m, m->m_type);
sys/kern/uipc_socket.c
1621
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1622
sbfree(&so->so_rcv, m);
sys/kern/uipc_socket.c
1623
so->so_rcv.sb_mb = m_free(m);
sys/kern/uipc_socket.c
1624
sbsync(&so->so_rcv, nextrecord);
sys/kern/uipc_socket.c
1630
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1632
sbfree(&so->so_rcv, m);
sys/kern/uipc_socket.c
1633
so->so_rcv.sb_mb = m_free(m);
sys/kern/uipc_socket.c
1634
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1635
sbsync(&so->so_rcv, nextrecord);
sys/kern/uipc_socket.c
1638
SBLASTRECORDCHK(&so->so_rcv, "somove 2");
sys/kern/uipc_socket.c
1639
SBLASTMBUFCHK(&so->so_rcv, "somove 2");
sys/kern/uipc_socket.c
1649
"m_type %d", so, so->so_type, *mp, (*mp)->m_type);
sys/kern/uipc_socket.c
1662
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1664
*mp = m_copym(so->so_rcv.sb_mb, 0, size, wait);
sys/kern/uipc_socket.c
1666
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
167
refcnt_init_trace(&so->so_refcnt, DT_REFCNT_IDX_SOCKET);
sys/kern/uipc_socket.c
1673
so->so_rcv.sb_mb->m_data += size;
sys/kern/uipc_socket.c
1674
so->so_rcv.sb_mb->m_len -= size;
sys/kern/uipc_socket.c
1675
so->so_rcv.sb_cc -= size;
sys/kern/uipc_socket.c
1676
so->so_rcv.sb_datacc -= size;
sys/kern/uipc_socket.c
1678
*mp = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
1679
sbfree(&so->so_rcv, *mp);
sys/kern/uipc_socket.c
168
rw_init_flags_trace(&so->so_lock, dom_name, RWL_DUPOK,
sys/kern/uipc_socket.c
1680
so->so_rcv.sb_mb = (*mp)->m_next;
sys/kern/uipc_socket.c
1681
sbsync(&so->so_rcv, nextrecord);
sys/kern/uipc_socket.c
1686
SBLASTRECORDCHK(&so->so_rcv, "somove 3");
sys/kern/uipc_socket.c
1687
SBLASTMBUFCHK(&so->so_rcv, "somove 3");
sys/kern/uipc_socket.c
1688
SBCHECK(so, &so->so_rcv);
sys/kern/uipc_socket.c
1698
rcvstate = so->so_rcv.sb_state;
sys/kern/uipc_socket.c
1699
so->so_rcv.sb_state &= ~SS_RCVATMARK;
sys/kern/uipc_socket.c
170
rw_init(&so->so_rcv.sb_lock, "sbufrcv");
sys/kern/uipc_socket.c
1700
oobmark = so->so_oobmark;
sys/kern/uipc_socket.c
1701
so->so_oobmark = oobmark > len ? oobmark - len : 0;
sys/kern/uipc_socket.c
1704
so->so_rcv.sb_state |= SS_RCVATMARK;
sys/kern/uipc_socket.c
171
rw_init(&so->so_snd.sb_lock, "sbufsnd");
sys/kern/uipc_socket.c
1710
if (so->so_proto->pr_flags & PR_WANTRCVD) {
sys/kern/uipc_socket.c
1712
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1713
solock_shared(so);
sys/kern/uipc_socket.c
1714
pru_rcvd(so);
sys/kern/uipc_socket.c
1715
sounlock_shared(so);
sys/kern/uipc_socket.c
1716
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
172
mtx_init_flags(&so->so_rcv.sb_mtx, IPL_MPFLOOR, "sbrcv", 0);
sys/kern/uipc_socket.c
1725
(so->so_options & SO_OOBINLINE)) {
sys/kern/uipc_socket.c
1729
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
173
mtx_init_flags(&so->so_snd.sb_mtx, IPL_MPFLOOR, "sbsnd", 0);
sys/kern/uipc_socket.c
174
klist_init_mutex(&so->so_rcv.sb_klist, &so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1744
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
175
klist_init_mutex(&so->so_snd.sb_klist, &so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
1753
so->so_splicelen += oobmark;
sys/kern/uipc_socket.c
176
sigio_init(&so->so_sigio);
sys/kern/uipc_socket.c
1768
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
177
TAILQ_INIT(&so->so_q0);
sys/kern/uipc_socket.c
1776
so->so_splicelen += 1;
sys/kern/uipc_socket.c
178
TAILQ_INIT(&so->so_q);
sys/kern/uipc_socket.c
1785
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1790
if (so->so_rcv.sb_cc == 0 || maxreached)
sys/kern/uipc_socket.c
1794
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
180
return (so);
sys/kern/uipc_socket.c
1800
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1809
so->so_splicelen += len;
sys/kern/uipc_socket.c
1818
if (!error && maxreached && so->so_splicemax == so->so_splicelen)
sys/kern/uipc_socket.c
1821
WRITE_ONCE(so->so_error, error);
sys/kern/uipc_socket.c
1823
if (((so->so_rcv.sb_state & SS_CANTRCVMORE) &&
sys/kern/uipc_socket.c
1824
so->so_rcv.sb_cc == 0) ||
sys/kern/uipc_socket.c
1830
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1832
if (so->so_proto->pr_flags & PR_WANTRCVD)
sys/kern/uipc_socket.c
1833
sbunlock(&so->so_snd);
sys/kern/uipc_socket.c
1836
sounsplice(so, sosp, 0);
sys/kern/uipc_socket.c
1839
if (timerisset(&so->so_spliceidletv)) {
sys/kern/uipc_socket.c
1840
timeout_add_nsec(&so->so_spliceidleto,
sys/kern/uipc_socket.c
1841
TIMEVAL_TO_NSEC(&so->so_spliceidletv));
sys/kern/uipc_socket.c
1848
sorwakeup(struct socket *so)
sys/kern/uipc_socket.c
1851
if (so->so_proto->pr_flags & PR_SPLICE) {
sys/kern/uipc_socket.c
1852
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1853
if (so->so_rcv.sb_flags & SB_SPLICE)
sys/kern/uipc_socket.c
1854
task_add(so->so_splicequeue, &so->so_splicetask);
sys/kern/uipc_socket.c
1855
if (isspliced(so)) {
sys/kern/uipc_socket.c
1856
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1859
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
1862
sowakeup(so, &so->so_rcv);
sys/kern/uipc_socket.c
1863
if (so->so_upcall)
sys/kern/uipc_socket.c
1864
(*(so->so_upcall))(so, so->so_upcallarg, M_DONTWAIT);
sys/kern/uipc_socket.c
1868
sowwakeup(struct socket *so)
sys/kern/uipc_socket.c
1871
if (so->so_proto->pr_flags & PR_SPLICE) {
sys/kern/uipc_socket.c
1872
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
1873
if (so->so_snd.sb_flags & SB_SPLICE)
sys/kern/uipc_socket.c
1874
task_add(so->so_sp->ssp_soback->so_splicequeue,
sys/kern/uipc_socket.c
1875
&so->so_sp->ssp_soback->so_splicetask);
sys/kern/uipc_socket.c
1876
if (issplicedback(so)) {
sys/kern/uipc_socket.c
1877
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
1880
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
1883
sowakeup(so, &so->so_snd);
sys/kern/uipc_socket.c
1887
sosetopt(struct socket *so, int level, int optname, struct mbuf *m)
sys/kern/uipc_socket.c
1892
if (so->so_proto->pr_ctloutput) {
sys/kern/uipc_socket.c
1893
solock(so);
sys/kern/uipc_socket.c
1894
error = (*so->so_proto->pr_ctloutput)(PRCO_SETOPT, so,
sys/kern/uipc_socket.c
1896
sounlock(so);
sys/kern/uipc_socket.c
1909
solock(so);
sys/kern/uipc_socket.c
1910
so->so_linger = mtod(m, struct linger *)->l_linger;
sys/kern/uipc_socket.c
1912
so->so_options |= optname;
sys/kern/uipc_socket.c
1914
so->so_options &= ~optname;
sys/kern/uipc_socket.c
1915
sounlock(so);
sys/kern/uipc_socket.c
1935
solock(so);
sys/kern/uipc_socket.c
1937
so->so_options |= optname;
sys/kern/uipc_socket.c
1939
so->so_options &= ~optname;
sys/kern/uipc_socket.c
1940
sounlock(so);
sys/kern/uipc_socket.c
195
struct socket *so;
sys/kern/uipc_socket.c
1957
&so->so_snd : &so->so_rcv);
sys/kern/uipc_socket.c
1997
&so->so_snd : &so->so_rcv);
sys/kern/uipc_socket.c
2019
if (so->so_proto->pr_domain &&
sys/kern/uipc_socket.c
2020
so->so_proto->pr_domain->dom_protosw &&
sys/kern/uipc_socket.c
2021
so->so_proto->pr_ctloutput) {
sys/kern/uipc_socket.c
2023
so->so_proto->pr_domain;
sys/kern/uipc_socket.c
2026
solock(so);
sys/kern/uipc_socket.c
2027
error = (*so->so_proto->pr_ctloutput)
sys/kern/uipc_socket.c
2028
(PRCO_SETOPT, so, level, optname, m);
sys/kern/uipc_socket.c
2029
sounlock(so);
sys/kern/uipc_socket.c
2036
error = sosplice(so, -1, 0, NULL);
sys/kern/uipc_socket.c
2040
error = sosplice(so, *mtod(m, int *), 0, NULL);
sys/kern/uipc_socket.c
2042
error = sosplice(so,
sys/kern/uipc_socket.c
206
so = soalloc(prp, M_WAIT);
sys/kern/uipc_socket.c
2060
sogetopt(struct socket *so, int level, int optname, struct mbuf *m)
sys/kern/uipc_socket.c
2065
if (so->so_proto->pr_ctloutput) {
sys/kern/uipc_socket.c
2068
solock(so);
sys/kern/uipc_socket.c
2069
error = (*so->so_proto->pr_ctloutput)(PRCO_GETOPT, so,
sys/kern/uipc_socket.c
207
so->so_type = type;
sys/kern/uipc_socket.c
2071
sounlock(so);
sys/kern/uipc_socket.c
2082
solock_shared(so);
sys/kern/uipc_socket.c
2084
so->so_options & SO_LINGER;
sys/kern/uipc_socket.c
2085
mtod(m, struct linger *)->l_linger = so->so_linger;
sys/kern/uipc_socket.c
2086
sounlock_shared(so);
sys/kern/uipc_socket.c
209
so->so_state = SS_PRIV;
sys/kern/uipc_socket.c
210
so->so_ruid = p->p_ucred->cr_ruid;
sys/kern/uipc_socket.c
2100
*mtod(m, int *) = so->so_options & optname;
sys/kern/uipc_socket.c
2108
*mtod(m, int *) = so->so_type;
sys/kern/uipc_socket.c
211
so->so_euid = p->p_ucred->cr_uid;
sys/kern/uipc_socket.c
2112
solock(so);
sys/kern/uipc_socket.c
2113
*mtod(m, int *) = so->so_error;
sys/kern/uipc_socket.c
2114
so->so_error = 0;
sys/kern/uipc_socket.c
2115
sounlock(so);
sys/kern/uipc_socket.c
212
so->so_rgid = p->p_ucred->cr_rgid;
sys/kern/uipc_socket.c
2120
*mtod(m, int *) = so->so_proto->pr_domain->dom_family;
sys/kern/uipc_socket.c
2124
*mtod(m, int *) = so->so_proto->pr_protocol;
sys/kern/uipc_socket.c
2128
*mtod(m, int *) = so->so_snd.sb_hiwat;
sys/kern/uipc_socket.c
213
so->so_egid = p->p_ucred->cr_gid;
sys/kern/uipc_socket.c
2132
*mtod(m, int *) = so->so_rcv.sb_hiwat;
sys/kern/uipc_socket.c
2136
*mtod(m, int *) = so->so_snd.sb_lowat;
sys/kern/uipc_socket.c
214
so->so_cpid = p->p_p->ps_pid;
sys/kern/uipc_socket.c
2140
*mtod(m, int *) = so->so_rcv.sb_lowat;
sys/kern/uipc_socket.c
2147
&so->so_snd : &so->so_rcv);
sys/kern/uipc_socket.c
215
so->so_proto = prp;
sys/kern/uipc_socket.c
216
so->so_snd.sb_timeo_nsecs = INFSLP;
sys/kern/uipc_socket.c
2164
if (so->so_proto->pr_domain &&
sys/kern/uipc_socket.c
2165
so->so_proto->pr_domain->dom_protosw &&
sys/kern/uipc_socket.c
2166
so->so_proto->pr_ctloutput) {
sys/kern/uipc_socket.c
2168
so->so_proto->pr_domain;
sys/kern/uipc_socket.c
217
so->so_rcv.sb_timeo_nsecs = INFSLP;
sys/kern/uipc_socket.c
2171
solock(so);
sys/kern/uipc_socket.c
2172
error = (*so->so_proto->pr_ctloutput)
sys/kern/uipc_socket.c
2173
(PRCO_GETOPT, so, level, optname, m);
sys/kern/uipc_socket.c
2174
sounlock(so);
sys/kern/uipc_socket.c
2187
solock_shared(so);
sys/kern/uipc_socket.c
2188
len = so->so_sp ? so->so_splicelen : 0;
sys/kern/uipc_socket.c
2189
sounlock_shared(so);
sys/kern/uipc_socket.c
219
solock_shared(so);
sys/kern/uipc_socket.c
2196
if (so->so_proto->pr_protocol == AF_UNIX) {
sys/kern/uipc_socket.c
2197
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_socket.c
2199
solock(so);
sys/kern/uipc_socket.c
220
error = pru_attach(so, proto, M_WAIT);
sys/kern/uipc_socket.c
2204
sounlock(so);
sys/kern/uipc_socket.c
2207
sounlock(so);
sys/kern/uipc_socket.c
222
so->so_state |= SS_NOFDREF;
sys/kern/uipc_socket.c
2221
sohasoutofband(struct socket *so)
sys/kern/uipc_socket.c
2223
pgsigio(&so->so_sigio, SIGURG, 0);
sys/kern/uipc_socket.c
2224
knote(&so->so_rcv.sb_klist, 0);
sys/kern/uipc_socket.c
2230
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2236
sb = &so->so_rcv;
sys/kern/uipc_socket.c
224
sofree(so, 0);
sys/kern/uipc_socket.c
2240
sb = &so->so_snd;
sys/kern/uipc_socket.c
2244
sb = &so->so_rcv;
sys/kern/uipc_socket.c
2258
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2260
klist_remove(&so->so_rcv.sb_klist, kn);
sys/kern/uipc_socket.c
2266
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2267
u_int state = READ_ONCE(so->so_state);
sys/kern/uipc_socket.c
2268
u_int error = READ_ONCE(so->so_error);
sys/kern/uipc_socket.c
227
sounlock_shared(so);
sys/kern/uipc_socket.c
2271
MUTEX_ASSERT_LOCKED(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2273
if (so->so_options & SO_ACCEPTCONN) {
sys/kern/uipc_socket.c
2274
short qlen = READ_ONCE(so->so_qlen);
sys/kern/uipc_socket.c
2276
soassertlocked_readonly(so);
sys/kern/uipc_socket.c
228
*aso = so;
sys/kern/uipc_socket.c
2286
rv = qlen || soreadable(so);
sys/kern/uipc_socket.c
2293
kn->kn_data = so->so_rcv.sb_cc;
sys/kern/uipc_socket.c
2295
if (isspliced(so)) {
sys/kern/uipc_socket.c
2299
if (so->so_rcv.sb_state & SS_CANTRCVMORE) {
sys/kern/uipc_socket.c
2312
rv = (kn->kn_data >= so->so_rcv.sb_lowat);
sys/kern/uipc_socket.c
2321
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2323
klist_remove(&so->so_snd.sb_klist, kn);
sys/kern/uipc_socket.c
2329
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
233
sobind(struct socket *so, struct mbuf *nam, struct proc *p)
sys/kern/uipc_socket.c
2330
u_int state = READ_ONCE(so->so_state);
sys/kern/uipc_socket.c
2331
u_int error = READ_ONCE(so->so_error);
sys/kern/uipc_socket.c
2334
MUTEX_ASSERT_LOCKED(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
2336
kn->kn_data = sbspace_locked(&so->so_snd);
sys/kern/uipc_socket.c
2337
if (so->so_snd.sb_state & SS_CANTSENDMORE) {
sys/kern/uipc_socket.c
2348
(so->so_proto->pr_flags & PR_CONNREQUIRED)) {
sys/kern/uipc_socket.c
235
soassertlocked(so);
sys/kern/uipc_socket.c
2353
rv = (kn->kn_data >= so->so_snd.sb_lowat);
sys/kern/uipc_socket.c
236
return pru_bind(so, nam, p);
sys/kern/uipc_socket.c
2362
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2365
MUTEX_ASSERT_LOCKED(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2368
if (isspliced(so)) {
sys/kern/uipc_socket.c
2373
if (so->so_oobmark || (so->so_rcv.sb_state & SS_RCVATMARK)) {
sys/kern/uipc_socket.c
2375
kn->kn_data -= so->so_oobmark;
sys/kern/uipc_socket.c
2381
u_int state = READ_ONCE(so->so_state);
sys/kern/uipc_socket.c
2395
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2398
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
240
solisten(struct socket *so, int backlog)
sys/kern/uipc_socket.c
2400
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
2408
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2411
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
2413
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
2421
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2424
if (so->so_proto->pr_flags & PR_WANTRCVD)
sys/kern/uipc_socket.c
2425
solock_shared(so);
sys/kern/uipc_socket.c
2426
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2428
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2429
if (so->so_proto->pr_flags & PR_WANTRCVD)
sys/kern/uipc_socket.c
2430
sounlock_shared(so);
sys/kern/uipc_socket.c
2438
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2441
if (so->so_proto->pr_flags & PR_WANTRCVD)
sys/kern/uipc_socket.c
2442
solock_shared(so);
sys/kern/uipc_socket.c
2443
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2445
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2446
if (so->so_proto->pr_flags & PR_WANTRCVD)
sys/kern/uipc_socket.c
2447
sounlock_shared(so);
sys/kern/uipc_socket.c
2455
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2458
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
246
switch (so->so_type) {
sys/kern/uipc_socket.c
2460
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2468
struct socket *so = kn->kn_fp->f_data;
sys/kern/uipc_socket.c
2471
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2473
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
2506
struct socket *so = v;
sys/kern/uipc_socket.c
2508
(*pr)("socket %p\n", so);
sys/kern/uipc_socket.c
2509
(*pr)("so_type: %i\n", so->so_type);
sys/kern/uipc_socket.c
2510
(*pr)("so_options: 0x%04x\n", so->so_options); /* %b */
sys/kern/uipc_socket.c
2511
(*pr)("so_linger: %i\n", so->so_linger);
sys/kern/uipc_socket.c
2512
(*pr)("so_state: 0x%04x\n", so->so_state);
sys/kern/uipc_socket.c
2513
(*pr)("so_pcb: %p\n", so->so_pcb);
sys/kern/uipc_socket.c
2514
(*pr)("so_proto: %p\n", so->so_proto);
sys/kern/uipc_socket.c
2515
(*pr)("so_sigio: %p\n", so->so_sigio.sir_sigio);
sys/kern/uipc_socket.c
2517
(*pr)("so_head: %p\n", so->so_head);
sys/kern/uipc_socket.c
2518
(*pr)("so_onq: %p\n", so->so_onq);
sys/kern/uipc_socket.c
2519
(*pr)("so_q0: @%p first: %p\n", &so->so_q0, TAILQ_FIRST(&so->so_q0));
sys/kern/uipc_socket.c
2520
(*pr)("so_q: @%p first: %p\n", &so->so_q, TAILQ_FIRST(&so->so_q));
sys/kern/uipc_socket.c
2521
(*pr)("so_eq: next: %p\n", TAILQ_NEXT(so, so_qe));
sys/kern/uipc_socket.c
2522
(*pr)("so_q0len: %i\n", so->so_q0len);
sys/kern/uipc_socket.c
2523
(*pr)("so_qlen: %i\n", so->so_qlen);
sys/kern/uipc_socket.c
2524
(*pr)("so_qlimit: %i\n", so->so_qlimit);
sys/kern/uipc_socket.c
2525
(*pr)("so_timeo: %i\n", so->so_timeo);
sys/kern/uipc_socket.c
2526
(*pr)("so_obmark: %lu\n", so->so_oobmark);
sys/kern/uipc_socket.c
2528
(*pr)("so_sp: %p\n", so->so_sp);
sys/kern/uipc_socket.c
2529
if (so->so_sp != NULL) {
sys/kern/uipc_socket.c
2530
(*pr)("\tssp_socket: %p\n", so->so_sp->ssp_socket);
sys/kern/uipc_socket.c
2531
(*pr)("\tssp_soback: %p\n", so->so_sp->ssp_soback);
sys/kern/uipc_socket.c
2532
(*pr)("\tssp_len: %lld\n", so->so_splicelen);
sys/kern/uipc_socket.c
2533
(*pr)("\tssp_max: %lld\n", so->so_splicemax);
sys/kern/uipc_socket.c
2534
(*pr)("\tssp_idletv: %lld %ld\n", so->so_spliceidletv.tv_sec,
sys/kern/uipc_socket.c
2535
so->so_spliceidletv.tv_usec);
sys/kern/uipc_socket.c
2537
timeout_pending(&so->so_spliceidleto) ? "" : "not ",
sys/kern/uipc_socket.c
2538
so->so_spliceidleto.to_time);
sys/kern/uipc_socket.c
254
soassertlocked(so);
sys/kern/uipc_socket.c
2542
sobuf_print(&so->so_rcv, pr);
sys/kern/uipc_socket.c
2544
sobuf_print(&so->so_snd, pr);
sys/kern/uipc_socket.c
2547
so->so_upcall, so->so_upcallarg);
sys/kern/uipc_socket.c
2549
(*pr)("so_euid: %d so_ruid: %d\n", so->so_euid, so->so_ruid);
sys/kern/uipc_socket.c
2550
(*pr)("so_egid: %d so_rgid: %d\n", so->so_egid, so->so_rgid);
sys/kern/uipc_socket.c
2551
(*pr)("so_cpid: %d\n", so->so_cpid);
sys/kern/uipc_socket.c
256
if (so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING|SS_ISDISCONNECTING))
sys/kern/uipc_socket.c
259
if (isspliced(so) || issplicedback(so))
sys/kern/uipc_socket.c
262
error = pru_listen(so);
sys/kern/uipc_socket.c
265
if (TAILQ_FIRST(&so->so_q) == NULL)
sys/kern/uipc_socket.c
266
so->so_options |= SO_ACCEPTCONN;
sys/kern/uipc_socket.c
271
so->so_qlimit = backlog;
sys/kern/uipc_socket.c
276
sorele(struct socket *so)
sys/kern/uipc_socket.c
278
if (refcnt_rele(&so->so_refcnt) == 0)
sys/kern/uipc_socket.c
281
sigio_free(&so->so_sigio);
sys/kern/uipc_socket.c
282
klist_free(&so->so_rcv.sb_klist);
sys/kern/uipc_socket.c
283
klist_free(&so->so_snd.sb_klist);
sys/kern/uipc_socket.c
285
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
286
sbrelease(&so->so_snd);
sys/kern/uipc_socket.c
287
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
289
if (so->so_proto->pr_flags & PR_RIGHTS &&
sys/kern/uipc_socket.c
290
so->so_proto->pr_domain->dom_dispose)
sys/kern/uipc_socket.c
291
(*so->so_proto->pr_domain->dom_dispose)(so->so_rcv.sb_mb);
sys/kern/uipc_socket.c
292
m_purge(so->so_rcv.sb_mb);
sys/kern/uipc_socket.c
295
if (so->so_sp)
sys/kern/uipc_socket.c
296
pool_put(&sosplice_pool, so->so_sp);
sys/kern/uipc_socket.c
298
pool_put(&socket_pool, so);
sys/kern/uipc_socket.c
304
sofree(struct socket *so, int keep_lock)
sys/kern/uipc_socket.c
306
int persocket = solock_persocket(so);
sys/kern/uipc_socket.c
308
soassertlocked(so);
sys/kern/uipc_socket.c
310
if (so->so_pcb || (so->so_state & SS_NOFDREF) == 0) {
sys/kern/uipc_socket.c
312
sounlock_shared(so);
sys/kern/uipc_socket.c
315
if (so->so_head) {
sys/kern/uipc_socket.c
316
struct socket *head = so->so_head;
sys/kern/uipc_socket.c
323
if (so->so_onq == &head->so_q) {
sys/kern/uipc_socket.c
325
sounlock_shared(so);
sys/kern/uipc_socket.c
331
sounlock(so);
sys/kern/uipc_socket.c
333
solock(so);
sys/kern/uipc_socket.c
335
if (so->so_onq != &head->so_q0) {
sys/kern/uipc_socket.c
336
sounlock(so);
sys/kern/uipc_socket.c
343
soqremque(so, 0);
sys/kern/uipc_socket.c
352
sounlock_shared(so);
sys/kern/uipc_socket.c
353
sorele(so);
sys/kern/uipc_socket.c
357
solinger_nsec(struct socket *so)
sys/kern/uipc_socket.c
359
if (so->so_linger == 0)
sys/kern/uipc_socket.c
362
return SEC_TO_NSEC(so->so_linger);
sys/kern/uipc_socket.c
371
soclose(struct socket *so, int flags)
sys/kern/uipc_socket.c
376
solock_shared(so);
sys/kern/uipc_socket.c
378
sigio_free(&so->so_sigio);
sys/kern/uipc_socket.c
379
if (so->so_state & SS_ISCONNECTED) {
sys/kern/uipc_socket.c
380
if (so->so_pcb == NULL)
sys/kern/uipc_socket.c
382
if ((so->so_state & SS_ISDISCONNECTING) == 0) {
sys/kern/uipc_socket.c
383
error = sodisconnect(so);
sys/kern/uipc_socket.c
387
if (so->so_options & SO_LINGER) {
sys/kern/uipc_socket.c
388
if ((so->so_state & SS_ISDISCONNECTING) &&
sys/kern/uipc_socket.c
391
while (so->so_state & SS_ISCONNECTED) {
sys/kern/uipc_socket.c
392
error = sosleep_nsec(so, &so->so_timeo,
sys/kern/uipc_socket.c
394
solinger_nsec(so));
sys/kern/uipc_socket.c
401
if (so->so_pcb) {
sys/kern/uipc_socket.c
403
error2 = pru_detach(so);
sys/kern/uipc_socket.c
407
if (so->so_options & SO_ACCEPTCONN) {
sys/kern/uipc_socket.c
408
int persocket = solock_persocket(so);
sys/kern/uipc_socket.c
410
while ((so2 = TAILQ_FIRST(&so->so_q0)) != NULL) {
sys/kern/uipc_socket.c
414
sounlock(so);
sys/kern/uipc_socket.c
418
solock(so);
sys/kern/uipc_socket.c
420
while ((so2 = TAILQ_FIRST(&so->so_q)) != NULL) {
sys/kern/uipc_socket.c
425
sounlock(so);
sys/kern/uipc_socket.c
430
solock(so);
sys/kern/uipc_socket.c
435
if (so->so_sp) {
sys/kern/uipc_socket.c
439
sounlock_shared(so);
sys/kern/uipc_socket.c
444
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
445
soback = soref(so->so_sp->ssp_soback);
sys/kern/uipc_socket.c
446
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
458
if (issplicedback(so)) {
sys/kern/uipc_socket.c
461
if (so->so_sp->ssp_soback == so)
sys/kern/uipc_socket.c
463
sounsplice(so->so_sp->ssp_soback, so, freeing);
sys/kern/uipc_socket.c
468
sblock(&so->so_rcv, SBL_WAIT | SBL_NOINTR);
sys/kern/uipc_socket.c
469
if (isspliced(so)) {
sys/kern/uipc_socket.c
472
if (so == so->so_sp->ssp_socket)
sys/kern/uipc_socket.c
474
sounsplice(so, so->so_sp->ssp_socket, freeing);
sys/kern/uipc_socket.c
476
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
478
timeout_barrier(&so->so_spliceidleto);
sys/kern/uipc_socket.c
479
spq = so->so_splicequeue;
sys/kern/uipc_socket.c
489
solock_shared(so);
sys/kern/uipc_socket.c
493
if (so->so_state & SS_NOFDREF)
sys/kern/uipc_socket.c
494
panic("soclose NOFDREF: so %p, so_type %d", so, so->so_type);
sys/kern/uipc_socket.c
495
so->so_state |= SS_NOFDREF;
sys/kern/uipc_socket.c
498
sofree(so, 0);
sys/kern/uipc_socket.c
503
soabort(struct socket *so)
sys/kern/uipc_socket.c
505
soassertlocked(so);
sys/kern/uipc_socket.c
506
pru_abort(so);
sys/kern/uipc_socket.c
510
soaccept(struct socket *so, struct mbuf *nam)
sys/kern/uipc_socket.c
514
soassertlocked(so);
sys/kern/uipc_socket.c
516
if ((so->so_state & SS_NOFDREF) == 0)
sys/kern/uipc_socket.c
517
panic("soaccept !NOFDREF: so %p, so_type %d", so, so->so_type);
sys/kern/uipc_socket.c
518
so->so_state &= ~SS_NOFDREF;
sys/kern/uipc_socket.c
519
if ((so->so_state & SS_ISDISCONNECTED) == 0 ||
sys/kern/uipc_socket.c
520
(so->so_proto->pr_flags & PR_ABRTACPTDIS) == 0)
sys/kern/uipc_socket.c
521
error = pru_accept(so, nam);
sys/kern/uipc_socket.c
528
soconnect(struct socket *so, struct mbuf *nam)
sys/kern/uipc_socket.c
532
soassertlocked(so);
sys/kern/uipc_socket.c
534
if (so->so_options & SO_ACCEPTCONN)
sys/kern/uipc_socket.c
542
if (so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING) &&
sys/kern/uipc_socket.c
543
((so->so_proto->pr_flags & PR_CONNREQUIRED) ||
sys/kern/uipc_socket.c
544
(error = sodisconnect(so))))
sys/kern/uipc_socket.c
547
error = pru_connect(so, nam);
sys/kern/uipc_socket.c
564
sodisconnect(struct socket *so)
sys/kern/uipc_socket.c
568
soassertlocked(so);
sys/kern/uipc_socket.c
570
if ((so->so_state & SS_ISCONNECTED) == 0)
sys/kern/uipc_socket.c
572
if (so->so_state & SS_ISDISCONNECTING)
sys/kern/uipc_socket.c
574
error = pru_disconnect(so);
sys/kern/uipc_socket.c
599
sosend(struct socket *so, struct mbuf *addr, struct uio *uio, struct mbuf *top,
sys/kern/uipc_socket.c
605
int atomic = sosendallatonce(so) || top;
sys/kern/uipc_socket.c
612
if (so->so_type == SOCK_STREAM && (flags & MSG_EOR)) {
sys/kern/uipc_socket.c
628
if (so->so_proto->pr_domain->dom_family == AF_UNIX &&
sys/kern/uipc_socket.c
639
if ((error = sblock(&so->so_snd, SBLOCKWAIT(flags))) != 0)
sys/kern/uipc_socket.c
641
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
642
so->so_snd.sb_state |= SS_ISSENDING;
sys/kern/uipc_socket.c
644
if (so->so_snd.sb_state & SS_CANTSENDMORE)
sys/kern/uipc_socket.c
646
if ((error = READ_ONCE(so->so_error))) {
sys/kern/uipc_socket.c
647
so->so_error = 0;
sys/kern/uipc_socket.c
650
if ((so->so_state & SS_ISCONNECTED) == 0) {
sys/kern/uipc_socket.c
651
if (so->so_proto->pr_flags & PR_CONNREQUIRED) {
sys/kern/uipc_socket.c
657
space = sbspace_locked(&so->so_snd);
sys/kern/uipc_socket.c
660
if (so->so_proto->pr_domain->dom_family == AF_UNIX) {
sys/kern/uipc_socket.c
661
if (atomic && resid > so->so_snd.sb_hiwat)
sys/kern/uipc_socket.c
664
if (clen > so->so_snd.sb_hiwat ||
sys/kern/uipc_socket.c
665
(atomic && resid > so->so_snd.sb_hiwat - clen))
sys/kern/uipc_socket.c
670
(atomic || space < so->so_snd.sb_lowat))) {
sys/kern/uipc_socket.c
673
sbunlock(&so->so_snd);
sys/kern/uipc_socket.c
674
error = sbwait(&so->so_snd);
sys/kern/uipc_socket.c
675
so->so_snd.sb_state &= ~SS_ISSENDING;
sys/kern/uipc_socket.c
676
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
691
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
693
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
702
so->so_snd.sb_state &= ~SS_ISSENDING;
sys/kern/uipc_socket.c
703
if (top && so->so_options & SO_ZEROIZE)
sys/kern/uipc_socket.c
705
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
706
solock_shared(so);
sys/kern/uipc_socket.c
708
error = pru_sendoob(so, top, addr, control);
sys/kern/uipc_socket.c
710
error = pru_send(so, top, addr, control);
sys/kern/uipc_socket.c
711
sounlock_shared(so);
sys/kern/uipc_socket.c
712
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
722
so->so_snd.sb_state &= ~SS_ISSENDING;
sys/kern/uipc_socket.c
723
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket.c
724
sbunlock(&so->so_snd);
sys/kern/uipc_socket.c
849
soreceive(struct socket *so, struct mbuf **paddr, struct uio *uio,
sys/kern/uipc_socket.c
857
const struct protosw *pr = so->so_proto;
sys/kern/uipc_socket.c
872
solock_shared(so);
sys/kern/uipc_socket.c
873
error = pru_rcvoob(so, m, flags & MSG_PEEK);
sys/kern/uipc_socket.c
874
sounlock_shared(so);
sys/kern/uipc_socket.c
890
if ((error = sblock(&so->so_rcv, SBLOCKWAIT(flags))) != 0)
sys/kern/uipc_socket.c
892
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
894
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
896
if (isspliced(so))
sys/kern/uipc_socket.c
911
so->so_rcv.sb_cc < uio->uio_resid) &&
sys/kern/uipc_socket.c
912
(so->so_rcv.sb_cc < so->so_rcv.sb_lowat ||
sys/kern/uipc_socket.c
913
((flags & MSG_WAITALL) && uio->uio_resid <= so->so_rcv.sb_hiwat)) &&
sys/kern/uipc_socket.c
916
if (m == NULL && so->so_rcv.sb_cc)
sys/kern/uipc_socket.c
918
if (!isspliced(so))
sys/kern/uipc_socket.c
921
so, so->so_type, so->so_rcv.sb_cc);
sys/kern/uipc_socket.c
923
if ((error2 = READ_ONCE(so->so_error))) {
sys/kern/uipc_socket.c
928
so->so_error = 0;
sys/kern/uipc_socket.c
931
if (so->so_rcv.sb_state & SS_CANTRCVMORE) {
sys/kern/uipc_socket.c
934
else if (so->so_rcv.sb_cc == 0)
sys/kern/uipc_socket.c
939
m = so->so_rcv.sb_mb;
sys/kern/uipc_socket.c
942
if ((so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING)) == 0 &&
sys/kern/uipc_socket.c
943
(so->so_proto->pr_flags & PR_CONNREQUIRED)) {
sys/kern/uipc_socket.c
953
SBLASTRECORDCHK(&so->so_rcv, "soreceive sbwait 1");
sys/kern/uipc_socket.c
954
SBLASTMBUFCHK(&so->so_rcv, "soreceive sbwait 1");
sys/kern/uipc_socket.c
956
sbunlock(&so->so_rcv);
sys/kern/uipc_socket.c
957
error = sbwait(&so->so_rcv);
sys/kern/uipc_socket.c
958
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket.c
979
KASSERT(m == so->so_rcv.sb_mb);
sys/kern/uipc_socket.c
980
SBLASTRECORDCHK(&so->so_rcv, "soreceive 1");
sys/kern/uipc_socket.c
981
SBLASTMBUFCHK(&so->so_rcv, "soreceive 1");
sys/kern/uipc_socket.c
987
so, so->so_type, m, m->m_type);
sys/kern/uipc_socket.c
995
sbfree(&so->so_rcv, m);
sys/kern/uipc_socket.c
998
so->so_rcv.sb_mb = m->m_next;
sys/kern/uipc_socket2.c
100
so->so_state |= SS_ISCONNECTED;
sys/kern/uipc_socket2.c
102
if (head != NULL && so->so_onq == &head->so_q0) {
sys/kern/uipc_socket2.c
104
sounlock(so);
sys/kern/uipc_socket2.c
106
solock(so);
sys/kern/uipc_socket2.c
108
if (so->so_onq != &head->so_q0) {
sys/kern/uipc_socket2.c
114
soqremque(so, 0);
sys/kern/uipc_socket2.c
115
soqinsque(head, so, 1);
sys/kern/uipc_socket2.c
122
wakeup(&so->so_timeo);
sys/kern/uipc_socket2.c
123
sorwakeup(so);
sys/kern/uipc_socket2.c
124
sowwakeup(so);
sys/kern/uipc_socket2.c
129
soisdisconnecting(struct socket *so)
sys/kern/uipc_socket2.c
131
soassertlocked(so);
sys/kern/uipc_socket2.c
132
so->so_state &= ~SS_ISCONNECTING;
sys/kern/uipc_socket2.c
133
so->so_state |= SS_ISDISCONNECTING;
sys/kern/uipc_socket2.c
135
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
136
so->so_rcv.sb_state |= SS_CANTRCVMORE;
sys/kern/uipc_socket2.c
137
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
139
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
140
so->so_snd.sb_state |= SS_CANTSENDMORE;
sys/kern/uipc_socket2.c
141
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
143
wakeup(&so->so_timeo);
sys/kern/uipc_socket2.c
144
sowwakeup(so);
sys/kern/uipc_socket2.c
145
sorwakeup(so);
sys/kern/uipc_socket2.c
149
soisdisconnected(struct socket *so)
sys/kern/uipc_socket2.c
151
soassertlocked(so);
sys/kern/uipc_socket2.c
153
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
154
so->so_rcv.sb_state |= SS_CANTRCVMORE;
sys/kern/uipc_socket2.c
155
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
157
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
158
so->so_snd.sb_state |= SS_CANTSENDMORE;
sys/kern/uipc_socket2.c
159
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
161
so->so_state &= ~(SS_ISCONNECTING|SS_ISCONNECTED|SS_ISDISCONNECTING);
sys/kern/uipc_socket2.c
162
so->so_state |= SS_ISDISCONNECTED;
sys/kern/uipc_socket2.c
164
wakeup(&so->so_timeo);
sys/kern/uipc_socket2.c
165
sowwakeup(so);
sys/kern/uipc_socket2.c
166
sorwakeup(so);
sys/kern/uipc_socket2.c
180
struct socket *so;
sys/kern/uipc_socket2.c
189
so = soalloc(head->so_proto, wait);
sys/kern/uipc_socket2.c
190
if (so == NULL)
sys/kern/uipc_socket2.c
192
so->so_type = head->so_type;
sys/kern/uipc_socket2.c
193
so->so_options = head->so_options &~ SO_ACCEPTCONN;
sys/kern/uipc_socket2.c
194
so->so_linger = head->so_linger;
sys/kern/uipc_socket2.c
195
so->so_state = head->so_state | SS_NOFDREF;
sys/kern/uipc_socket2.c
196
so->so_proto = head->so_proto;
sys/kern/uipc_socket2.c
197
so->so_timeo = head->so_timeo;
sys/kern/uipc_socket2.c
198
so->so_euid = head->so_euid;
sys/kern/uipc_socket2.c
199
so->so_ruid = head->so_ruid;
sys/kern/uipc_socket2.c
200
so->so_egid = head->so_egid;
sys/kern/uipc_socket2.c
201
so->so_rgid = head->so_rgid;
sys/kern/uipc_socket2.c
202
so->so_cpid = head->so_cpid;
sys/kern/uipc_socket2.c
207
solock_nonet(so);
sys/kern/uipc_socket2.c
212
if (soreserve(so, head->so_snd.sb_hiwat, head->so_rcv.sb_hiwat))
sys/kern/uipc_socket2.c
216
so->so_snd.sb_wat = head->so_snd.sb_wat;
sys/kern/uipc_socket2.c
217
so->so_snd.sb_lowat = head->so_snd.sb_lowat;
sys/kern/uipc_socket2.c
218
so->so_snd.sb_timeo_nsecs = head->so_snd.sb_timeo_nsecs;
sys/kern/uipc_socket2.c
222
so->so_rcv.sb_wat = head->so_rcv.sb_wat;
sys/kern/uipc_socket2.c
223
so->so_rcv.sb_lowat = head->so_rcv.sb_lowat;
sys/kern/uipc_socket2.c
224
so->so_rcv.sb_timeo_nsecs = head->so_rcv.sb_timeo_nsecs;
sys/kern/uipc_socket2.c
227
sigio_copy(&so->so_sigio, &head->so_sigio);
sys/kern/uipc_socket2.c
229
soqinsque(head, so, soqueue);
sys/kern/uipc_socket2.c
230
if (pru_attach(so, 0, wait) != 0) {
sys/kern/uipc_socket2.c
231
soqremque(so, soqueue);
sys/kern/uipc_socket2.c
235
so->so_state |= connstatus;
sys/kern/uipc_socket2.c
240
return (so);
sys/kern/uipc_socket2.c
243
sounlock_nonet(so);
sys/kern/uipc_socket2.c
244
sigio_free(&so->so_sigio);
sys/kern/uipc_socket2.c
245
klist_free(&so->so_rcv.sb_klist);
sys/kern/uipc_socket2.c
246
klist_free(&so->so_snd.sb_klist);
sys/kern/uipc_socket2.c
247
pool_put(&socket_pool, so);
sys/kern/uipc_socket2.c
253
soqinsque(struct socket *head, struct socket *so, int q)
sys/kern/uipc_socket2.c
256
soassertlocked(so);
sys/kern/uipc_socket2.c
258
KASSERT(so->so_onq == NULL);
sys/kern/uipc_socket2.c
260
so->so_head = head;
sys/kern/uipc_socket2.c
263
so->so_onq = &head->so_q0;
sys/kern/uipc_socket2.c
266
so->so_onq = &head->so_q;
sys/kern/uipc_socket2.c
268
TAILQ_INSERT_TAIL(so->so_onq, so, so_qe);
sys/kern/uipc_socket2.c
272
soqremque(struct socket *so, int q)
sys/kern/uipc_socket2.c
274
struct socket *head = so->so_head;
sys/kern/uipc_socket2.c
276
soassertlocked(so);
sys/kern/uipc_socket2.c
280
if (so->so_onq != &head->so_q0)
sys/kern/uipc_socket2.c
284
if (so->so_onq != &head->so_q)
sys/kern/uipc_socket2.c
288
TAILQ_REMOVE(so->so_onq, so, so_qe);
sys/kern/uipc_socket2.c
289
so->so_onq = NULL;
sys/kern/uipc_socket2.c
290
so->so_head = NULL;
sys/kern/uipc_socket2.c
305
socantsendmore(struct socket *so)
sys/kern/uipc_socket2.c
307
soassertlocked(so);
sys/kern/uipc_socket2.c
308
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
309
so->so_snd.sb_state |= SS_CANTSENDMORE;
sys/kern/uipc_socket2.c
310
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
311
sowwakeup(so);
sys/kern/uipc_socket2.c
315
socantrcvmore(struct socket *so)
sys/kern/uipc_socket2.c
317
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
318
so->so_rcv.sb_state |= SS_CANTRCVMORE;
sys/kern/uipc_socket2.c
319
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
320
sorwakeup(so);
sys/kern/uipc_socket2.c
324
solock(struct socket *so)
sys/kern/uipc_socket2.c
326
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
332
rw_enter_write(&so->so_lock);
sys/kern/uipc_socket2.c
338
solock_shared(struct socket *so)
sys/kern/uipc_socket2.c
340
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
346
rw_enter_write(&so->so_lock);
sys/kern/uipc_socket2.c
350
solock_nonet(struct socket *so)
sys/kern/uipc_socket2.c
352
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
358
rw_enter_write(&so->so_lock);
sys/kern/uipc_socket2.c
362
solock_persocket(struct socket *so)
sys/kern/uipc_socket2.c
364
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
396
sounlock(struct socket *so)
sys/kern/uipc_socket2.c
398
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
404
rw_exit_write(&so->so_lock);
sys/kern/uipc_socket2.c
410
sounlock_shared(struct socket *so)
sys/kern/uipc_socket2.c
412
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
418
rw_exit_write(&so->so_lock);
sys/kern/uipc_socket2.c
422
sounlock_nonet(struct socket *so)
sys/kern/uipc_socket2.c
424
rw_exit_write(&so->so_lock);
sys/kern/uipc_socket2.c
448
soassertlocked_readonly(struct socket *so)
sys/kern/uipc_socket2.c
450
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
456
rw_assert_wrlock(&so->so_lock);
sys/kern/uipc_socket2.c
462
soassertlocked(struct socket *so)
sys/kern/uipc_socket2.c
464
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
471
rw_status(&so->so_lock) != RW_WRITE)
sys/kern/uipc_socket2.c
477
rw_assert_wrlock(&so->so_lock);
sys/kern/uipc_socket2.c
483
sosleep_nsec(struct socket *so, void *ident, int prio, const char *wmesg,
sys/kern/uipc_socket2.c
488
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_socket2.c
492
rw_exit_write(&so->so_lock);
sys/kern/uipc_socket2.c
495
rw_enter_write(&so->so_lock);
sys/kern/uipc_socket2.c
498
ret = rwsleep_nsec(ident, &so->so_lock, prio, wmesg, nsecs);
sys/kern/uipc_socket2.c
555
sowakeup(struct socket *so, struct sockbuf *sb)
sys/kern/uipc_socket2.c
574
pgsigio(&so->so_sigio, SIGIO, 0);
sys/kern/uipc_socket2.c
610
soreserve(struct socket *so, u_long sndcc, u_long rcvcc)
sys/kern/uipc_socket2.c
612
soassertlocked(so);
sys/kern/uipc_socket2.c
614
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
615
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
616
if (sbreserve(&so->so_snd, sndcc))
sys/kern/uipc_socket2.c
618
so->so_snd.sb_wat = sndcc;
sys/kern/uipc_socket2.c
619
if (so->so_snd.sb_lowat == 0)
sys/kern/uipc_socket2.c
620
so->so_snd.sb_lowat = MCLBYTES;
sys/kern/uipc_socket2.c
621
if (so->so_snd.sb_lowat > so->so_snd.sb_hiwat)
sys/kern/uipc_socket2.c
622
so->so_snd.sb_lowat = so->so_snd.sb_hiwat;
sys/kern/uipc_socket2.c
623
if (sbreserve(&so->so_rcv, rcvcc))
sys/kern/uipc_socket2.c
625
so->so_rcv.sb_wat = rcvcc;
sys/kern/uipc_socket2.c
626
if (so->so_rcv.sb_lowat == 0)
sys/kern/uipc_socket2.c
627
so->so_rcv.sb_lowat = 1;
sys/kern/uipc_socket2.c
628
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
629
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
633
sbrelease(&so->so_snd);
sys/kern/uipc_socket2.c
635
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_socket2.c
636
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_socket2.c
843
sbcheck(struct socket *so, struct sockbuf *sb)
sys/kern/uipc_socket2.c
86
soisconnecting(struct socket *so)
sys/kern/uipc_socket2.c
88
soassertlocked(so);
sys/kern/uipc_socket2.c
89
so->so_state &= ~(SS_ISCONNECTED|SS_ISDISCONNECTING);
sys/kern/uipc_socket2.c
90
so->so_state |= SS_ISCONNECTING;
sys/kern/uipc_socket2.c
94
soisconnected(struct socket *so)
sys/kern/uipc_socket2.c
96
struct socket *head = so->so_head;
sys/kern/uipc_socket2.c
98
soassertlocked(so);
sys/kern/uipc_socket2.c
99
so->so_state &= ~(SS_ISCONNECTING|SS_ISDISCONNECTING);
sys/kern/uipc_syscalls.c
1016
struct socket *so;
sys/kern/uipc_syscalls.c
1019
so = (struct socket *)fp->f_data;
sys/kern/uipc_syscalls.c
102
error = socreate(SCARG(uap, domain), &so, type, SCARG(uap, protocol));
sys/kern/uipc_syscalls.c
1020
so->so_error = error;
sys/kern/uipc_syscalls.c
110
soclose(so, MSG_DONTWAIT);
sys/kern/uipc_syscalls.c
115
so->so_state |= ss;
sys/kern/uipc_syscalls.c
116
fp->f_data = so;
sys/kern/uipc_syscalls.c
1197
struct socket *so;
sys/kern/uipc_syscalls.c
1225
so = fp->f_data;
sys/kern/uipc_syscalls.c
1226
error = sosetopt(so, SCARG(uap, level), SCARG(uap, name), m);
sys/kern/uipc_syscalls.c
1246
struct socket *so;
sys/kern/uipc_syscalls.c
126
isdnssocket(struct socket *so)
sys/kern/uipc_syscalls.c
1262
so = fp->f_data;
sys/kern/uipc_syscalls.c
1263
error = sogetopt(so, SCARG(uap, level), SCARG(uap, name), m);
sys/kern/uipc_syscalls.c
128
return (so->so_state & SS_DNS);
sys/kern/uipc_syscalls.c
1290
struct socket *so;
sys/kern/uipc_syscalls.c
1297
so = fp->f_data;
sys/kern/uipc_syscalls.c
1298
if (so->so_state & SS_YP) {
sys/kern/uipc_syscalls.c
1306
solock_shared(so);
sys/kern/uipc_syscalls.c
1307
error = pru_sockaddr(so, m);
sys/kern/uipc_syscalls.c
1308
sounlock_shared(so);
sys/kern/uipc_syscalls.c
133
dns_portcheck(struct proc *p, struct socket *so, void *nam, size_t namelen)
sys/kern/uipc_syscalls.c
1330
struct socket *so;
sys/kern/uipc_syscalls.c
1337
so = fp->f_data;
sys/kern/uipc_syscalls.c
1338
if (so->so_state & SS_YP) {
sys/kern/uipc_syscalls.c
1342
if ((so->so_state & SS_ISCONNECTED) == 0) {
sys/kern/uipc_syscalls.c
1350
solock_shared(so);
sys/kern/uipc_syscalls.c
1351
error = pru_peeraddr(so, m);
sys/kern/uipc_syscalls.c
1352
sounlock_shared(so);
sys/kern/uipc_syscalls.c
137
switch (so->so_proto->pr_domain->dom_family) {
sys/kern/uipc_syscalls.c
1519
struct socket *so;
sys/kern/uipc_syscalls.c
1616
error = socreate(AF_INET, &so, SCARG(uap, type), 0);
sys/kern/uipc_syscalls.c
1622
soclose(so, MSG_DONTWAIT);
sys/kern/uipc_syscalls.c
1630
solock(so);
sys/kern/uipc_syscalls.c
1634
sotoinpcb(so)->inp_flags |= INP_LOWPORT;
sys/kern/uipc_syscalls.c
1636
error = soconnect(so, nam);
sys/kern/uipc_syscalls.c
1637
while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) {
sys/kern/uipc_syscalls.c
1638
error = sosleep_nsec(so, &so->so_timeo, PSOCK | PCATCH,
sys/kern/uipc_syscalls.c
1644
so->so_state |= SS_YP; /* impose some restrictions */
sys/kern/uipc_syscalls.c
1645
sounlock(so);
sys/kern/uipc_syscalls.c
1647
soclose(so, MSG_DONTWAIT);
sys/kern/uipc_syscalls.c
1655
soclose(so, MSG_DONTWAIT);
sys/kern/uipc_syscalls.c
1662
fp->f_data = so;
sys/kern/uipc_syscalls.c
167
struct socket *so;
sys/kern/uipc_syscalls.c
172
so = fp->f_data;
sys/kern/uipc_syscalls.c
173
if (so->so_state & SS_YP) {
sys/kern/uipc_syscalls.c
177
error = pledge_socket(p, so->so_proto->pr_domain->dom_family,
sys/kern/uipc_syscalls.c
178
so->so_state);
sys/kern/uipc_syscalls.c
189
solock_shared(so);
sys/kern/uipc_syscalls.c
190
error = sobind(so, nam, p);
sys/kern/uipc_syscalls.c
191
sounlock_shared(so);
sys/kern/uipc_syscalls.c
206
struct socket *so;
sys/kern/uipc_syscalls.c
211
so = fp->f_data;
sys/kern/uipc_syscalls.c
212
if (so->so_state & SS_YP) {
sys/kern/uipc_syscalls.c
216
solock_shared(so);
sys/kern/uipc_syscalls.c
217
error = solisten(so, SCARG(uap, backlog));
sys/kern/uipc_syscalls.c
218
sounlock_shared(so);
sys/kern/uipc_syscalls.c
263
struct socket *head, *so;
sys/kern/uipc_syscalls.c
319
so = TAILQ_FIRST(&head->so_q);
sys/kern/uipc_syscalls.c
321
solock_nonet(so);
sys/kern/uipc_syscalls.c
323
if (soqremque(so, 1) == 0)
sys/kern/uipc_syscalls.c
338
fp->f_data = so;
sys/kern/uipc_syscalls.c
340
error = soaccept(so, nam);
sys/kern/uipc_syscalls.c
342
sounlock_shared(so);
sys/kern/uipc_syscalls.c
387
struct socket *so;
sys/kern/uipc_syscalls.c
393
so = fp->f_data;
sys/kern/uipc_syscalls.c
394
if (so->so_state & SS_YP) {
sys/kern/uipc_syscalls.c
398
error = pledge_socket(p, so->so_proto->pr_domain->dom_family,
sys/kern/uipc_syscalls.c
399
so->so_state);
sys/kern/uipc_syscalls.c
410
solock_shared(so);
sys/kern/uipc_syscalls.c
411
if (isdnssocket(so)) {
sys/kern/uipc_syscalls.c
412
error = dns_portcheck(p, so, mtod(nam, void *), nam->m_len);
sys/kern/uipc_syscalls.c
416
if (so->so_state & SS_ISCONNECTING) {
sys/kern/uipc_syscalls.c
420
error = soconnect(so, nam);
sys/kern/uipc_syscalls.c
423
if ((fp->f_flag & FNONBLOCK) && (so->so_state & SS_ISCONNECTING)) {
sys/kern/uipc_syscalls.c
427
while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) {
sys/kern/uipc_syscalls.c
428
error = sosleep_nsec(so, &so->so_timeo, PSOCK | PCATCH,
sys/kern/uipc_syscalls.c
437
error = so->so_error;
sys/kern/uipc_syscalls.c
438
so->so_error = 0;
sys/kern/uipc_syscalls.c
442
so->so_state &= ~SS_ISCONNECTING;
sys/kern/uipc_syscalls.c
444
sounlock_shared(so);
sys/kern/uipc_syscalls.c
707
struct socket *so;
sys/kern/uipc_syscalls.c
719
so = fp->f_data;
sys/kern/uipc_syscalls.c
748
if (isdnssocket(so)) {
sys/kern/uipc_syscalls.c
749
error = dns_portcheck(p, so, mtod(to, caddr_t),
sys/kern/uipc_syscalls.c
785
error = sosend(so, to, &auio, NULL, control, flags);
sys/kern/uipc_syscalls.c
80
struct socket *so;
sys/kern/uipc_usrreq.c
1028
struct socket *so;
sys/kern/uipc_usrreq.c
1032
if ((so = fp->f_data) == NULL)
sys/kern/uipc_usrreq.c
1034
if (so->so_proto->pr_domain != &unixdomain)
sys/kern/uipc_usrreq.c
1036
return (sotounpcb(so));
sys/kern/uipc_usrreq.c
1349
struct socket *so;
sys/kern/uipc_usrreq.c
1418
so = unp->unp_socket;
sys/kern/uipc_usrreq.c
1419
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_usrreq.c
1420
unp_scan(so->so_rcv.sb_mb, unp_remove_gcrefs);
sys/kern/uipc_usrreq.c
1421
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_usrreq.c
1442
so = unp->unp_socket;
sys/kern/uipc_usrreq.c
1443
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_usrreq.c
1444
unp_scan(so->so_rcv.sb_mb, unp_restore_gcrefs);
sys/kern/uipc_usrreq.c
1445
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_usrreq.c
181
unp_solock_peer(struct socket *so)
sys/kern/uipc_usrreq.c
186
unp = so->so_pcb;
sys/kern/uipc_usrreq.c
194
if (so < so2)
sys/kern/uipc_usrreq.c
196
else if (so > so2) {
sys/kern/uipc_usrreq.c
198
sounlock(so);
sys/kern/uipc_usrreq.c
200
solock(so);
sys/kern/uipc_usrreq.c
261
uipc_attach(struct socket *so, int proto, int wait)
sys/kern/uipc_usrreq.c
266
if (so->so_pcb)
sys/kern/uipc_usrreq.c
268
if (so->so_snd.sb_hiwat == 0 || so->so_rcv.sb_hiwat == 0) {
sys/kern/uipc_usrreq.c
269
switch (so->so_type) {
sys/kern/uipc_usrreq.c
272
error = soreserve(so,
sys/kern/uipc_usrreq.c
278
error = soreserve(so,
sys/kern/uipc_usrreq.c
284
error = soreserve(so,
sys/kern/uipc_usrreq.c
300
unp->unp_socket = so;
sys/kern/uipc_usrreq.c
301
so->so_pcb = unp;
sys/kern/uipc_usrreq.c
312
uipc_detach(struct socket *so)
sys/kern/uipc_usrreq.c
314
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
325
uipc_bind(struct socket *so, struct mbuf *nam, struct proc *p)
sys/kern/uipc_usrreq.c
327
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
418
uipc_listen(struct socket *so)
sys/kern/uipc_usrreq.c
420
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
430
uipc_connect(struct socket *so, struct mbuf *nam)
sys/kern/uipc_usrreq.c
432
return unp_connect(so, nam, curproc);
sys/kern/uipc_usrreq.c
436
uipc_accept(struct socket *so, struct mbuf *nam)
sys/kern/uipc_usrreq.c
439
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
445
so2 = unp_solock_peer(so);
sys/kern/uipc_usrreq.c
448
if (so2 != NULL && so2 != so)
sys/kern/uipc_usrreq.c
454
uipc_disconnect(struct socket *so)
sys/kern/uipc_usrreq.c
456
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
463
uipc_shutdown(struct socket *so)
sys/kern/uipc_usrreq.c
465
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
468
socantsendmore(so);
sys/kern/uipc_usrreq.c
479
uipc_dgram_shutdown(struct socket *so)
sys/kern/uipc_usrreq.c
481
socantsendmore(so);
sys/kern/uipc_usrreq.c
486
uipc_rcvd(struct socket *so)
sys/kern/uipc_usrreq.c
488
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
499
mtx_enter(&so->so_rcv.sb_mtx);
sys/kern/uipc_usrreq.c
501
so2->so_snd.sb_mbcnt = so->so_rcv.sb_mbcnt;
sys/kern/uipc_usrreq.c
502
so2->so_snd.sb_cc = so->so_rcv.sb_cc;
sys/kern/uipc_usrreq.c
504
mtx_leave(&so->so_rcv.sb_mtx);
sys/kern/uipc_usrreq.c
509
uipc_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/kern/uipc_usrreq.c
512
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
517
sounlock(so);
sys/kern/uipc_usrreq.c
519
solock(so);
sys/kern/uipc_usrreq.c
528
if (so->so_snd.sb_state & SS_CANTSENDMORE) {
sys/kern/uipc_usrreq.c
549
mtx_enter(&so->so_snd.sb_mtx);
sys/kern/uipc_usrreq.c
554
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_usrreq.c
559
} else if (so->so_type == SOCK_SEQPACKET)
sys/kern/uipc_usrreq.c
563
so->so_snd.sb_mbcnt = so2->so_rcv.sb_mbcnt;
sys/kern/uipc_usrreq.c
564
so->so_snd.sb_cc = so2->so_rcv.sb_cc;
sys/kern/uipc_usrreq.c
567
mtx_leave(&so->so_snd.sb_mtx);
sys/kern/uipc_usrreq.c
588
uipc_dgram_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/kern/uipc_usrreq.c
591
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
597
sounlock(so);
sys/kern/uipc_usrreq.c
599
solock(so);
sys/kern/uipc_usrreq.c
609
error = unp_connect(so, nam, curproc);
sys/kern/uipc_usrreq.c
656
uipc_abort(struct socket *so)
sys/kern/uipc_usrreq.c
658
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
661
sofree(so, 1);
sys/kern/uipc_usrreq.c
665
uipc_sense(struct socket *so, struct stat *sb)
sys/kern/uipc_usrreq.c
667
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
669
sb->st_blksize = so->so_snd.sb_hiwat;
sys/kern/uipc_usrreq.c
687
uipc_sockaddr(struct socket *so, struct mbuf *nam)
sys/kern/uipc_usrreq.c
689
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
696
uipc_peeraddr(struct socket *so, struct mbuf *nam)
sys/kern/uipc_usrreq.c
698
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
701
so2 = unp_solock_peer(so);
sys/kern/uipc_usrreq.c
703
if (so2 != NULL && so2 != so)
sys/kern/uipc_usrreq.c
709
uipc_connect2(struct socket *so, struct socket *so2)
sys/kern/uipc_usrreq.c
711
struct unpcb *unp = sotounpcb(so), *unp2;
sys/kern/uipc_usrreq.c
714
if ((error = unp_connect2(so, so2)))
sys/kern/uipc_usrreq.c
770
struct socket *so = unp->unp_socket;
sys/kern/uipc_usrreq.c
782
sounlock(so);
sys/kern/uipc_usrreq.c
789
solock(so);
sys/kern/uipc_usrreq.c
803
if (so < so2)
sys/kern/uipc_usrreq.c
807
sounlock(so);
sys/kern/uipc_usrreq.c
809
solock(so);
sys/kern/uipc_usrreq.c
829
sounlock(so);
sys/kern/uipc_usrreq.c
831
solock(so);
sys/kern/uipc_usrreq.c
833
soisdisconnected(so);
sys/kern/uipc_usrreq.c
834
so->so_pcb = NULL;
sys/kern/uipc_usrreq.c
842
unp_connect(struct socket *so, struct mbuf *nam, struct proc *p)
sys/kern/uipc_usrreq.c
851
unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
869
sounlock(so);
sys/kern/uipc_usrreq.c
887
if (so->so_type != so2->so_type) {
sys/kern/uipc_usrreq.c
892
if (so->so_proto->pr_flags & PR_CONNREQUIRED) {
sys/kern/uipc_usrreq.c
908
solock_pair(so, so3);
sys/kern/uipc_usrreq.c
932
solock_pair(so, so2);
sys/kern/uipc_usrreq.c
934
error = unp_connect2(so, so2);
sys/kern/uipc_usrreq.c
939
sounlock_pair(so, so2);
sys/kern/uipc_usrreq.c
944
solock(so);
sys/kern/uipc_usrreq.c
958
unp_connect2(struct socket *so, struct socket *so2)
sys/kern/uipc_usrreq.c
960
struct unpcb *unp = sotounpcb(so);
sys/kern/uipc_usrreq.c
963
soassertlocked(so);
sys/kern/uipc_usrreq.c
966
if (so2->so_type != so->so_type)
sys/kern/uipc_usrreq.c
970
switch (so->so_type) {
sys/kern/uipc_usrreq.c
974
soisconnected(so);
sys/kern/uipc_usrreq.c
980
soisconnected(so);
sys/miscfs/fifofs/fifo_vnops.c
474
struct socket *so;
sys/miscfs/fifofs/fifo_vnops.c
481
so = fip->fi_readsock;
sys/miscfs/fifofs/fifo_vnops.c
482
sb = &so->so_rcv;
sys/miscfs/fifofs/fifo_vnops.c
492
so = fip->fi_writesock;
sys/miscfs/fifofs/fifo_vnops.c
493
sb = &so->so_snd;
sys/miscfs/fifofs/fifo_vnops.c
505
so = fip->fi_readsock;
sys/miscfs/fifofs/fifo_vnops.c
506
sb = &so->so_rcv;
sys/miscfs/fifofs/fifo_vnops.c
512
ap->a_kn->kn_hook = so;
sys/miscfs/fifofs/fifo_vnops.c
522
struct socket *so = (struct socket *)kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
524
klist_remove(&so->so_rcv.sb_klist, kn);
sys/miscfs/fifofs/fifo_vnops.c
530
struct socket *so = kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
533
MUTEX_ASSERT_LOCKED(&so->so_rcv.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
535
kn->kn_data = so->so_rcv.sb_cc;
sys/miscfs/fifofs/fifo_vnops.c
536
if (so->so_rcv.sb_state & SS_CANTRCVMORE) {
sys/miscfs/fifofs/fifo_vnops.c
539
if (so->so_state & SS_ISDISCONNECTED)
sys/miscfs/fifofs/fifo_vnops.c
556
struct socket *so = (struct socket *)kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
558
klist_remove(&so->so_snd.sb_klist, kn);
sys/miscfs/fifofs/fifo_vnops.c
564
struct socket *so = kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
567
MUTEX_ASSERT_LOCKED(&so->so_snd.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
569
kn->kn_data = sbspace_locked(&so->so_snd);
sys/miscfs/fifofs/fifo_vnops.c
570
if (so->so_snd.sb_state & SS_CANTSENDMORE) {
sys/miscfs/fifofs/fifo_vnops.c
575
rv = (kn->kn_data >= so->so_snd.sb_lowat);
sys/miscfs/fifofs/fifo_vnops.c
584
struct socket *so = kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
587
MUTEX_ASSERT_LOCKED(&so->so_rcv.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
590
if (so->so_state & SS_ISDISCONNECTED) {
sys/miscfs/fifofs/fifo_vnops.c
604
struct socket *so = kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
607
solock(so);
sys/miscfs/fifofs/fifo_vnops.c
608
mtx_enter(&so->so_rcv.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
610
mtx_leave(&so->so_rcv.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
611
sounlock(so);
sys/miscfs/fifofs/fifo_vnops.c
619
struct socket *so = kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
622
solock(so);
sys/miscfs/fifofs/fifo_vnops.c
623
mtx_enter(&so->so_rcv.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
625
mtx_leave(&so->so_rcv.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
626
sounlock(so);
sys/miscfs/fifofs/fifo_vnops.c
634
struct socket *so = kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
637
mtx_enter(&so->so_snd.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
639
mtx_leave(&so->so_snd.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
647
struct socket *so = kn->kn_hook;
sys/miscfs/fifofs/fifo_vnops.c
650
mtx_enter(&so->so_snd.sb_mtx);
sys/miscfs/fifofs/fifo_vnops.c
652
mtx_leave(&so->so_snd.sb_mtx);
sys/net/bfd.c
436
struct socket *so;
sys/net/bfd.c
444
error = socreate(dst->sa_family, &so, SOCK_DGRAM, 0);
sys/net/bfd.c
455
error = sosetopt(so, IPPROTO_IP, IP_MINTTL, mopt);
sys/net/bfd.c
480
solock(so);
sys/net/bfd.c
481
error = sobind(so, m, p);
sys/net/bfd.c
482
sounlock(so);
sys/net/bfd.c
488
so->so_upcallarg = (caddr_t)bfd;
sys/net/bfd.c
489
so->so_upcall = bfd_upcall;
sys/net/bfd.c
493
return (so);
sys/net/bfd.c
497
soclose(so, MSG_DONTWAIT);
sys/net/bfd.c
508
struct socket *so;
sys/net/bfd.c
523
error = socreate(dst->sa_family, &so, SOCK_DGRAM, 0);
sys/net/bfd.c
532
error = sosetopt(so, IPPROTO_IP, IP_PORTRANGE, mopt);
sys/net/bfd.c
544
error = sosetopt(so, IPPROTO_IP, IP_TTL, mopt);
sys/net/bfd.c
556
error = sosetopt(so, IPPROTO_IP, IP_TOS, mopt);
sys/net/bfd.c
581
solock(so);
sys/net/bfd.c
582
error = sobind(so, m, p);
sys/net/bfd.c
583
sounlock(so);
sys/net/bfd.c
604
solock(so);
sys/net/bfd.c
605
error = soconnect(so, m);
sys/net/bfd.c
606
sounlock(so);
sys/net/bfd.c
615
return (so);
sys/net/bfd.c
619
soclose(so, MSG_DONTWAIT);
sys/net/bfd.c
628
bfd_upcall(struct socket *so, caddr_t arg, int waitflag)
sys/net/bfd.c
632
bfd->bc_upcallso = so;
sys/net/bfd.c
640
struct socket *so = bfd->bc_upcallso;
sys/net/bfd.c
647
uio.uio_resid = so->so_rcv.sb_cc;
sys/net/bfd.c
649
error = soreceive(so, NULL, &uio, &m, NULL, &flags, 0);
sys/net/bfd.c
656
} while (so->so_rcv.sb_cc);
sys/net/if.c
2136
ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p)
sys/net/if.c
2554
error = pru_control(so, cmd, data, ifp);
sys/net/if_ethersubr.c
1472
ether_frm_attach(struct socket *so, int proto, int wait)
sys/net/if_ethersubr.c
1477
if (so->so_pcb != NULL)
sys/net/if_ethersubr.c
1484
error = soreserve(so, MCLBYTES, MCLBYTES);
sys/net/if_ethersubr.c
1494
so->so_pcb = ep;
sys/net/if_ethersubr.c
1495
ep->ep_socket = so; /* shares a ref with the list */
sys/net/if_ethersubr.c
1509
ether_frm_detach(struct socket *so)
sys/net/if_ethersubr.c
1515
soassertlocked(so);
sys/net/if_ethersubr.c
1517
ep = so->so_pcb;
sys/net/if_ethersubr.c
1524
so->so_pcb = NULL; /* shares a ref with the list */
sys/net/if_ethersubr.c
1556
ether_frm_bind(struct socket *so, struct mbuf *nam, struct proc *p)
sys/net/if_ethersubr.c
1567
soassertlocked(so);
sys/net/if_ethersubr.c
1577
ep = so->so_pcb;
sys/net/if_ethersubr.c
1610
ether_frm_connect(struct socket *so, struct mbuf *nam)
sys/net/if_ethersubr.c
1620
soassertlocked(so);
sys/net/if_ethersubr.c
1640
ep = so->so_pcb;
sys/net/if_ethersubr.c
1676
ether_frm_disconnect(struct socket *so)
sys/net/if_ethersubr.c
1680
soassertlocked(so);
sys/net/if_ethersubr.c
1682
ep = so->so_pcb;
sys/net/if_ethersubr.c
1697
ether_frm_shutdown(struct socket *so)
sys/net/if_ethersubr.c
1699
soassertlocked(so);
sys/net/if_ethersubr.c
1700
socantsendmore(so);
sys/net/if_ethersubr.c
1705
ether_frm_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/net/if_ethersubr.c
1718
soassertlocked_readonly(so);
sys/net/if_ethersubr.c
1720
ep = so->so_pcb;
sys/net/if_ethersubr.c
1721
KASSERTMSG(ep != NULL, "%s: NULL pcb on socket %p", __func__, so);
sys/net/if_ethersubr.c
1863
ether_frm_sockaddr(struct socket *so, struct mbuf *nam)
sys/net/if_ethersubr.c
1865
struct ether_pcb *ep = so->so_pcb;
sys/net/if_ethersubr.c
1871
ether_frm_peeraddr(struct socket *so, struct mbuf *nam)
sys/net/if_ethersubr.c
1873
struct ether_pcb *ep = so->so_pcb;
sys/net/if_ethersubr.c
1883
struct socket *so = ep->ep_socket;
sys/net/if_ethersubr.c
1889
solock(so);
sys/net/if_ethersubr.c
1893
sounlock(so);
sys/net/if_ethersubr.c
1900
ether_frm_group(struct socket *so, int optname, struct mbuf *m)
sys/net/if_ethersubr.c
1911
soassertlocked(so);
sys/net/if_ethersubr.c
1939
ep = so->so_pcb;
sys/net/if_ethersubr.c
1988
sounlock(so);
sys/net/if_ethersubr.c
1994
solock(so);
sys/net/if_ethersubr.c
2049
ether_frm_setsockopt(struct socket *so, int optname, struct mbuf *m)
sys/net/if_ethersubr.c
2051
struct ether_pcb *ep = so->so_pcb;
sys/net/if_ethersubr.c
2061
error = ether_frm_group(so, optname, m);
sys/net/if_ethersubr.c
2100
ether_frm_getsockopt(struct socket *so, int optname, struct mbuf *m)
sys/net/if_ethersubr.c
2102
struct ether_pcb *ep = so->so_pcb;
sys/net/if_ethersubr.c
2117
ether_frm_ctloutput(int op, struct socket *so, int level, int optname,
sys/net/if_ethersubr.c
2127
error = ether_frm_setsockopt(so, optname, m);
sys/net/if_ethersubr.c
2130
error = ether_frm_getsockopt(so, optname, m);
sys/net/if_ethersubr.c
2153
ether_frm_recv(struct socket *so, struct mbuf *m0,
sys/net/if_ethersubr.c
2156
struct ether_pcb *ep = so->so_pcb;
sys/net/if_ethersubr.c
2179
if (ISSET(so->so_options, SO_TIMESTAMP)) {
sys/net/if_ethersubr.c
2186
mtx_enter(&so->so_rcv.sb_mtx);
sys/net/if_ethersubr.c
2187
ok = sbappendaddr(&so->so_rcv, (struct sockaddr *)sfrm, m, cmsgs);
sys/net/if_ethersubr.c
2188
mtx_leave(&so->so_rcv.sb_mtx);
sys/net/if_ethersubr.c
2196
sorwakeup(so);
sys/net/if_pflow.c
1470
if (sc->so == NULL) {
sys/net/if_pflow.c
1474
return (sosend(sc->so, sc->send_nam, NULL, m, NULL, 0));
sys/net/if_pflow.c
371
if (sc->so != NULL) {
sys/net/if_pflow.c
372
error = soclose(sc->so, MSG_DONTWAIT);
sys/net/if_pflow.c
373
sc->so = NULL;
sys/net/if_pflow.c
410
struct socket *so;
sys/net/if_pflow.c
433
if (sc->so != NULL) {
sys/net/if_pflow.c
434
soclose(sc->so, MSG_DONTWAIT);
sys/net/if_pflow.c
435
sc->so = NULL;
sys/net/if_pflow.c
479
if (sc->so != NULL) {
sys/net/if_pflow.c
480
soclose(sc->so, MSG_DONTWAIT);
sys/net/if_pflow.c
481
sc->so = NULL;
sys/net/if_pflow.c
509
if (sc->so == NULL) {
sys/net/if_pflow.c
512
&so, SOCK_DGRAM, 0);
sys/net/if_pflow.c
524
solock(so);
sys/net/if_pflow.c
525
error = sobind(so, m, p);
sys/net/if_pflow.c
526
sounlock(so);
sys/net/if_pflow.c
529
soclose(so, MSG_DONTWAIT);
sys/net/if_pflow.c
533
sc->so = so;
sys/net/if_pflow.c
536
soclose(sc->so, MSG_DONTWAIT);
sys/net/if_pflow.c
537
sc->so = NULL;
sys/net/if_pflow.c
602
if ((ifp->if_flags & IFF_UP) && sc->so != NULL) {
sys/net/if_pflow.c
658
if ((ifp->if_flags & IFF_UP) && sc->so != NULL) {
sys/net/if_pflow.h
250
struct socket *so; /* [p] */
sys/net/if_vxlan.c
905
struct socket *so;
sys/net/if_vxlan.c
939
error = socreate(vt->vt_af, &so, SOCK_DGRAM, IPPROTO_UDP);
sys/net/if_vxlan.c
943
solock_shared(so);
sys/net/if_vxlan.c
944
sotoinpcb(so)->inp_upcall = vxlan_input;
sys/net/if_vxlan.c
945
sotoinpcb(so)->inp_upcall_arg = vt;
sys/net/if_vxlan.c
946
sounlock_shared(so);
sys/net/if_vxlan.c
951
error = sosetopt(so, SOL_SOCKET, SO_RTABLE, &m);
sys/net/if_vxlan.c
983
solock_shared(so);
sys/net/if_vxlan.c
984
error = sobind(so, &m, curproc);
sys/net/if_vxlan.c
985
sounlock_shared(so);
sys/net/if_vxlan.c
992
vt->vt_so = so;
sys/net/if_vxlan.c
997
soclose(so, MSG_DONTWAIT);
sys/net/if_wg.c
712
wg_socket_open(struct socket **so, int af, in_port_t *port,
sys/net/if_wg.c
751
if ((ret = socreate(af, so, SOCK_DGRAM, 0)) != 0)
sys/net/if_wg.c
754
solock(*so);
sys/net/if_wg.c
755
sotoinpcb(*so)->inp_upcall = wg_input;
sys/net/if_wg.c
756
sotoinpcb(*so)->inp_upcall_arg = upcall_arg;
sys/net/if_wg.c
757
sounlock(*so);
sys/net/if_wg.c
759
if ((ret = sosetopt(*so, SOL_SOCKET, SO_RTABLE, &mrtable)) == 0) {
sys/net/if_wg.c
760
solock(*so);
sys/net/if_wg.c
761
if ((ret = sobind(*so, &mhostnam, curproc)) == 0) {
sys/net/if_wg.c
762
*port = sotoinpcb(*so)->inp_lport;
sys/net/if_wg.c
763
*rtable = sotoinpcb(*so)->inp_rtableid;
sys/net/if_wg.c
765
sounlock(*so);
sys/net/if_wg.c
769
wg_socket_close(so);
sys/net/if_wg.c
775
wg_socket_close(struct socket **so)
sys/net/if_wg.c
777
if (*so != NULL && soclose(*so, 0) != 0)
sys/net/if_wg.c
779
*so = NULL;
sys/net/pfkeyv2.c
1096
pfkeyv2_dosend(struct socket *so, void *message, int len)
sys/net/pfkeyv2.c
1128
kp = sotokeycb(so);
sys/net/pfkeyv2.c
147
#define sotokeycb(so) ((struct pkpcb *)(so)->so_pcb)
sys/net/pfkeyv2.c
1721
dump_state.socket = so;
sys/net/pfkeyv2.c
2100
rval = pfkeyv2_sendmessage(headers, mode, so, 0, 0, kp->kcb_rdomain);
sys/net/pfkeyv2.c
248
pfkeyv2_attach(struct socket *so, int proto, int wait)
sys/net/pfkeyv2.c
253
if ((so->so_state & SS_PRIV) == 0)
sys/net/pfkeyv2.c
256
error = soreserve(so, PFKEYSNDQ, PFKEYRCVQ);
sys/net/pfkeyv2.c
264
so->so_pcb = kp;
sys/net/pfkeyv2.c
265
kp->kcb_socket = so;
sys/net/pfkeyv2.c
269
so->so_options |= SO_USELOOPBACK;
sys/net/pfkeyv2.c
270
soisconnected(so);
sys/net/pfkeyv2.c
283
pfkeyv2_detach(struct socket *so)
sys/net/pfkeyv2.c
287
soassertlocked(so);
sys/net/pfkeyv2.c
289
kp = sotokeycb(so);
sys/net/pfkeyv2.c
308
so->so_pcb = NULL;
sys/net/pfkeyv2.c
309
KASSERT((so->so_state & SS_NOFDREF) == 0);
sys/net/pfkeyv2.c
316
pfkeyv2_disconnect(struct socket *so)
sys/net/pfkeyv2.c
318
soisdisconnected(so);
sys/net/pfkeyv2.c
323
pfkeyv2_shutdown(struct socket *so)
sys/net/pfkeyv2.c
325
socantsendmore(so);
sys/net/pfkeyv2.c
330
pfkeyv2_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/net/pfkeyv2.c
335
soassertlocked(so);
sys/net/pfkeyv2.c
347
error = pfkeyv2_output(m, so);
sys/net/pfkeyv2.c
358
pfkeyv2_sockaddr(struct socket *so, struct mbuf *nam)
sys/net/pfkeyv2.c
364
pfkeyv2_peeraddr(struct socket *so, struct mbuf *nam)
sys/net/pfkeyv2.c
373
pfkeyv2_output(struct mbuf *mbuf, struct socket *so)
sys/net/pfkeyv2.c
403
sounlock(so);
sys/net/pfkeyv2.c
404
error = pfkeyv2_dosend(so, message, mbuf->m_pkthdr.len);
sys/net/pfkeyv2.c
405
solock(so);
sys/net/pfkeyv2.c
415
struct socket *so = kp->kcb_socket;
sys/net/pfkeyv2.c
425
mtx_enter(&so->so_rcv.sb_mtx);
sys/net/pfkeyv2.c
426
ret = sbappendaddr(&so->so_rcv, &pfkey_addr, m, NULL);
sys/net/pfkeyv2.c
427
mtx_leave(&so->so_rcv.sb_mtx);
sys/net/pfkeyv2.c
434
sorwakeup(so);
sys/net/pfkeyv2.c
444
pfkeyv2_sendmessage(void **headers, int mode, struct socket *so,
sys/net/pfkeyv2.c
491
pfkey_sendup(sotokeycb(so), packet, 0);
sys/net/pfkeyv2.c
516
if (kp->kcb_socket == so || kp->kcb_rdomain != rdomain)
sys/net/rtsock.c
163
#define sotortpcb(so) ((struct rtpcb *)(so)->so_pcb)
sys/net/rtsock.c
195
route_attach(struct socket *so, int proto, int wait)
sys/net/rtsock.c
200
soassertlocked(so);
sys/net/rtsock.c
202
error = soreserve(so, ROUTESNDQ, ROUTERCVQ);
sys/net/rtsock.c
214
so->so_pcb = rop;
sys/net/rtsock.c
216
timeout_set_flags(&rop->rop_timeout, rtm_senddesync_timer, so,
sys/net/rtsock.c
219
rop->rop_socket = so;
sys/net/rtsock.c
224
soisconnected(so);
sys/net/rtsock.c
225
so->so_options |= SO_USELOOPBACK;
sys/net/rtsock.c
228
sounlock(so);
sys/net/rtsock.c
235
solock(so);
sys/net/rtsock.c
241
route_detach(struct socket *so)
sys/net/rtsock.c
245
soassertlocked(so);
sys/net/rtsock.c
247
rop = sotortpcb(so);
sys/net/rtsock.c
252
sounlock(so);
sys/net/rtsock.c
262
solock(so);
sys/net/rtsock.c
264
so->so_pcb = NULL;
sys/net/rtsock.c
265
KASSERT((so->so_state & SS_NOFDREF) == 0);
sys/net/rtsock.c
272
route_disconnect(struct socket *so)
sys/net/rtsock.c
274
soisdisconnected(so);
sys/net/rtsock.c
279
route_shutdown(struct socket *so)
sys/net/rtsock.c
281
socantsendmore(so);
sys/net/rtsock.c
286
route_rcvd(struct socket *so)
sys/net/rtsock.c
288
struct rtpcb *rop = sotortpcb(so);
sys/net/rtsock.c
290
soassertlocked(so);
sys/net/rtsock.c
297
mtx_enter(&so->so_rcv.sb_mtx);
sys/net/rtsock.c
299
((sbspace_locked(&so->so_rcv) == so->so_rcv.sb_hiwat)))
sys/net/rtsock.c
301
mtx_leave(&so->so_rcv.sb_mtx);
sys/net/rtsock.c
305
route_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/net/rtsock.c
310
soassertlocked(so);
sys/net/rtsock.c
322
error = route_output(m, so);
sys/net/rtsock.c
333
route_sockaddr(struct socket *so, struct mbuf *nam)
sys/net/rtsock.c
339
route_peeraddr(struct socket *so, struct mbuf *nam)
sys/net/rtsock.c
348
route_ctloutput(int op, struct socket *so, int level, int optname,
sys/net/rtsock.c
351
struct rtpcb *rop = sotortpcb(so);
sys/net/rtsock.c
429
struct socket *so = xso;
sys/net/rtsock.c
431
solock(so);
sys/net/rtsock.c
432
rtm_senddesync(so);
sys/net/rtsock.c
433
sounlock(so);
sys/net/rtsock.c
437
rtm_senddesync(struct socket *so)
sys/net/rtsock.c
439
struct rtpcb *rop = sotortpcb(so);
sys/net/rtsock.c
442
soassertlocked(so);
sys/net/rtsock.c
449
if ((so->so_state & SS_ISCONNECTED) == 0 ||
sys/net/rtsock.c
450
(so->so_rcv.sb_state & SS_CANTRCVMORE))
sys/net/rtsock.c
465
mtx_enter(&so->so_rcv.sb_mtx);
sys/net/rtsock.c
466
ret = sbappendaddr(&so->so_rcv, &route_src, desync_mbuf, NULL);
sys/net/rtsock.c
467
mtx_leave(&so->so_rcv.sb_mtx);
sys/net/rtsock.c
483
struct socket *so;
sys/net/rtsock.c
506
so = rop->rop_socket;
sys/net/rtsock.c
507
solock(so);
sys/net/rtsock.c
513
if ((so0 == so && !(so0->so_options & SO_USELOOPBACK)) ||
sys/net/rtsock.c
514
!(so->so_state & SS_ISCONNECTED) ||
sys/net/rtsock.c
515
(so->so_rcv.sb_state & SS_CANTRCVMORE))
sys/net/rtsock.c
562
rtm_sendup(so, m);
sys/net/rtsock.c
564
sounlock(so);
sys/net/rtsock.c
572
rtm_sendup(struct socket *so, struct mbuf *m0)
sys/net/rtsock.c
574
struct rtpcb *rop = sotortpcb(so);
sys/net/rtsock.c
578
soassertlocked(so);
sys/net/rtsock.c
584
mtx_enter(&so->so_rcv.sb_mtx);
sys/net/rtsock.c
585
if (sbspace_locked(&so->so_rcv) < (2 * MSIZE) ||
sys/net/rtsock.c
586
sbappendaddr(&so->so_rcv, &route_src, m, NULL) == 0)
sys/net/rtsock.c
588
mtx_leave(&so->so_rcv.sb_mtx);
sys/net/rtsock.c
593
rtm_senddesync(so);
sys/net/rtsock.c
598
sorwakeup(so);
sys/net/rtsock.c
676
route_output(struct mbuf *m, struct socket *so)
sys/net/rtsock.c
693
useloopback = so->so_options & SO_USELOOPBACK;
sys/net/rtsock.c
700
sounlock(so);
sys/net/rtsock.c
893
route_input(m, so, info.rti_info[RTAX_DST] ?
sys/net/rtsock.c
895
solock(so);
sys/net/rtsock.c
901
solock(so);
sys/netinet/in.c
219
in_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp)
sys/netinet/in.c
224
if ((so->so_state & SS_PRIV) != 0)
sys/netinet/in.c
231
return mrt_ioctl(so, cmd, data);
sys/netinet/in_pcb.c
233
in_pcballoc(struct socket *so, struct inpcbtable *table, int wait)
sys/netinet/in_pcb.c
242
inp->inp_socket = soref(so);
sys/netinet/in_pcb.c
251
switch (so->so_proto->pr_domain->dom_family) {
sys/netinet/in_pcb.c
259
unhandled_af(so->so_proto->pr_domain->dom_family);
sys/netinet/in_pcb.c
271
so->so_pcb = inp;
sys/netinet/in_pcb.c
280
struct socket *so = inp->inp_socket;
sys/netinet/in_pcb.c
288
if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) == 0 &&
sys/netinet/in_pcb.c
289
((so->so_proto->pr_flags & PR_CONNREQUIRED) == 0 ||
sys/netinet/in_pcb.c
290
(so->so_options & SO_ACCEPTCONN) == 0))
sys/netinet/in_pcb.c
333
if (in_rootonly(ntohs(lport), so->so_proto->pr_protocol) &&
sys/netinet/in_pcb.c
369
struct socket *so = inp->inp_socket;
sys/netinet/in_pcb.c
372
int reuseport = (so->so_options & SO_REUSEPORT);
sys/netinet/in_pcb.c
382
if (so->so_options & (SO_REUSEADDR|SO_REUSEPORT))
sys/netinet/in_pcb.c
393
if (!ISSET(so->so_options, SO_BINDANY) &&
sys/netinet/in_pcb.c
394
!(so->so_type == SOCK_DGRAM &&
sys/netinet/in_pcb.c
396
!(so->so_type == SOCK_DGRAM &&
sys/netinet/in_pcb.c
413
if (so->so_euid && !IN_MULTICAST(sin->sin_addr.s_addr)) {
sys/netinet/in_pcb.c
416
if (t && (so->so_euid != t->inp_socket->so_euid))
sys/netinet/in_pcb.c
447
struct socket *so = inp->inp_socket;
sys/netinet/in_pcb.c
491
} while (in_baddynamic(candidate, so->so_proto->pr_protocol));
sys/netinet/in_pcb.c
586
struct socket *so = inp->inp_socket;
sys/netinet/in_pcb.c
589
soassertlocked(so);
sys/netinet/in_pcb.c
591
so->so_pcb = NULL;
sys/netinet/in_pcb.c
592
sofree(so, 1);
sys/netinet/in_pcb.c
624
struct socket *so = inp->inp_socket;
sys/netinet/in_pcb.c
628
if (so == NULL)
sys/netinet/in_pcb.c
630
rw_enter_write(&so->so_lock);
sys/netinet/in_pcb.c
631
if (so->so_pcb == NULL) {
sys/netinet/in_pcb.c
632
rw_exit_write(&so->so_lock);
sys/netinet/in_pcb.c
635
KASSERT(inp->inp_socket == so && sotoinpcb(so) == inp);
sys/netinet/in_pcb.c
636
return so;
sys/netinet/in_pcb.c
640
in_pcbsounlock(struct inpcb *inp, struct socket *so)
sys/netinet/in_pcb.c
642
if (so == NULL)
sys/netinet/in_pcb.c
644
if (inp != NULL && so->so_pcb != NULL)
sys/netinet/in_pcb.c
645
KASSERT(inp->inp_socket == so && sotoinpcb(so) == inp);
sys/netinet/in_pcb.c
646
rw_exit_write(&so->so_lock);
sys/netinet/in_pcb.c
761
in_sockaddr(struct socket *so, struct mbuf *nam)
sys/netinet/in_pcb.c
765
inp = sotoinpcb(so);
sys/netinet/in_pcb.c
772
in_peeraddr(struct socket *so, struct mbuf *nam)
sys/netinet/in_pcb.c
776
inp = sotoinpcb(so);
sys/netinet/in_pcb.c
783
in_flowid(struct socket *so)
sys/netinet/in_pcb.c
787
inp = sotoinpcb(so);
sys/netinet/in_pcb.c
817
struct socket *so;
sys/netinet/in_pcb.c
826
so = in_pcbsolock(inp);
sys/netinet/in_pcb.c
827
if (so != NULL)
sys/netinet/in_pcb.c
829
in_pcbsounlock(inp, so);
sys/netinet/in_pcb.h
261
#define sotoinpcb(so) ((struct inpcb *)(so)->so_pcb)
sys/netinet/ip_divert.c
179
struct socket *so;
sys/netinet/ip_divert.c
232
so = inp->inp_socket;
sys/netinet/ip_divert.c
233
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/ip_divert.c
234
if (sbappendaddr(&so->so_rcv, sintosa(&sin), m, NULL) == 0) {
sys/netinet/ip_divert.c
235
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/ip_divert.c
239
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/ip_divert.c
240
sorwakeup(so);
sys/netinet/ip_divert.c
251
divert_attach(struct socket *so, int proto, int wait)
sys/netinet/ip_divert.c
255
if (so->so_pcb != NULL)
sys/netinet/ip_divert.c
257
if ((so->so_state & SS_PRIV) == 0)
sys/netinet/ip_divert.c
260
error = soreserve(so, atomic_load_int(&divert_sendspace),
sys/netinet/ip_divert.c
264
error = in_pcballoc(so, &divbtable, wait);
sys/netinet/ip_divert.c
268
sotoinpcb(so)->inp_flags |= INP_HDRINCL;
sys/netinet/ip_divert.c
273
divert_detach(struct socket *so)
sys/netinet/ip_divert.c
275
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_divert.c
277
soassertlocked(so);
sys/netinet/ip_divert.c
287
divert_bind(struct socket *so, struct mbuf *addr, struct proc *p)
sys/netinet/ip_divert.c
289
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_divert.c
291
soassertlocked(so);
sys/netinet/ip_divert.c
296
divert_shutdown(struct socket *so)
sys/netinet/ip_divert.c
298
soassertlocked(so);
sys/netinet/ip_divert.c
299
socantsendmore(so);
sys/netinet/ip_divert.c
304
divert_send(struct socket *so, struct mbuf *m, struct mbuf *addr,
sys/netinet/ip_divert.c
307
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_divert.c
309
soassertlocked(so);
sys/netinet/ip_gre.c
107
return rip_send(so, m, nam, control);
sys/netinet/ip_gre.c
72
gre_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/netinet/ip_gre.c
76
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_gre.c
83
if ((so->so_state & SS_ISCONNECTED) != 0)
sys/netinet/ip_mroute.c
1049
add_mfc(struct socket *so, struct mbuf *m)
sys/netinet/ip_mroute.c
1051
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
1085
del_mfc(struct socket *so, struct mbuf *m)
sys/netinet/ip_mroute.c
1087
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
1122
socket_send(struct socket *so, struct mbuf *mm, struct sockaddr_in *src)
sys/netinet/ip_mroute.c
1124
if (so != NULL) {
sys/netinet/ip_mroute.c
1127
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/ip_mroute.c
1128
ret = sbappendaddr(&so->so_rcv, sintosa(src), mm, NULL);
sys/netinet/ip_mroute.c
1129
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/ip_mroute.c
1132
sorwakeup(so);
sys/netinet/ip_mroute.c
186
ip_mrouter_set(struct socket *so, int optname, struct mbuf *m)
sys/netinet/ip_mroute.c
188
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
192
so != ip_mrouter[inp->inp_rtableid])
sys/netinet/ip_mroute.c
197
error = ip_mrouter_init(so, m);
sys/netinet/ip_mroute.c
200
error = ip_mrouter_done(so);
sys/netinet/ip_mroute.c
203
error = add_vif(so, m);
sys/netinet/ip_mroute.c
206
error = del_vif(so, m);
sys/netinet/ip_mroute.c
209
error = add_mfc(so, m);
sys/netinet/ip_mroute.c
212
error = del_mfc(so, m);
sys/netinet/ip_mroute.c
215
error = set_api_config(so, m);
sys/netinet/ip_mroute.c
229
ip_mrouter_get(struct socket *so, int optname, struct mbuf *m)
sys/netinet/ip_mroute.c
231
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
234
if (so != ip_mrouter[inp->inp_rtableid])
sys/netinet/ip_mroute.c
269
mrt_ioctl(struct socket *so, u_long cmd, caddr_t data)
sys/netinet/ip_mroute.c
271
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
279
if (so != ip_mrouter[inp->inp_rtableid])
sys/netinet/ip_mroute.c
577
ip_mrouter_init(struct socket *so, struct mbuf *m)
sys/netinet/ip_mroute.c
579
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
583
if (so->so_type != SOCK_RAW ||
sys/netinet/ip_mroute.c
584
so->so_proto->pr_protocol != IPPROTO_IGMP)
sys/netinet/ip_mroute.c
597
ip_mrouter[rtableid] = so;
sys/netinet/ip_mroute.c
617
ip_mrouter_done(struct socket *so)
sys/netinet/ip_mroute.c
619
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
669
set_api_config(struct socket *so, struct mbuf *m)
sys/netinet/ip_mroute.c
671
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
746
add_vif(struct socket *so, struct mbuf *m)
sys/netinet/ip_mroute.c
748
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_mroute.c
815
del_vif(struct socket *so, struct mbuf *m)
sys/netinet/ip_mroute.c
817
struct inpcb *inp = sotoinpcb(so);
sys/netinet/ip_output.c
866
ip_ctloutput(int op, struct socket *so, int level, int optname,
sys/netinet/ip_output.c
869
struct inpcb *inp = sotoinpcb(so);
sys/netinet/raw_ip.c
235
struct socket *so = inp->inp_socket;
sys/netinet/raw_ip.c
239
if (inp->inp_flags & INP_CONTROLOPTS || so->so_options & SO_TIMESTAMP)
sys/netinet/raw_ip.c
242
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/raw_ip.c
244
ret = sbappendaddr(&so->so_rcv, sintosa(ripsrc), m, opts);
sys/netinet/raw_ip.c
245
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/raw_ip.c
252
sorwakeup(so);
sys/netinet/raw_ip.c
260
rip_output(struct mbuf *m, struct socket *so, struct sockaddr *dstaddr,
sys/netinet/raw_ip.c
268
inp = sotoinpcb(so);
sys/netinet/raw_ip.c
415
rip_ctloutput(int op, struct socket *so, int level, int optname,
sys/netinet/raw_ip.c
418
struct inpcb *inp = sotoinpcb(so);
sys/netinet/raw_ip.c
454
error = ip_mrouter_set(so, optname, m);
sys/netinet/raw_ip.c
457
error = ip_mrouter_get(so, optname, m);
sys/netinet/raw_ip.c
468
return (ip_ctloutput(op, so, level, optname, m));
sys/netinet/raw_ip.c
475
rip_attach(struct socket *so, int proto, int wait)
sys/netinet/raw_ip.c
480
if (so->so_pcb)
sys/netinet/raw_ip.c
482
if ((so->so_state & SS_PRIV) == 0)
sys/netinet/raw_ip.c
487
if ((error = soreserve(so, rip_sendspace, rip_recvspace)))
sys/netinet/raw_ip.c
489
if ((error = in_pcballoc(so, &rawcbtable, wait)))
sys/netinet/raw_ip.c
491
inp = sotoinpcb(so);
sys/netinet/raw_ip.c
497
rip_detach(struct socket *so)
sys/netinet/raw_ip.c
499
struct inpcb *inp = sotoinpcb(so);
sys/netinet/raw_ip.c
501
soassertlocked(so);
sys/netinet/raw_ip.c
507
if (so == ip_mrouter[inp->inp_rtableid])
sys/netinet/raw_ip.c
508
ip_mrouter_done(so);
sys/netinet/raw_ip.c
516
rip_bind(struct socket *so, struct mbuf *nam, struct proc *p)
sys/netinet/raw_ip.c
518
struct inpcb *inp = sotoinpcb(so);
sys/netinet/raw_ip.c
522
soassertlocked(so);
sys/netinet/raw_ip.c
527
if (!((so->so_options & SO_BINDANY) ||
sys/netinet/raw_ip.c
542
rip_connect(struct socket *so, struct mbuf *nam)
sys/netinet/raw_ip.c
544
struct inpcb *inp = sotoinpcb(so);
sys/netinet/raw_ip.c
548
soassertlocked(so);
sys/netinet/raw_ip.c
556
soisconnected(so);
sys/netinet/raw_ip.c
562
rip_disconnect(struct socket *so)
sys/netinet/raw_ip.c
564
struct inpcb *inp = sotoinpcb(so);
sys/netinet/raw_ip.c
566
soassertlocked(so);
sys/netinet/raw_ip.c
568
if ((so->so_state & SS_ISCONNECTED) == 0)
sys/netinet/raw_ip.c
571
soisdisconnected(so);
sys/netinet/raw_ip.c
580
rip_shutdown(struct socket *so)
sys/netinet/raw_ip.c
586
soassertlocked(so);
sys/netinet/raw_ip.c
587
socantsendmore(so);
sys/netinet/raw_ip.c
593
rip_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/netinet/raw_ip.c
596
struct inpcb *inp = sotoinpcb(so);
sys/netinet/raw_ip.c
600
soassertlocked(so);
sys/netinet/raw_ip.c
609
if (so->so_state & SS_ISCONNECTED) {
sys/netinet/raw_ip.c
629
error = rip_output(m, so, sintosa(&dst), NULL);
sys/netinet/tcp_input.c
1002
if (sb_notify(&so->so_snd))
sys/netinet/tcp_input.c
1003
sowwakeup(so);
sys/netinet/tcp_input.c
1004
if (so->so_snd.sb_cc ||
sys/netinet/tcp_input.c
1008
*solocked = so;
sys/netinet/tcp_input.c
1010
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
1016
tlen <= sbspace(&so->so_rcv)) {
sys/netinet/tcp_input.c
1038
if (so->so_rcv.sb_state & SS_CANTRCVMORE)
sys/netinet/tcp_input.c
1051
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
1052
sbappendstream(&so->so_rcv, m);
sys/netinet/tcp_input.c
1053
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
1055
sorwakeup(so);
sys/netinet/tcp_input.c
1059
*solocked = so;
sys/netinet/tcp_input.c
1061
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
1081
win = sbspace(&so->so_rcv);
sys/netinet/tcp_input.c
1175
soisconnected(so);
sys/netinet/tcp_input.c
1253
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
1254
so = NULL;
sys/netinet/tcp_input.c
1342
if ((so->so_state & SS_NOFDREF) &&
sys/netinet/tcp_input.c
1412
so->so_error = ECONNREFUSED;
sys/netinet/tcp_input.c
1419
so->so_error = ECONNRESET;
sys/netinet/tcp_input.c
1462
soisconnected(so);
sys/netinet/tcp_input.c
1730
if (acked > so->so_snd.sb_cc) {
sys/netinet/tcp_input.c
1731
if (tp->snd_wnd > so->so_snd.sb_cc)
sys/netinet/tcp_input.c
1732
tp->snd_wnd -= so->so_snd.sb_cc;
sys/netinet/tcp_input.c
1735
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_input.c
1736
sbdrop(&so->so_snd, (int)so->so_snd.sb_cc);
sys/netinet/tcp_input.c
1737
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_input.c
1740
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_input.c
1741
sbdrop(&so->so_snd, acked);
sys/netinet/tcp_input.c
1742
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_input.c
1751
if (sb_notify(&so->so_snd))
sys/netinet/tcp_input.c
1752
sowwakeup(so);
sys/netinet/tcp_input.c
1795
if (so->so_rcv.sb_state & SS_CANTRCVMORE) {
sys/netinet/tcp_input.c
1798
soisdisconnected(so);
sys/netinet/tcp_input.c
1818
soisdisconnected(so);
sys/netinet/tcp_input.c
1880
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
1881
urgent = th->th_urp + so->so_rcv.sb_cc;
sys/netinet/tcp_input.c
1882
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
1905
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
1906
so->so_oobmark = so->so_rcv.sb_cc +
sys/netinet/tcp_input.c
1908
if (so->so_oobmark == 0)
sys/netinet/tcp_input.c
1909
so->so_rcv.sb_state |= SS_RCVATMARK;
sys/netinet/tcp_input.c
1910
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
1911
sohasoutofband(so);
sys/netinet/tcp_input.c
1921
(so->so_options & SO_OOBINLINE) == 0)
sys/netinet/tcp_input.c
1922
tcp_pulloutofband(so, th->th_urp, m, hdroptlen);
sys/netinet/tcp_input.c
1952
if (so->so_rcv.sb_state & SS_CANTRCVMORE)
sys/netinet/tcp_input.c
1956
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
1957
sbappendstream(&so->so_rcv, m);
sys/netinet/tcp_input.c
1958
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
1960
sorwakeup(so);
sys/netinet/tcp_input.c
1979
len = so->so_rcv.sb_hiwat - (tp->rcv_adv - tp->rcv_nxt);
sys/netinet/tcp_input.c
1993
socantrcvmore(so);
sys/netinet/tcp_input.c
2023
soisdisconnected(so);
sys/netinet/tcp_input.c
2043
*solocked = so;
sys/netinet/tcp_input.c
2045
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
2076
*solocked = so;
sys/netinet/tcp_input.c
2078
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
2114
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
2126
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
2674
tcp_pulloutofband(struct socket *so, u_int urgent, struct mbuf *m, int off)
sys/netinet/tcp_input.c
2681
struct tcpcb *tp = sototcpcb(so);
sys/netinet/tcp_input.c
296
struct socket *so = tp->t_inpcb->inp_socket;
sys/netinet/tcp_input.c
2988
struct socket *so;
sys/netinet/tcp_input.c
2990
so = tp->t_inpcb->inp_socket;
sys/netinet/tcp_input.c
2997
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_input.c
2998
bufsize = so->so_snd.sb_hiwat;
sys/netinet/tcp_input.c
3000
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_input.c
3008
(void)sbreserve(&so->so_snd, bufsize);
sys/netinet/tcp_input.c
3009
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_input.c
3012
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
3013
bufsize = so->so_rcv.sb_hiwat;
sys/netinet/tcp_input.c
3018
(void)sbreserve(&so->so_rcv, bufsize);
sys/netinet/tcp_input.c
3020
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
317
if (so->so_rcv.sb_state & SS_CANTRCVMORE)
sys/netinet/tcp_input.c
320
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
321
sbappendstream(&so->so_rcv, q->tcpqe_m);
sys/netinet/tcp_input.c
322
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_input.c
327
sorwakeup(so);
sys/netinet/tcp_input.c
3359
struct socket *so;
sys/netinet/tcp_input.c
3392
so = in_pcbsolock(inp);
sys/netinet/tcp_input.c
3393
if (so != NULL) {
sys/netinet/tcp_input.c
3401
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
3506
u_int hlen, u_int tlen, struct socket *so, struct mbuf *m, uint64_t now,
sys/netinet/tcp_input.c
3518
inp = sotoinpcb(so);
sys/netinet/tcp_input.c
3524
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
3538
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
3553
listenso = so;
sys/netinet/tcp_input.c
3556
so = sonewconn(listenso, SS_ISCONNECTED, M_DONTWAIT);
sys/netinet/tcp_input.c
3557
if (so == NULL)
sys/netinet/tcp_input.c
3559
soassertlocked(so);
sys/netinet/tcp_input.c
356
struct socket *so = NULL;
sys/netinet/tcp_input.c
3561
inp = in_pcbref(sotoinpcb(so));
sys/netinet/tcp_input.c
364
nxt = tcp_input_solocked(&m, &off, IPPROTO_TCP, af, &so);
sys/netinet/tcp_input.c
3673
return (so);
sys/netinet/tcp_input.c
368
in_pcbsounlock(NULL, so);
sys/netinet/tcp_input.c
3681
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
3779
u_int iphlen, struct socket *so, struct mbuf *m, u_char *optp, int optlen,
sys/netinet/tcp_input.c
3789
soassertlocked(so);
sys/netinet/tcp_input.c
3791
tp = sototcpcb(so);
sys/netinet/tcp_input.c
3802
win = sbspace(&so->so_rcv);
sys/netinet/tcp_input.c
3822
sotoinpcb(so)->inp_rtableid, now))
sys/netinet/tcp_input.c
3843
sc = syn_cache_lookup(src, dst, &scp, sotoinpcb(so)->inp_rtableid);
sys/netinet/tcp_input.c
388
struct socket *so = NULL;
sys/netinet/tcp_input.c
3881
sc->sc_rtableid = sotoinpcb(so)->inp_rtableid;
sys/netinet/tcp_input.c
634
so = *solocked;
sys/netinet/tcp_input.c
641
so = in_pcbsolock(inp);
sys/netinet/tcp_input.c
643
if (so == NULL) {
sys/netinet/tcp_input.c
678
if (so->so_options & (SO_DEBUG|SO_ACCEPTCONN)) {
sys/netinet/tcp_input.c
711
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_input.c
727
if (so->so_options & SO_ACCEPTCONN) {
sys/netinet/tcp_input.c
747
so = syn_cache_get(&src.sa, &dst.sa,
sys/netinet/tcp_input.c
748
th, iphlen, tlen, so, m, now, do_ecn);
sys/netinet/tcp_input.c
749
if (so == NULL) {
sys/netinet/tcp_input.c
755
} else if (so == (struct socket *)(-1)) {
sys/netinet/tcp_input.c
766
so = NULL;
sys/netinet/tcp_input.c
776
inp = sotoinpcb(so);
sys/netinet/tcp_input.c
825
if (so->so_qlen > so->so_qlimit ||
sys/netinet/tcp_input.c
827
so, m, optp, optlen, &opti, reuse, now,
sys/netinet/tcp_input.c
833
*solocked = so;
sys/netinet/tcp_input.c
835
in_pcbsounlock(inp, so);
sys/netinet/tcp_input.c
952
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_input.c
953
sbdrop(&so->so_snd, acked);
sys/netinet/tcp_input.c
954
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_output.c
1015
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_output.c
188
struct socket *so = tp->t_inpcb->inp_socket;
sys/netinet/tcp_output.c
216
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_output.c
217
doing_sosend = soissending(so);
sys/netinet/tcp_output.c
218
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_output.c
300
if (off < so->so_snd.sb_cc)
sys/netinet/tcp_output.c
310
len = ulmin(so->so_snd.sb_cc, win) - off;
sys/netinet/tcp_output.c
340
txmaxseg = ulmin(so->so_snd.sb_hiwat / 2, tp->t_maxseg);
sys/netinet/tcp_output.c
363
if (off + len < so->so_snd.sb_cc)
sys/netinet/tcp_output.c
366
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_output.c
367
win = sbspace_locked(&so->so_rcv);
sys/netinet/tcp_output.c
368
rcv_hiwat = (long) so->so_rcv.sb_hiwat;
sys/netinet/tcp_output.c
369
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_output.c
385
len + off >= so->so_snd.sb_cc && !doing_sosend &&
sys/netinet/tcp_output.c
471
if (so->so_snd.sb_cc && TCP_TIMER_ISARMED(tp, TCPT_REXMT) == 0 &&
sys/netinet/tcp_output.c
684
m_copydata(so->so_snd.sb_mb, off, (int) len,
sys/netinet/tcp_output.c
688
m->m_next = m_copym(so->so_snd.sb_mb, off, (int) len,
sys/netinet/tcp_output.c
696
if (so->so_snd.sb_mb->m_flags & M_PKTHDR)
sys/netinet/tcp_output.c
698
so->so_snd.sb_mb->m_pkthdr.ph_loopcnt;
sys/netinet/tcp_output.c
705
if (off + len == so->so_snd.sb_cc && !doing_sosend)
sys/netinet/tcp_output.c
981
if (len == 0 && so->so_snd.sb_cc &&
sys/netinet/tcp_subr.c
307
struct socket *so = tp->t_inpcb->inp_socket;
sys/netinet/tcp_subr.c
308
win = sbspace(&so->so_rcv);
sys/netinet/tcp_subr.c
484
struct socket *so = tp->t_inpcb->inp_socket;
sys/netinet/tcp_subr.c
494
so->so_error = errno;
sys/netinet/tcp_subr.c
508
struct socket *so = inp->inp_socket;
sys/netinet/tcp_subr.c
528
soisdisconnected(so);
sys/netinet/tcp_subr.c
571
struct socket *so = inp->inp_socket;
sys/netinet/tcp_subr.c
573
soassertlocked(so);
sys/netinet/tcp_subr.c
588
so->so_error = error;
sys/netinet/tcp_subr.c
591
wakeup((caddr_t) &so->so_timeo);
sys/netinet/tcp_subr.c
592
sorwakeup(so);
sys/netinet/tcp_subr.c
593
sowwakeup(so);
sys/netinet/tcp_subr.c
653
struct socket *so = NULL;
sys/netinet/tcp_subr.c
689
so = in_pcbsolock(inp);
sys/netinet/tcp_subr.c
690
if (so != NULL)
sys/netinet/tcp_subr.c
699
in_pcbsounlock(inp, so);
sys/netinet/tcp_subr.c
746
struct socket *so = NULL;
sys/netinet/tcp_subr.c
759
so = in_pcbsolock(inp);
sys/netinet/tcp_subr.c
760
if (so != NULL)
sys/netinet/tcp_subr.c
776
in_pcbsounlock(inp, so);
sys/netinet/tcp_subr.c
797
in_pcbsounlock(inp, so);
sys/netinet/tcp_subr.c
807
in_pcbsounlock(inp, so);
sys/netinet/tcp_subr.c
813
in_pcbsounlock(inp, so);
sys/netinet/tcp_subr.c
817
in_pcbsounlock(inp, so);
sys/netinet/tcp_subr.c
829
struct socket *so = NULL;
sys/netinet/tcp_subr.c
837
so = in_pcbsolock(inp);
sys/netinet/tcp_subr.c
838
if (so != NULL)
sys/netinet/tcp_subr.c
846
in_pcbsounlock(inp, so);
sys/netinet/tcp_timer.c
108
tcp_timer_leave(struct inpcb *inp, struct socket *so)
sys/netinet/tcp_timer.c
110
in_pcbsounlock(inp, so);
sys/netinet/tcp_timer.c
122
struct socket *so;
sys/netinet/tcp_timer.c
131
if (tcp_timer_enter(inp, &so, &tp, TCPT_DELACK))
sys/netinet/tcp_timer.c
134
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_timer.c
143
tcp_timer_leave(inp, so);
sys/netinet/tcp_timer.c
202
struct socket *so;
sys/netinet/tcp_timer.c
207
if (tcp_timer_enter(inp, &so, &tp, TCPT_REXMT))
sys/netinet/tcp_timer.c
238
in_pcbsounlock(inp, so);
sys/netinet/tcp_timer.c
257
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_timer.c
284
if (!READ_ONCE(so->so_snd.sb_cc))
sys/netinet/tcp_timer.c
399
tcp_timer_leave(inp, so);
sys/netinet/tcp_timer.c
406
struct socket *so;
sys/netinet/tcp_timer.c
412
if (tcp_timer_enter(inp, &so, &tp, TCPT_PERSIST))
sys/netinet/tcp_timer.c
418
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_timer.c
448
tcp_timer_leave(inp, so);
sys/netinet/tcp_timer.c
455
struct socket *so;
sys/netinet/tcp_timer.c
459
if (tcp_timer_enter(inp, &so, &tp, TCPT_KEEP))
sys/netinet/tcp_timer.c
462
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_timer.c
473
so->so_options & SO_KEEPALIVE) &&
sys/netinet/tcp_timer.c
509
tcp_timer_leave(inp, so);
sys/netinet/tcp_timer.c
516
struct socket *so;
sys/netinet/tcp_timer.c
522
if (tcp_timer_enter(inp, &so, &tp, TCPT_2MSL))
sys/netinet/tcp_timer.c
525
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_timer.c
542
tcp_timer_leave(inp, so);
sys/netinet/tcp_timer.c
86
tcp_timer_enter(struct inpcb *inp, struct socket **so, struct tcpcb **tp,
sys/netinet/tcp_timer.c
92
*so = in_pcbsolock(inp);
sys/netinet/tcp_timer.c
93
if (*so == NULL) {
sys/netinet/tcp_usrreq.c
1007
tcp_sockaddr(struct socket *so, struct mbuf *nam)
sys/netinet/tcp_usrreq.c
1013
soassertlocked(so);
sys/netinet/tcp_usrreq.c
1015
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
1020
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
1027
tcp_peeraddr(struct socket *so, struct mbuf *nam)
sys/netinet/tcp_usrreq.c
1033
soassertlocked(so);
sys/netinet/tcp_usrreq.c
1035
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
1040
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
1056
struct socket *so = tp->t_inpcb->inp_socket;
sys/netinet/tcp_usrreq.c
1060
else if ((so->so_options & SO_LINGER) && so->so_linger == 0)
sys/netinet/tcp_usrreq.c
1063
soisdisconnecting(so);
sys/netinet/tcp_usrreq.c
1064
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_usrreq.c
1065
sbflush(&so->so_rcv);
sys/netinet/tcp_usrreq.c
1066
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_usrreq.c
1135
struct socket *so = NULL;
sys/netinet/tcp_usrreq.c
1217
so = in_pcbsolock(inp);
sys/netinet/tcp_usrreq.c
1218
if (so != NULL)
sys/netinet/tcp_usrreq.c
1221
if (tp != NULL && !ISSET(so->so_options, SO_ACCEPTCONN))
sys/netinet/tcp_usrreq.c
1226
in_pcbsounlock(inp, so);
sys/netinet/tcp_usrreq.c
1249
so = in_pcbsolock(inp);
sys/netinet/tcp_usrreq.c
1251
if (so != NULL && ISSET(so->so_state, SS_CONNECTOUT)) {
sys/netinet/tcp_usrreq.c
1252
tir.ruid = so->so_ruid;
sys/netinet/tcp_usrreq.c
1253
tir.euid = so->so_euid;
sys/netinet/tcp_usrreq.c
1259
in_pcbsounlock(inp, so);
sys/netinet/tcp_usrreq.c
1572
struct socket *so = tp->t_inpcb->inp_socket;
sys/netinet/tcp_usrreq.c
1575
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
1577
nmax = so->so_snd.sb_hiwat;
sys/netinet/tcp_usrreq.c
1583
} else if (so->so_snd.sb_wat != tcp_sendspace) {
sys/netinet/tcp_usrreq.c
1585
nmax = so->so_snd.sb_wat;
sys/netinet/tcp_usrreq.c
1588
nmax = MIN(sb_max, so->so_snd.sb_wat + tp->snd_max -
sys/netinet/tcp_usrreq.c
1593
if (sbspace_locked(&so->so_snd) >= so->so_snd.sb_lowat) {
sys/netinet/tcp_usrreq.c
1594
if (nmax < so->so_snd.sb_cc + so->so_snd.sb_lowat)
sys/netinet/tcp_usrreq.c
1595
nmax = so->so_snd.sb_cc + so->so_snd.sb_lowat;
sys/netinet/tcp_usrreq.c
1597
if (nmax * 8 < so->so_snd.sb_mbcnt + so->so_snd.sb_lowat)
sys/netinet/tcp_usrreq.c
1598
nmax = (so->so_snd.sb_mbcnt+so->so_snd.sb_lowat+7) / 8;
sys/netinet/tcp_usrreq.c
1604
if (nmax != so->so_snd.sb_hiwat)
sys/netinet/tcp_usrreq.c
1605
sbreserve(&so->so_snd, nmax);
sys/netinet/tcp_usrreq.c
1607
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
1619
struct socket *so = tp->t_inpcb->inp_socket;
sys/netinet/tcp_usrreq.c
1622
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_usrreq.c
1624
nmax = so->so_rcv.sb_hiwat;
sys/netinet/tcp_usrreq.c
1630
} else if (so->so_rcv.sb_wat != tcp_recvspace) {
sys/netinet/tcp_usrreq.c
1632
nmax = so->so_rcv.sb_wat;
sys/netinet/tcp_usrreq.c
1635
if (tp->rfbuf_cnt > so->so_rcv.sb_hiwat / 8 * 7)
sys/netinet/tcp_usrreq.c
1636
nmax = MIN(sb_max, so->so_rcv.sb_hiwat +
sys/netinet/tcp_usrreq.c
1641
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
1642
if (so->so_rcv.sb_cc >= so->so_rcv.sb_lowat &&
sys/netinet/tcp_usrreq.c
1643
nmax < so->so_snd.sb_lowat)
sys/netinet/tcp_usrreq.c
1644
nmax = so->so_snd.sb_lowat;
sys/netinet/tcp_usrreq.c
1645
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
1647
if (nmax != so->so_rcv.sb_hiwat) {
sys/netinet/tcp_usrreq.c
1650
sbreserve(&so->so_rcv, nmax);
sys/netinet/tcp_usrreq.c
1653
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_usrreq.c
196
tcp_sogetpcb(struct socket *so, struct inpcb **rinp, struct tcpcb **rtp)
sys/netinet/tcp_usrreq.c
206
if ((inp = sotoinpcb(so)) == NULL || (tp = intotcpcb(inp)) == NULL) {
sys/netinet/tcp_usrreq.c
209
if ((error = READ_ONCE(so->so_error)))
sys/netinet/tcp_usrreq.c
226
tcp_fill_info(struct tcpcb *tp, struct socket *so, struct mbuf *m)
sys/netinet/tcp_usrreq.c
307
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/tcp_usrreq.c
308
ti->tcpi_so_rcv_sb_cc = so->so_rcv.sb_cc;
sys/netinet/tcp_usrreq.c
309
ti->tcpi_so_rcv_sb_hiwat = so->so_rcv.sb_hiwat;
sys/netinet/tcp_usrreq.c
310
ti->tcpi_so_rcv_sb_lowat = so->so_rcv.sb_lowat;
sys/netinet/tcp_usrreq.c
311
ti->tcpi_so_rcv_sb_wat = so->so_rcv.sb_wat;
sys/netinet/tcp_usrreq.c
312
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/tcp_usrreq.c
313
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
314
ti->tcpi_so_snd_sb_cc = so->so_snd.sb_cc;
sys/netinet/tcp_usrreq.c
315
ti->tcpi_so_snd_sb_hiwat = so->so_snd.sb_hiwat;
sys/netinet/tcp_usrreq.c
316
ti->tcpi_so_snd_sb_lowat = so->so_snd.sb_lowat;
sys/netinet/tcp_usrreq.c
317
ti->tcpi_so_snd_sb_wat = so->so_snd.sb_wat;
sys/netinet/tcp_usrreq.c
318
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
324
tcp_ctloutput(int op, struct socket *so, int level, int optname,
sys/netinet/tcp_usrreq.c
332
inp = sotoinpcb(so);
sys/netinet/tcp_usrreq.c
338
error = ip6_ctloutput(op, so, level, optname, m);
sys/netinet/tcp_usrreq.c
341
error = ip_ctloutput(op, so, level, optname, m);
sys/netinet/tcp_usrreq.c
450
error = tcp_fill_info(tp, so, m);
sys/netinet/tcp_usrreq.c
473
tcp_attach(struct socket *so, int proto, int wait)
sys/netinet/tcp_usrreq.c
480
if (so->so_pcb)
sys/netinet/tcp_usrreq.c
482
if (so->so_snd.sb_hiwat == 0 || so->so_rcv.sb_hiwat == 0 ||
sys/netinet/tcp_usrreq.c
483
sbcheckreserve(so->so_snd.sb_wat, tcp_sendspace) ||
sys/netinet/tcp_usrreq.c
484
sbcheckreserve(so->so_rcv.sb_wat, tcp_recvspace)) {
sys/netinet/tcp_usrreq.c
485
error = soreserve(so, tcp_sendspace, tcp_recvspace);
sys/netinet/tcp_usrreq.c
491
if (so->so_proto->pr_domain->dom_family == PF_INET6)
sys/netinet/tcp_usrreq.c
496
error = in_pcballoc(so, table, wait);
sys/netinet/tcp_usrreq.c
499
inp = sotoinpcb(so);
sys/netinet/tcp_usrreq.c
502
unsigned int nofd = so->so_state & SS_NOFDREF; /* XXX */
sys/netinet/tcp_usrreq.c
504
so->so_state &= ~SS_NOFDREF; /* don't free the socket yet */
sys/netinet/tcp_usrreq.c
506
so->so_state |= nofd;
sys/netinet/tcp_usrreq.c
516
if ((so->so_options & SO_LINGER) && so->so_linger == 0)
sys/netinet/tcp_usrreq.c
517
so->so_linger = TCP_LINGERTIME;
sys/netinet/tcp_usrreq.c
519
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
525
tcp_detach(struct socket *so)
sys/netinet/tcp_usrreq.c
532
soassertlocked(so);
sys/netinet/tcp_usrreq.c
534
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
537
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_usrreq.c
560
tcp_bind(struct socket *so, struct mbuf *nam, struct proc *p)
sys/netinet/tcp_usrreq.c
567
soassertlocked(so);
sys/netinet/tcp_usrreq.c
569
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
572
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
577
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
586
tcp_listen(struct socket *so)
sys/netinet/tcp_usrreq.c
593
soassertlocked(so);
sys/netinet/tcp_usrreq.c
595
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
598
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_usrreq.c
627
tcp_connect(struct socket *so, struct mbuf *nam)
sys/netinet/tcp_usrreq.c
634
soassertlocked(so);
sys/netinet/tcp_usrreq.c
636
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
639
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_usrreq.c
682
so->so_state |= SS_CONNECTOUT;
sys/netinet/tcp_usrreq.c
687
soisconnecting(so);
sys/netinet/tcp_usrreq.c
707
tcp_accept(struct socket *so, struct mbuf *nam)
sys/netinet/tcp_usrreq.c
713
soassertlocked(so);
sys/netinet/tcp_usrreq.c
715
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
720
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
737
tcp_disconnect(struct socket *so)
sys/netinet/tcp_usrreq.c
744
soassertlocked(so);
sys/netinet/tcp_usrreq.c
746
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
749
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_usrreq.c
765
tcp_shutdown(struct socket *so)
sys/netinet/tcp_usrreq.c
772
soassertlocked(so);
sys/netinet/tcp_usrreq.c
774
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
777
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_usrreq.c
782
if (so->so_snd.sb_state & SS_CANTSENDMORE)
sys/netinet/tcp_usrreq.c
785
socantsendmore(so);
sys/netinet/tcp_usrreq.c
800
tcp_rcvd(struct socket *so)
sys/netinet/tcp_usrreq.c
806
soassertlocked(so);
sys/netinet/tcp_usrreq.c
808
if (tcp_sogetpcb(so, &inp, &tp))
sys/netinet/tcp_usrreq.c
811
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
821
if ((so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING)) != 0)
sys/netinet/tcp_usrreq.c
824
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
833
tcp_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/netinet/tcp_usrreq.c
841
soassertlocked(so);
sys/netinet/tcp_usrreq.c
848
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
851
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
854
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
855
sbappendstream(&so->so_snd, m);
sys/netinet/tcp_usrreq.c
856
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
861
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
875
tcp_abort(struct socket *so)
sys/netinet/tcp_usrreq.c
881
soassertlocked(so);
sys/netinet/tcp_usrreq.c
883
if (tcp_sogetpcb(so, &inp, &tp))
sys/netinet/tcp_usrreq.c
886
if (so->so_options & SO_DEBUG) {
sys/netinet/tcp_usrreq.c
898
tcp_sense(struct socket *so, struct stat *ub)
sys/netinet/tcp_usrreq.c
904
soassertlocked(so);
sys/netinet/tcp_usrreq.c
906
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
909
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
910
ub->st_blksize = so->so_snd.sb_hiwat;
sys/netinet/tcp_usrreq.c
911
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
913
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
919
tcp_rcvoob(struct socket *so, struct mbuf *m, int flags)
sys/netinet/tcp_usrreq.c
925
soassertlocked(so);
sys/netinet/tcp_usrreq.c
927
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
930
if ((so->so_oobmark == 0 &&
sys/netinet/tcp_usrreq.c
931
(so->so_rcv.sb_state & SS_RCVATMARK) == 0) ||
sys/netinet/tcp_usrreq.c
932
so->so_options & SO_OOBINLINE ||
sys/netinet/tcp_usrreq.c
946
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
952
tcp_sendoob(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/netinet/tcp_usrreq.c
960
soassertlocked(so);
sys/netinet/tcp_usrreq.c
967
if ((error = tcp_sogetpcb(so, &inp, &tp)))
sys/netinet/tcp_usrreq.c
970
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_usrreq.c
973
if (sbspace(&so->so_snd) < -512) {
sys/netinet/tcp_usrreq.c
986
mtx_enter(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
987
sbappendstream(&so->so_snd, m);
sys/netinet/tcp_usrreq.c
988
mtx_leave(&so->so_snd.sb_mtx);
sys/netinet/tcp_usrreq.c
990
tp->snd_up = tp->snd_una + so->so_snd.sb_cc;
sys/netinet/tcp_usrreq.c
996
if (so->so_options & SO_DEBUG)
sys/netinet/tcp_var.h
209
#define sototcpcb(so) (intotcpcb(sotoinpcb(so)))
sys/netinet/udp_usrreq.c
1117
udp_attach(struct socket *so, int proto, int wait)
sys/netinet/udp_usrreq.c
1122
if (so->so_pcb != NULL)
sys/netinet/udp_usrreq.c
1125
if ((error = soreserve(so, atomic_load_int(&udp_sendspace),
sys/netinet/udp_usrreq.c
1130
if (so->so_proto->pr_domain->dom_family == PF_INET6)
sys/netinet/udp_usrreq.c
1135
if ((error = in_pcballoc(so, table, wait)))
sys/netinet/udp_usrreq.c
1138
if (ISSET(sotoinpcb(so)->inp_flags, INP_IPV6))
sys/netinet/udp_usrreq.c
1139
sotoinpcb(so)->inp_ipv6.ip6_hlim =
sys/netinet/udp_usrreq.c
1143
sotoinpcb(so)->inp_ip.ip_ttl = atomic_load_int(&ip_defttl);
sys/netinet/udp_usrreq.c
1148
udp_detach(struct socket *so)
sys/netinet/udp_usrreq.c
1152
soassertlocked(so);
sys/netinet/udp_usrreq.c
1154
inp = sotoinpcb(so);
sys/netinet/udp_usrreq.c
1163
udp_bind(struct socket *so, struct mbuf *addr, struct proc *p)
sys/netinet/udp_usrreq.c
1165
struct inpcb *inp = sotoinpcb(so);
sys/netinet/udp_usrreq.c
1167
soassertlocked(so);
sys/netinet/udp_usrreq.c
1172
udp_connect(struct socket *so, struct mbuf *addr)
sys/netinet/udp_usrreq.c
1174
struct inpcb *inp = sotoinpcb(so);
sys/netinet/udp_usrreq.c
1177
soassertlocked(so);
sys/netinet/udp_usrreq.c
1193
soisconnected(so);
sys/netinet/udp_usrreq.c
1198
udp_disconnect(struct socket *so)
sys/netinet/udp_usrreq.c
1200
struct inpcb *inp = sotoinpcb(so);
sys/netinet/udp_usrreq.c
1202
soassertlocked(so);
sys/netinet/udp_usrreq.c
1216
so->so_state &= ~SS_ISCONNECTED; /* XXX */
sys/netinet/udp_usrreq.c
1222
udp_shutdown(struct socket *so)
sys/netinet/udp_usrreq.c
1224
soassertlocked(so);
sys/netinet/udp_usrreq.c
1225
socantsendmore(so);
sys/netinet/udp_usrreq.c
1230
udp_send(struct socket *so, struct mbuf *m, struct mbuf *addr,
sys/netinet/udp_usrreq.c
1233
struct inpcb *inp = sotoinpcb(so);
sys/netinet/udp_usrreq.c
1235
soassertlocked_readonly(so);
sys/netinet/udp_usrreq.c
654
struct socket *so = inp->inp_socket;
sys/netinet/udp_usrreq.c
668
so->so_options & SO_TIMESTAMP))
sys/netinet/udp_usrreq.c
672
so->so_options & SO_TIMESTAMP))
sys/netinet/udp_usrreq.c
704
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet/udp_usrreq.c
705
if (sbappendaddr(&so->so_rcv, srcaddr, m, opts) == 0) {
sys/netinet/udp_usrreq.c
706
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/udp_usrreq.c
712
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet/udp_usrreq.c
714
sorwakeup(so);
sys/netinet/udp_usrreq.c
912
struct socket *so = NULL;
sys/netinet/udp_usrreq.c
931
so = in_pcbsolock(inp);
sys/netinet/udp_usrreq.c
932
if (so != NULL)
sys/netinet/udp_usrreq.c
934
in_pcbsounlock(inp, so);
sys/netinet6/icmp6.c
1614
icmp6_ctloutput(int op, struct socket *so, int level, int optname,
sys/netinet6/icmp6.c
1618
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/in6.c
195
in6_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp)
sys/netinet6/in6.c
200
if ((so->so_state & SS_PRIV) != 0)
sys/netinet6/in6.c
207
return mrt6_ioctl(so, cmd, data);
sys/netinet6/in6_pcb.c
154
struct socket *so = inp->inp_socket;
sys/netinet6/in6_pcb.c
157
int reuseport = (so->so_options & SO_REUSEPORT);
sys/netinet6/in6_pcb.c
178
if (so->so_options & (SO_REUSEADDR|SO_REUSEPORT))
sys/netinet6/in6_pcb.c
190
if (!(so->so_options & SO_BINDANY) &&
sys/netinet6/in6_pcb.c
217
if (so->so_euid && !IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) {
sys/netinet6/in6_pcb.c
221
if (t && (so->so_euid != t->inp_socket->so_euid))
sys/netinet6/in6_pcb.c
389
in6_sockaddr(struct socket *so, struct mbuf *nam)
sys/netinet6/in6_pcb.c
393
inp = sotoinpcb(so);
sys/netinet6/in6_pcb.c
400
in6_peeraddr(struct socket *so, struct mbuf *nam)
sys/netinet6/in6_pcb.c
404
inp = sotoinpcb(so);
sys/netinet6/in6_pcb.c
477
struct socket *so;
sys/netinet6/in6_pcb.c
545
so = in_pcbsolock(inp);
sys/netinet6/in6_pcb.c
546
if (so != NULL)
sys/netinet6/in6_pcb.c
548
in_pcbsounlock(inp, so);
sys/netinet6/ip6_divert.c
178
struct socket *so;
sys/netinet6/ip6_divert.c
230
so = inp->inp_socket;
sys/netinet6/ip6_divert.c
231
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet6/ip6_divert.c
232
if (sbappendaddr(&so->so_rcv, sin6tosa(&sin6), m, NULL) == 0) {
sys/netinet6/ip6_divert.c
233
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet6/ip6_divert.c
237
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet6/ip6_divert.c
238
sorwakeup(so);
sys/netinet6/ip6_divert.c
249
divert6_attach(struct socket *so, int proto, int wait)
sys/netinet6/ip6_divert.c
253
if (so->so_pcb != NULL)
sys/netinet6/ip6_divert.c
255
if ((so->so_state & SS_PRIV) == 0)
sys/netinet6/ip6_divert.c
258
error = soreserve(so, atomic_load_int(&divert_sendspace),
sys/netinet6/ip6_divert.c
262
error = in_pcballoc(so, &divb6table, wait);
sys/netinet6/ip6_divert.c
270
divert6_send(struct socket *so, struct mbuf *m, struct mbuf *addr,
sys/netinet6/ip6_divert.c
273
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_divert.c
275
soassertlocked(so);
sys/netinet6/ip6_mroute.c
157
ip6_mrouter_set(int cmd, struct socket *so, struct mbuf *m)
sys/netinet6/ip6_mroute.c
159
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
161
if (cmd != MRT6_INIT && so != ip6_mrouter[inp->inp_rtableid])
sys/netinet6/ip6_mroute.c
168
return (ip6_mrouter_init(so, *mtod(m, int *), cmd));
sys/netinet6/ip6_mroute.c
170
return (ip6_mrouter_done(so));
sys/netinet6/ip6_mroute.c
174
return (add_m6if(so, mtod(m, struct mif6ctl *)));
sys/netinet6/ip6_mroute.c
178
return (del_m6if(so, mtod(m, mifi_t *)));
sys/netinet6/ip6_mroute.c
182
return (add_m6fc(so, mtod(m, struct mf6cctl *)));
sys/netinet6/ip6_mroute.c
186
return (del_m6fc(so, mtod(m, struct mf6cctl *)));
sys/netinet6/ip6_mroute.c
196
ip6_mrouter_get(int cmd, struct socket *so, struct mbuf *m)
sys/netinet6/ip6_mroute.c
198
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
200
if (so != ip6_mrouter[inp->inp_rtableid])
sys/netinet6/ip6_mroute.c
222
mrt6_ioctl(struct socket *so, u_long cmd, caddr_t data)
sys/netinet6/ip6_mroute.c
224
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
523
ip6_mrouter_init(struct socket *so, int v, int cmd)
sys/netinet6/ip6_mroute.c
525
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
528
if (so->so_type != SOCK_RAW ||
sys/netinet6/ip6_mroute.c
529
so->so_proto->pr_protocol != IPPROTO_ICMPV6)
sys/netinet6/ip6_mroute.c
538
ip6_mrouter[rtableid] = so;
sys/netinet6/ip6_mroute.c
559
ip6_mrouter_done(struct socket *so)
sys/netinet6/ip6_mroute.c
561
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
620
add_m6if(struct socket *so, struct mif6ctl *mifcp)
sys/netinet6/ip6_mroute.c
622
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
683
del_m6if(struct socket *so, mifi_t *mifip)
sys/netinet6/ip6_mroute.c
685
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
866
add_m6fc(struct socket *so, struct mf6cctl *mfccp)
sys/netinet6/ip6_mroute.c
868
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
879
del_m6fc(struct socket *so, struct mf6cctl *mfccp)
sys/netinet6/ip6_mroute.c
881
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_mroute.c
897
socket6_send(struct socket *so, struct mbuf *mm, struct sockaddr_in6 *src)
sys/netinet6/ip6_mroute.c
899
if (so != NULL) {
sys/netinet6/ip6_mroute.c
902
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet6/ip6_mroute.c
903
ret = sbappendaddr(&so->so_rcv, sin6tosa(src), mm, NULL);
sys/netinet6/ip6_mroute.c
904
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet6/ip6_mroute.c
907
sorwakeup(so);
sys/netinet6/ip6_output.c
1064
ip6_ctloutput(int op, struct socket *so, int level, int optname,
sys/netinet6/ip6_output.c
1069
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_output.c
1077
uproto = (int)so->so_proto->pr_protocol;
sys/netinet6/ip6_output.c
1488
if (!(so->so_state & SS_ISCONNECTED))
sys/netinet6/ip6_output.c
1598
ip6_raw_ctloutput(int op, struct socket *so, int level, int optname,
sys/netinet6/ip6_output.c
1603
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/ip6_output.c
1632
} else if (so->so_proto->pr_protocol ==
sys/netinet6/ip6_output.c
1641
if (so->so_proto->pr_protocol == IPPROTO_ICMPV6)
sys/netinet6/raw_ip6.c
275
struct socket *so = inp->inp_socket;
sys/netinet6/raw_ip6.c
284
mtx_enter(&so->so_rcv.sb_mtx);
sys/netinet6/raw_ip6.c
286
ret = sbappendaddr(&so->so_rcv, sin6tosa(rip6src), m, opts);
sys/netinet6/raw_ip6.c
287
mtx_leave(&so->so_rcv.sb_mtx);
sys/netinet6/raw_ip6.c
294
sorwakeup(so);
sys/netinet6/raw_ip6.c
383
rip6_output(struct mbuf *m, struct socket *so, struct sockaddr *dstaddr,
sys/netinet6/raw_ip6.c
396
inp = sotoinpcb(so);
sys/netinet6/raw_ip6.c
399
if ((so->so_state & SS_PRIV) != 0)
sys/netinet6/raw_ip6.c
404
priv, so->so_proto->pr_protocol)) != 0)
sys/netinet6/raw_ip6.c
424
if (so->so_proto->pr_protocol == IPPROTO_ICMPV6) {
sys/netinet6/raw_ip6.c
476
if (so->so_proto->pr_protocol == IPPROTO_ICMPV6 ||
sys/netinet6/raw_ip6.c
484
if (so->so_proto->pr_protocol == IPPROTO_ICMPV6)
sys/netinet6/raw_ip6.c
514
so->so_proto->pr_protocol != IPPROTO_ICMPV6)
sys/netinet6/raw_ip6.c
520
if (so->so_proto->pr_protocol == IPPROTO_ICMPV6) {
sys/netinet6/raw_ip6.c
542
rip6_ctloutput(int op, struct socket *so, int level, int optname,
sys/netinet6/raw_ip6.c
560
error = ip6_mrouter_set(optname, so, m);
sys/netinet6/raw_ip6.c
562
error = ip6_mrouter_get(optname, so, m);
sys/netinet6/raw_ip6.c
568
return (ip6_raw_ctloutput(op, so, level, optname, m));
sys/netinet6/raw_ip6.c
570
return (ip6_ctloutput(op, so, level, optname, m));
sys/netinet6/raw_ip6.c
578
return (icmp6_ctloutput(op, so, level, optname, m));
sys/netinet6/raw_ip6.c
589
rip6_attach(struct socket *so, int proto, int wait)
sys/netinet6/raw_ip6.c
594
if (so->so_pcb)
sys/netinet6/raw_ip6.c
596
if ((so->so_state & SS_PRIV) == 0)
sys/netinet6/raw_ip6.c
601
if ((error = soreserve(so, rip6_sendspace, rip6_recvspace)))
sys/netinet6/raw_ip6.c
603
if ((error = in_pcballoc(so, &rawin6pcbtable, wait)))
sys/netinet6/raw_ip6.c
606
inp = sotoinpcb(so);
sys/netinet6/raw_ip6.c
621
rip6_detach(struct socket *so)
sys/netinet6/raw_ip6.c
623
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/raw_ip6.c
625
soassertlocked(so);
sys/netinet6/raw_ip6.c
630
if (so == ip6_mrouter[inp->inp_rtableid])
sys/netinet6/raw_ip6.c
631
ip6_mrouter_done(so);
sys/netinet6/raw_ip6.c
642
rip6_bind(struct socket *so, struct mbuf *nam, struct proc *p)
sys/netinet6/raw_ip6.c
644
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/raw_ip6.c
648
soassertlocked(so);
sys/netinet6/raw_ip6.c
670
rip6_connect(struct socket *so, struct mbuf *nam)
sys/netinet6/raw_ip6.c
672
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/raw_ip6.c
677
soassertlocked(so);
sys/netinet6/raw_ip6.c
691
soisconnected(so);
sys/netinet6/raw_ip6.c
697
rip6_disconnect(struct socket *so)
sys/netinet6/raw_ip6.c
699
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/raw_ip6.c
701
soassertlocked(so);
sys/netinet6/raw_ip6.c
703
if ((so->so_state & SS_ISCONNECTED) == 0)
sys/netinet6/raw_ip6.c
706
soisdisconnected(so);
sys/netinet6/raw_ip6.c
715
rip6_shutdown(struct socket *so)
sys/netinet6/raw_ip6.c
720
soassertlocked(so);
sys/netinet6/raw_ip6.c
721
socantsendmore(so);
sys/netinet6/raw_ip6.c
726
rip6_send(struct socket *so, struct mbuf *m, struct mbuf *nam,
sys/netinet6/raw_ip6.c
729
struct inpcb *inp = sotoinpcb(so);
sys/netinet6/raw_ip6.c
733
soassertlocked(so);
sys/netinet6/raw_ip6.c
744
if (so->so_state & SS_ISCONNECTED) {
sys/netinet6/raw_ip6.c
762
error = rip6_output(m, so, sin6tosa(&dst), control);
sys/nfs/krpc_subr.c
204
struct socket *so;
sys/nfs/krpc_subr.c
230
if ((error = socreate(AF_INET, &so, SOCK_DGRAM, 0)))
sys/nfs/krpc_subr.c
238
error = sosetopt(so, SOL_SOCKET, SO_RCVTIMEO, m);
sys/nfs/krpc_subr.c
252
error = sosetopt(so, SOL_SOCKET, SO_BROADCAST, m);
sys/nfs/krpc_subr.c
267
error = sosetopt(so, IPPROTO_IP, IP_PORTRANGE, mopt);
sys/nfs/krpc_subr.c
279
solock_shared(so);
sys/nfs/krpc_subr.c
280
error = sobind(so, m, &proc0);
sys/nfs/krpc_subr.c
281
sounlock_shared(so);
sys/nfs/krpc_subr.c
292
error = sosetopt(so, IPPROTO_IP, IP_PORTRANGE, mopt);
sys/nfs/krpc_subr.c
345
error = sosend(so, nam, NULL, m, NULL, 0);
sys/nfs/krpc_subr.c
376
error = soreceive(so, &from, &auio, &m, NULL, &rcvflg,
sys/nfs/krpc_subr.c
467
soclose(so, 0);
sys/nfs/nfs_boot.c
120
struct socket *so;
sys/nfs/nfs_boot.c
150
if ((error = socreate(AF_INET, &so, SOCK_DGRAM, 0)) != 0)
sys/nfs/nfs_boot.c
152
error = ifioctl(so, SIOCGIFFLAGS, (caddr_t)&ireq, procp);
sys/nfs/nfs_boot.c
156
error = ifioctl(so, SIOCSIFFLAGS, (caddr_t)&ireq, procp);
sys/nfs/nfs_boot.c
179
error = ifioctl(so, SIOCAIFADDR, (caddr_t)&ifra, procp);
sys/nfs/nfs_boot.c
183
soclose(so, 0);
sys/nfs/nfs_socket.c
1149
struct socket *so;
sys/nfs/nfs_socket.c
1190
if ((so = nmp->nm_so) == NULL)
sys/nfs/nfs_socket.c
1199
if (sbspace(&so->so_snd) >= rep->r_mreq->m_pkthdr.len &&
sys/nfs/nfs_socket.c
1205
error = pru_send(so, m, NULL, NULL);
sys/nfs/nfs_socket.c
1207
error = pru_send(so, m, nmp->nm_nam, NULL);
sys/nfs/nfs_socket.c
1210
so->so_error = 0;
sys/nfs/nfs_socket.c
1591
nfsrv_rcv(struct socket *so, caddr_t arg, int waitflag)
sys/nfs/nfs_socket.c
1611
if (so->so_type == SOCK_STREAM) {
sys/nfs/nfs_socket.c
1617
error = soreceive(so, NULL, &auio, &mp, NULL,
sys/nfs/nfs_socket.c
1652
error = soreceive(so, &nam, &auio, &mp,
sys/nfs/nfs_socket.c
1665
if ((so->so_proto->pr_flags & PR_CONNREQUIRED)
sys/nfs/nfs_socket.c
236
struct socket *so;
sys/nfs/nfs_socket.c
260
so = nmp->nm_so;
sys/nfs/nfs_socket.c
261
nmp->nm_soflags = so->so_proto->pr_flags;
sys/nfs/nfs_socket.c
274
error = sosetopt(so, IPPROTO_IP, IP_PORTRANGE, mopt);
sys/nfs/nfs_socket.c
284
solock_shared(so);
sys/nfs/nfs_socket.c
285
error = sobind(so, nam, &proc0);
sys/nfs/nfs_socket.c
286
sounlock_shared(so);
sys/nfs/nfs_socket.c
293
error = sosetopt(so, IPPROTO_IP, IP_PORTRANGE, mopt);
sys/nfs/nfs_socket.c
308
solock_shared(so);
sys/nfs/nfs_socket.c
309
error = soconnect(so, nmp->nm_nam);
sys/nfs/nfs_socket.c
318
while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) {
sys/nfs/nfs_socket.c
319
sosleep_nsec(so, &so->so_timeo, PSOCK, "nfscon",
sys/nfs/nfs_socket.c
321
if ((so->so_state & SS_ISCONNECTING) &&
sys/nfs/nfs_socket.c
322
so->so_error == 0 && rep &&
sys/nfs/nfs_socket.c
324
so->so_state &= ~SS_ISCONNECTING;
sys/nfs/nfs_socket.c
328
if (so->so_error) {
sys/nfs/nfs_socket.c
329
error = so->so_error;
sys/nfs/nfs_socket.c
330
so->so_error = 0;
sys/nfs/nfs_socket.c
333
sounlock_shared(so);
sys/nfs/nfs_socket.c
339
mtx_enter(&so->so_rcv.sb_mtx);
sys/nfs/nfs_socket.c
340
so->so_rcv.sb_timeo_nsecs = SEC_TO_NSEC(5);
sys/nfs/nfs_socket.c
341
mtx_leave(&so->so_rcv.sb_mtx);
sys/nfs/nfs_socket.c
342
mtx_enter(&so->so_snd.sb_mtx);
sys/nfs/nfs_socket.c
344
so->so_snd.sb_timeo_nsecs = SEC_TO_NSEC(5);
sys/nfs/nfs_socket.c
346
so->so_snd.sb_timeo_nsecs = INFSLP;
sys/nfs/nfs_socket.c
347
mtx_leave(&so->so_snd.sb_mtx);
sys/nfs/nfs_socket.c
353
if (so->so_proto->pr_flags & PR_CONNREQUIRED) {
sys/nfs/nfs_socket.c
356
sosetopt(so, SOL_SOCKET, SO_KEEPALIVE, mopt);
sys/nfs/nfs_socket.c
358
if (so->so_proto->pr_protocol == IPPROTO_TCP) {
sys/nfs/nfs_socket.c
361
sosetopt(so, IPPROTO_TCP, TCP_NODELAY, mopt);
sys/nfs/nfs_socket.c
370
solock_shared(so);
sys/nfs/nfs_socket.c
371
error = soreserve(so, sndreserve, rcvreserve);
sys/nfs/nfs_socket.c
374
mtx_enter(&so->so_rcv.sb_mtx);
sys/nfs/nfs_socket.c
375
so->so_rcv.sb_flags |= SB_NOINTR;
sys/nfs/nfs_socket.c
376
mtx_leave(&so->so_rcv.sb_mtx);
sys/nfs/nfs_socket.c
377
mtx_enter(&so->so_snd.sb_mtx);
sys/nfs/nfs_socket.c
378
so->so_snd.sb_flags |= SB_NOINTR;
sys/nfs/nfs_socket.c
379
mtx_leave(&so->so_snd.sb_mtx);
sys/nfs/nfs_socket.c
380
sounlock_shared(so);
sys/nfs/nfs_socket.c
393
sounlock_shared(so);
sys/nfs/nfs_socket.c
443
struct socket *so;
sys/nfs/nfs_socket.c
446
so = nmp->nm_so;
sys/nfs/nfs_socket.c
448
soshutdown(so, SHUT_RDWR);
sys/nfs/nfs_socket.c
449
soclose(so, 0);
sys/nfs/nfs_socket.c
467
nfs_send(struct socket *so, struct mbuf *nam, struct mbuf *top,
sys/nfs/nfs_socket.c
478
if ((so = rep->r_nmp->nm_so) == NULL) {
sys/nfs/nfs_socket.c
486
soflags = so->so_proto->pr_flags;
sys/nfs/nfs_socket.c
487
if ((soflags & PR_CONNREQUIRED) || (so->so_state & SS_ISCONNECTED))
sys/nfs/nfs_socket.c
493
error = sosend(so, sendnam, NULL, top, NULL, flags);
sys/nfs/nfs_socket.c
528
struct socket *so;
sys/nfs/nfs_socket.c
571
so = rep->r_nmp->nm_so;
sys/nfs/nfs_socket.c
572
if (!so) {
sys/nfs/nfs_socket.c
585
error = nfs_send(so, rep->r_nmp->nm_nam, m, rep);
sys/nfs/nfs_socket.c
608
error = soreceive(so, NULL, &auio, NULL, NULL,
sys/nfs/nfs_socket.c
653
error = soreceive(so, NULL, &auio, mp, NULL,
sys/nfs/nfs_socket.c
677
error = soreceive(so, NULL, &auio, mp, &control,
sys/nfs/nfs_socket.c
709
if ((so = rep->r_nmp->nm_so) == NULL)
sys/nfs/nfs_socket.c
711
if (so->so_state & SS_ISCONNECTED)
sys/nfs/nfs_socket.c
719
error = soreceive(so, getnam, &auio, mp, NULL,
sys/nfs/nfs_syscalls.c
221
struct socket *so;
sys/nfs/nfs_syscalls.c
225
so = (struct socket *)fp->f_data;
sys/nfs/nfs_syscalls.c
230
if (so->so_proto->pr_protocol == IPPROTO_UDP) {
sys/nfs/nfs_syscalls.c
240
if ((so->so_type != SOCK_STREAM && so->so_type != SOCK_DGRAM) ||
sys/nfs/nfs_syscalls.c
241
so->so_proto->pr_domain->dom_family != AF_INET) {
sys/nfs/nfs_syscalls.c
246
if (so->so_type == SOCK_STREAM)
sys/nfs/nfs_syscalls.c
250
solock_shared(so);
sys/nfs/nfs_syscalls.c
251
error = soreserve(so, siz, siz);
sys/nfs/nfs_syscalls.c
252
sounlock_shared(so);
sys/nfs/nfs_syscalls.c
263
if (so->so_type == SOCK_STREAM) {
sys/nfs/nfs_syscalls.c
267
sosetopt(so, SOL_SOCKET, SO_KEEPALIVE, m);
sys/nfs/nfs_syscalls.c
270
if (so->so_proto->pr_domain->dom_family == AF_INET &&
sys/nfs/nfs_syscalls.c
271
so->so_proto->pr_protocol == IPPROTO_TCP) {
sys/nfs/nfs_syscalls.c
275
sosetopt(so, IPPROTO_TCP, TCP_NODELAY, m);
sys/nfs/nfs_syscalls.c
278
solock_shared(so);
sys/nfs/nfs_syscalls.c
279
mtx_enter(&so->so_rcv.sb_mtx);
sys/nfs/nfs_syscalls.c
280
so->so_rcv.sb_flags &= ~SB_NOINTR;
sys/nfs/nfs_syscalls.c
281
so->so_rcv.sb_timeo_nsecs = INFSLP;
sys/nfs/nfs_syscalls.c
282
mtx_leave(&so->so_rcv.sb_mtx);
sys/nfs/nfs_syscalls.c
283
mtx_enter(&so->so_snd.sb_mtx);
sys/nfs/nfs_syscalls.c
284
so->so_snd.sb_flags &= ~SB_NOINTR;
sys/nfs/nfs_syscalls.c
285
so->so_snd.sb_timeo_nsecs = INFSLP;
sys/nfs/nfs_syscalls.c
286
mtx_leave(&so->so_snd.sb_mtx);
sys/nfs/nfs_syscalls.c
287
sounlock_shared(so);
sys/nfs/nfs_syscalls.c
294
slp->ns_so = so;
sys/nfs/nfs_syscalls.c
298
so->so_upcallarg = (caddr_t)slp;
sys/nfs/nfs_syscalls.c
299
so->so_upcall = nfsrv_rcv;
sys/nfs/nfs_syscalls.c
328
struct socket *so;
sys/nfs/nfs_syscalls.c
380
so = slp->ns_so;
sys/nfs/nfs_syscalls.c
381
sotype = so->so_type;
sys/nfs/nfs_syscalls.c
382
if (ISSET(so->so_proto->pr_flags, PR_CONNREQUIRED))
sys/nfs/nfs_syscalls.c
451
error = nfs_send(so, nd->nd_nam2, m, NULL);
sys/nfs/nfs_syscalls.c
504
struct socket *so;
sys/nfs/nfs_syscalls.c
513
so = slp->ns_so;
sys/nfs/nfs_syscalls.c
514
so->so_upcall = NULL;
sys/nfs/nfs_syscalls.c
515
soshutdown(so, SHUT_RDWR);
sys/sys/protosw.h
273
pru_attach(struct socket *so, int proto, int wait)
sys/sys/protosw.h
275
return (*so->so_proto->pr_usrreqs->pru_attach)(so, proto, wait);
sys/sys/protosw.h
279
pru_detach(struct socket *so)
sys/sys/protosw.h
281
return (*so->so_proto->pr_usrreqs->pru_detach)(so);
sys/sys/protosw.h
285
pru_bind(struct socket *so, struct mbuf *nam, struct proc *p)
sys/sys/protosw.h
287
if (so->so_proto->pr_usrreqs->pru_bind)
sys/sys/protosw.h
288
return (*so->so_proto->pr_usrreqs->pru_bind)(so, nam, p);
sys/sys/protosw.h
293
pru_listen(struct socket *so)
sys/sys/protosw.h
295
if (so->so_proto->pr_usrreqs->pru_listen)
sys/sys/protosw.h
296
return (*so->so_proto->pr_usrreqs->pru_listen)(so);
sys/sys/protosw.h
301
pru_connect(struct socket *so, struct mbuf *nam)
sys/sys/protosw.h
303
if (so->so_proto->pr_usrreqs->pru_connect)
sys/sys/protosw.h
304
return (*so->so_proto->pr_usrreqs->pru_connect)(so, nam);
sys/sys/protosw.h
309
pru_accept(struct socket *so, struct mbuf *nam)
sys/sys/protosw.h
311
if (so->so_proto->pr_usrreqs->pru_accept)
sys/sys/protosw.h
312
return (*so->so_proto->pr_usrreqs->pru_accept)(so, nam);
sys/sys/protosw.h
317
pru_disconnect(struct socket *so)
sys/sys/protosw.h
319
if (so->so_proto->pr_usrreqs->pru_disconnect)
sys/sys/protosw.h
320
return (*so->so_proto->pr_usrreqs->pru_disconnect)(so);
sys/sys/protosw.h
325
pru_shutdown(struct socket *so)
sys/sys/protosw.h
327
return (*so->so_proto->pr_usrreqs->pru_shutdown)(so);
sys/sys/protosw.h
331
pru_rcvd(struct socket *so)
sys/sys/protosw.h
333
(*so->so_proto->pr_usrreqs->pru_rcvd)(so);
sys/sys/protosw.h
337
pru_send(struct socket *so, struct mbuf *top, struct mbuf *addr,
sys/sys/protosw.h
340
return (*so->so_proto->pr_usrreqs->pru_send)(so, top, addr, control);
sys/sys/protosw.h
344
pru_abort(struct socket *so)
sys/sys/protosw.h
346
(*so->so_proto->pr_usrreqs->pru_abort)(so);
sys/sys/protosw.h
350
pru_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp)
sys/sys/protosw.h
352
if (so->so_proto->pr_usrreqs->pru_control)
sys/sys/protosw.h
353
return (*so->so_proto->pr_usrreqs->pru_control)(so,
sys/sys/protosw.h
359
pru_sense(struct socket *so, struct stat *ub)
sys/sys/protosw.h
361
if (so->so_proto->pr_usrreqs->pru_sense)
sys/sys/protosw.h
362
return (*so->so_proto->pr_usrreqs->pru_sense)(so, ub);
sys/sys/protosw.h
367
pru_rcvoob(struct socket *so, struct mbuf *m, int flags)
sys/sys/protosw.h
369
if (so->so_proto->pr_usrreqs->pru_rcvoob)
sys/sys/protosw.h
370
return (*so->so_proto->pr_usrreqs->pru_rcvoob)(so, m, flags);
sys/sys/protosw.h
375
pru_sendoob(struct socket *so, struct mbuf *top, struct mbuf *addr,
sys/sys/protosw.h
378
if (so->so_proto->pr_usrreqs->pru_sendoob)
sys/sys/protosw.h
379
return (*so->so_proto->pr_usrreqs->pru_sendoob)(so,
sys/sys/protosw.h
387
pru_sockaddr(struct socket *so, struct mbuf *addr)
sys/sys/protosw.h
389
return (*so->so_proto->pr_usrreqs->pru_sockaddr)(so, addr);
sys/sys/protosw.h
393
pru_peeraddr(struct socket *so, struct mbuf *addr)
sys/sys/protosw.h
395
return (*so->so_proto->pr_usrreqs->pru_peeraddr)(so, addr);
sys/sys/protosw.h
399
pru_flowid(struct socket *so)
sys/sys/protosw.h
401
return (*so->so_proto->pr_usrreqs->pru_flowid)(so);
sys/sys/socketvar.h
298
#define SBCHECK(so, sb) sbcheck((so), (sb))
sys/sys/socketvar.h
302
#define SBCHECK(so, sb) /* nothing */
sys/sys/socketvar.h
318
soref(struct socket *so)
sys/sys/socketvar.h
320
if (so == NULL)
sys/sys/socketvar.h
322
refcnt_take(&so->so_refcnt);
sys/sys/socketvar.h
323
return so;
sys/sys/socketvar.h
330
#define isspliced(so) ((so)->so_sp && (so)->so_sp->ssp_socket)
sys/sys/socketvar.h
331
#define issplicedback(so) ((so)->so_sp && (so)->so_sp->ssp_soback)
sys/sys/socketvar.h
377
#define sosendallatonce(so) \
sys/sys/socketvar.h
378
((so)->so_proto->pr_flags & PR_ATOMIC)
sys/sys/socketvar.h
381
#define soissending(so) \
sys/sys/socketvar.h
382
((so)->so_snd.sb_state & SS_ISSENDING)
sys/sys/socketvar.h
386
soreadable(struct socket *so)
sys/sys/socketvar.h
388
soassertlocked_readonly(so);
sys/sys/socketvar.h
389
if (isspliced(so))
sys/sys/socketvar.h
391
return (so->so_rcv.sb_state & SS_CANTRCVMORE) ||
sys/sys/socketvar.h
392
so->so_error || so->so_rcv.sb_cc >= so->so_rcv.sb_lowat;
sys/sys/socketvar.h
397
sowriteable(struct socket *so)
sys/sys/socketvar.h
399
soassertlocked_readonly(so);
sys/sys/socketvar.h
400
return ((sbspace(&so->so_snd) >= so->so_snd.sb_lowat &&
sys/sys/socketvar.h
401
((so->so_state & SS_ISCONNECTED) ||
sys/sys/socketvar.h
402
(so->so_proto->pr_flags & PR_CONNREQUIRED)==0)) ||
sys/sys/socketvar.h
403
(so->so_snd.sb_state & SS_CANTSENDMORE) || so->so_error);
sys/sys/unpcb.h
102
#define sotounpcb(so) ((struct unpcb *)((so)->so_pcb))
usr.bin/deroff/deroff.c
1629
M(NONE, 's','o', so), /* source a file */
usr.bin/deroff/deroff.c
213
int so(void);
usr.bin/netstat/inet.c
1312
struct socket so;
usr.bin/netstat/inet.c
1316
kread(off, &so, sizeof(so));
usr.bin/netstat/inet.c
1318
#define p(fmt, v, sep) printf(#v " " fmt sep, so.v);
usr.bin/netstat/inet.c
1319
#define pp(fmt, v, sep) printf(#v " " fmt sep, so.v);
usr.bin/netstat/inet.c
1335
if (so.so_sp)
usr.bin/netstat/inet.c
1336
sosplice_dump((u_long)so.so_sp);
usr.bin/netstat/inet.c
1337
sockbuf_dump(&so.so_rcv, "so_rcv");
usr.bin/netstat/inet.c
1338
sockbuf_dump(&so.so_snd, "so_snd");
usr.bin/netstat/inet.c
1347
protosw_dump((u_long)so.so_proto, (u_long)so.so_pcb);
usr.bin/tmux/window-copy.c
2008
struct options *so = cs->s->options;
usr.bin/tmux/window-copy.c
2015
data->separators = options_get_string(so, "word-separators");
usr.bin/tmux/window-copy.c
2268
struct options *so = cs->s->options;
usr.bin/tmux/window-copy.c
2278
data->separators = options_get_string(so, "word-separators");
usr.sbin/amd/amd/nfs_start.c
319
bindnfs_port(int so)
usr.sbin/amd/amd/nfs_start.c
322
int error = bind_resv_port(so, &port);
usr.sbin/amd/amd/nfs_start.c
341
int so, so2, nmount;
usr.sbin/amd/amd/nfs_start.c
345
so = socket(AF_INET, SOCK_DGRAM, 0);
usr.sbin/amd/amd/nfs_start.c
347
if (so < 0 || bindnfs_port(so) < 0) {
usr.sbin/amd/amd/nfs_start.c
352
if ((nfsxprt = svcudp_create(so)) == NULL ||
usr.sbin/amd/amd/nfs_start.c
353
(amqp = svcudp_create(so)) == NULL) {
usr.sbin/amd/amd/nfs_start.c
359
if (getsockname(so, (struct sockaddr *)&sin, &sinlen) == -1) {
usr.sbin/amd/amd/nfs_start.c
400
if (so > max_fds)
usr.sbin/amd/amd/nfs_start.c
401
max_fds = so;
usr.sbin/amd/amd/util.c
281
bind_resv_port(int so, u_short *pp)
usr.sbin/amd/amd/util.c
289
rc = bindresvport(so, &sin);
usr.sbin/portmap/portmap.c
584
int so = -1;
usr.sbin/portmap/portmap.c
620
so = socket(AF_INET, SOCK_DGRAM | SOCK_NONBLOCK, IPPROTO_UDP);
usr.sbin/portmap/portmap.c
621
if (so == -1)
usr.sbin/portmap/portmap.c
624
client = clntudp_create(&me, a.rmt_prog, a.rmt_vers, timeout, &so);
usr.sbin/portmap/portmap.c
636
(void)close(so);