Lines Matching defs:so

78 	struct socket *so = fp->f_data;
82 error = mac_socket_check_receive(active_cred, so);
86 error = soreceive(so, 0, uio, 0, 0, 0);
95 struct socket *so = fp->f_data;
99 error = mac_socket_check_send(active_cred, so);
103 error = sosend(so, 0, uio, 0, 0, 0, uio->uio_td);
104 if (error == EPIPE && (so->so_options & SO_NOSIGPIPE) == 0) {
124 struct socket *so = fp->f_data;
129 SOCK_LOCK(so);
131 so->so_state |= SS_NBIO;
133 so->so_state &= ~SS_NBIO;
134 SOCK_UNLOCK(so);
139 * XXXRW: This code separately acquires SOCK_LOCK(so) and
140 * SOCKBUF_LOCK(&so->so_rcv) even though they are the same
145 SOCK_LOCK(so);
146 so->so_state |= SS_ASYNC;
147 SOCK_UNLOCK(so);
148 SOCKBUF_LOCK(&so->so_rcv);
149 so->so_rcv.sb_flags |= SB_ASYNC;
150 SOCKBUF_UNLOCK(&so->so_rcv);
151 SOCKBUF_LOCK(&so->so_snd);
152 so->so_snd.sb_flags |= SB_ASYNC;
153 SOCKBUF_UNLOCK(&so->so_snd);
155 SOCK_LOCK(so);
156 so->so_state &= ~SS_ASYNC;
157 SOCK_UNLOCK(so);
158 SOCKBUF_LOCK(&so->so_rcv);
159 so->so_rcv.sb_flags &= ~SB_ASYNC;
160 SOCKBUF_UNLOCK(&so->so_rcv);
161 SOCKBUF_LOCK(&so->so_snd);
162 so->so_snd.sb_flags &= ~SB_ASYNC;
163 SOCKBUF_UNLOCK(&so->so_snd);
169 *(int *)data = so->so_rcv.sb_cc;
174 *(int *)data = so->so_snd.sb_cc;
178 if ((so->so_snd.sb_hiwat < so->so_snd.sb_cc) ||
179 (so->so_snd.sb_mbmax < so->so_snd.sb_mbcnt))
182 *(int *)data = sbspace(&so->so_snd);
186 error = fsetown(*(int *)data, &so->so_sigio);
190 *(int *)data = fgetown(&so->so_sigio);
194 error = fsetown(-(*(int *)data), &so->so_sigio);
198 *(int *)data = -fgetown(&so->so_sigio);
203 *(int *)data = (so->so_rcv.sb_state & SBS_RCVATMARK) != 0;
212 error = ifioctl(so, cmd, data, td);
214 CURVNET_SET(so->so_vnet);
215 error = rtioctl_fib(cmd, data, so->so_fibnum);
218 CURVNET_SET(so->so_vnet);
219 error = ((*so->so_proto->pr_usrreqs->pru_control)
220 (so, cmd, data, 0, td));
232 struct socket *so = fp->f_data;
236 error = mac_socket_check_poll(active_cred, so);
240 return (sopoll(so, events, fp->f_cred, td));
247 struct socket *so = fp->f_data;
255 error = mac_socket_check_stat(active_cred, so);
263 SOCKBUF_LOCK(&so->so_rcv);
264 if ((so->so_rcv.sb_state & SBS_CANTRCVMORE) == 0 ||
265 so->so_rcv.sb_cc != 0)
267 ub->st_size = so->so_rcv.sb_cc - so->so_rcv.sb_ctl;
268 SOCKBUF_UNLOCK(&so->so_rcv);
270 if ((so->so_snd.sb_state & SBS_CANTSENDMORE) == 0)
272 ub->st_uid = so->so_cred->cr_uid;
273 ub->st_gid = so->so_cred->cr_gid;
274 return (*so->so_proto->pr_usrreqs->pru_sense)(so, ub);
288 struct socket *so;
290 so = fp->f_data;
294 if (so)
295 error = soclose(so);