Lines Matching defs:so
82 sco_attach(struct socket *so, int proto)
86 KASSERT(so->so_pcb == NULL);
88 if (so->so_lock == NULL) {
90 so->so_lock = bt_lock;
91 solock(so);
93 KASSERT(solocked(so));
95 error = soreserve(so, sco_sendspace, sco_recvspace);
99 return sco_attach_pcb((struct sco_pcb **)&so->so_pcb, &sco_proto, so);
103 sco_detach(struct socket *so)
105 KASSERT(so->so_pcb != NULL);
106 sco_detach_pcb((struct sco_pcb **)&so->so_pcb);
107 KASSERT(so->so_pcb == NULL);
111 sco_accept(struct socket *so, struct sockaddr *nam)
113 struct sco_pcb *pcb = so->so_pcb;
115 KASSERT(solocked(so));
125 sco_bind(struct socket *so, struct sockaddr *nam, struct lwp *l)
127 struct sco_pcb *pcb = so->so_pcb;
130 KASSERT(solocked(so));
146 sco_listen(struct socket *so, struct lwp *l)
148 struct sco_pcb *pcb = so->so_pcb;
150 KASSERT(solocked(so));
159 sco_connect(struct socket *so, struct sockaddr *nam, struct lwp *l)
161 struct sco_pcb *pcb = so->so_pcb;
164 KASSERT(solocked(so));
176 soisconnecting(so);
181 sco_connect2(struct socket *so, struct socket *so2)
183 struct sco_pcb *pcb = so->so_pcb;
185 KASSERT(solocked(so));
194 sco_disconnect(struct socket *so)
196 struct sco_pcb *pcb = so->so_pcb;
198 KASSERT(solocked(so));
203 soisdisconnecting(so);
204 return sco_disconnect_pcb(pcb, so->so_linger);
208 sco_shutdown(struct socket *so)
210 KASSERT(solocked(so));
212 socantsendmore(so);
217 sco_abort(struct socket *so)
219 struct sco_pcb *pcb = so->so_pcb;
221 KASSERT(solocked(so));
227 soisdisconnected(so);
228 sco_detach(so);
233 sco_ioctl(struct socket *so, u_long cmd, void *nam, struct ifnet *ifp)
239 sco_stat(struct socket *so, struct stat *ub)
241 KASSERT(solocked(so));
247 sco_peeraddr(struct socket *so, struct sockaddr *nam)
249 struct sco_pcb *pcb = (struct sco_pcb *)so->so_pcb;
251 KASSERT(solocked(so));
259 sco_sockaddr(struct socket *so, struct sockaddr *nam)
261 struct sco_pcb *pcb = (struct sco_pcb *)so->so_pcb;
263 KASSERT(solocked(so));
271 sco_rcvd(struct socket *so, int flags, struct lwp *l)
273 KASSERT(solocked(so));
279 sco_recvoob(struct socket *so, struct mbuf *m, int flags)
281 KASSERT(solocked(so));
287 sco_send(struct socket *so, struct mbuf *m, struct sockaddr *nam,
290 struct sco_pcb *pcb = so->so_pcb;
294 KASSERT(solocked(so));
318 sbappendrecord(&so->so_snd, m);
327 sco_sendoob(struct socket *so, struct mbuf *m, struct mbuf *control)
329 KASSERT(solocked(so));
338 sco_purgeif(struct socket *so, struct ifnet *ifp)
348 sco_ctloutput(int req, struct socket *so, struct sockopt *sopt)
350 struct sco_pcb *pcb = (struct sco_pcb *)so->so_pcb;
386 struct socket *so = arg;
389 soisconnecting(so);
395 struct socket *so = arg;
398 soisconnected(so);
404 struct socket *so = arg;
408 so->so_error = err;
409 soisdisconnected(so);
416 struct socket *so = arg;
419 so = sonewconn(so, false);
420 if (so == NULL)
423 soisconnecting(so);
424 return so->so_pcb;
430 struct socket *so = arg;
433 sbdroprecord(&so->so_snd);
435 sowwakeup(so);
446 struct socket *so = arg;
454 while (m->m_pkthdr.len > sbspace(&so->so_rcv))
455 sbdroprecord(&so->so_rcv);
459 sbappendrecord(&so->so_rcv, m);
460 sorwakeup(so);