Lines Matching refs:so

224 #define	SOCK_MTX(so)		&(so)->so_lock  argument
225 #define SOCK_LOCK(so) mtx_lock(&(so)->so_lock) argument
226 #define SOCK_OWNED(so) mtx_owned(&(so)->so_lock) argument
227 #define SOCK_UNLOCK(so) mtx_unlock(&(so)->so_lock) argument
228 #define SOCK_LOCK_ASSERT(so) mtx_assert(&(so)->so_lock, MA_OWNED) argument
229 #define SOCK_UNLOCK_ASSERT(so) mtx_assert(&(so)->so_lock, MA_NOTOWNED) argument
267 #define sosendallatonce(so) \ argument
268 ((so)->so_proto->pr_flags & PR_ATOMIC)
271 #define soreadabledata(so) \ argument
272 (sbavail(&(so)->so_rcv) >= (so)->so_rcv.sb_lowat || (so)->so_error)
273 #define soreadable(so) \ argument
274 (soreadabledata(so) || ((so)->so_rcv.sb_state & SBS_CANTRCVMORE))
277 #define sowriteable(so) \ argument
278 ((sbspace(&(so)->so_snd) >= (so)->so_snd.sb_lowat && \
279 (((so)->so_state&SS_ISCONNECTED) || \
280 ((so)->so_proto->pr_flags&PR_CONNREQUIRED)==0)) || \
281 ((so)->so_snd.sb_state & SBS_CANTSENDMORE) || \
282 (so)->so_error)
291 #define soref(so) refcount_acquire(&(so)->so_count) argument
292 #define sorele(so) do { \ argument
293 SOCK_LOCK_ASSERT(so); \
294 if (refcount_release(&(so)->so_count)) \
295 sofree(so); \
297 SOCK_UNLOCK(so); \
308 #define sorwakeup_locked(so) do { \ argument
309 SOCKBUF_LOCK_ASSERT(&(so)->so_rcv); \
310 if (sb_notify(&(so)->so_rcv)) \
311 sowakeup((so), &(so)->so_rcv); \
313 SOCKBUF_UNLOCK(&(so)->so_rcv); \
316 #define sorwakeup(so) do { \ argument
317 SOCKBUF_LOCK(&(so)->so_rcv); \
318 sorwakeup_locked(so); \
321 #define sowwakeup_locked(so) do { \ argument
322 SOCKBUF_LOCK_ASSERT(&(so)->so_snd); \
323 if (sb_notify(&(so)->so_snd)) \
324 sowakeup((so), &(so)->so_snd); \
326 SOCKBUF_UNLOCK(&(so)->so_snd); \
329 #define sowwakeup(so) do { \ argument
330 SOCKBUF_LOCK(&(so)->so_snd); \
331 sowwakeup_locked(so); \
337 (struct socket *so, void *arg, int waitflag);
339 (struct socket *so, char *arg);
341 (struct socket *so);
381 struct socket *so; member
414 void soabort(struct socket *so);
415 int soaccept(struct socket *so, struct sockaddr **nam);
419 int socheckuid(struct socket *so, uid_t uid);
420 int sobind(struct socket *so, struct sockaddr *nam, struct thread *td);
421 int sobindat(int fd, struct socket *so, struct sockaddr *nam,
423 int soclose(struct socket *so);
424 int soconnect(struct socket *so, struct sockaddr *nam, struct thread *td);
425 int soconnectat(int fd, struct socket *so, struct sockaddr *nam,
430 int sodisconnect(struct socket *so);
433 void sofree(struct socket *so);
434 void sohasoutofband(struct socket *so);
435 int solisten(struct socket *so, int backlog, struct thread *td);
436 void solisten_proto(struct socket *so, int backlog);
437 int solisten_proto_check(struct socket *so);
443 int sopoll(struct socket *so, int events, struct ucred *active_cred,
445 int sopoll_generic(struct socket *so, int events,
447 int soreceive(struct socket *so, struct sockaddr **paddr, struct uio *uio,
449 int soreceive_stream(struct socket *so, struct sockaddr **paddr,
452 int soreceive_dgram(struct socket *so, struct sockaddr **paddr,
455 int soreceive_generic(struct socket *so, struct sockaddr **paddr,
458 int soreserve(struct socket *so, u_long sndcc, u_long rcvcc);
459 void sorflush(struct socket *so);
460 int sosend(struct socket *so, struct sockaddr *addr, struct uio *uio,
463 int sosend_dgram(struct socket *so, struct sockaddr *addr,
466 int sosend_generic(struct socket *so, struct sockaddr *addr,
469 int soshutdown(struct socket *so, int how);
473 void sowakeup(struct socket *so, struct sockbuf *sb);
474 void sowakeup_aio(struct socket *so, struct sockbuf *sb);
476 int selsocket(struct socket *so, int events, struct timeval *tv,
478 void soisconnected(struct socket *so);
479 void soisconnecting(struct socket *so);
480 void soisdisconnected(struct socket *so);
481 void soisdisconnecting(struct socket *so);
482 void socantrcvmore(struct socket *so);
483 void socantrcvmore_locked(struct socket *so);
484 void socantsendmore(struct socket *so);
485 void socantsendmore_locked(struct socket *so);
539 void sotoxsocket(struct socket *so, struct xsocket *xso);