33 #ifndef _USER_SOCKETVAR_H_ 34 #define _USER_SOCKETVAR_H_ 36 #if defined(__Userspace_os_Darwin) 37 #include <sys/types.h> 45 #if !defined(__Userspace_os_DragonFly) && !defined(__Userspace_os_FreeBSD) && !defined(__Userspace_os_NetBSD) && !defined(__Userspace_os_Windows) && !defined(__Userspace_os_NaCl) 48 #define SOCK_MAXADDRLEN 255 49 #if !defined(MSG_NOTIFICATION) 50 #define MSG_NOTIFICATION 0x2000 52 #define SCTP_SO_LINGER 0x0001 53 #define SCTP_SO_ACCEPTCONN 0x0002 54 #define SS_CANTRCVMORE 0x020 55 #define SS_CANTSENDMORE 0x010 57 #if defined(__Userspace_os_Darwin) || defined(__Userspace_os_DragonFly) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) || defined (__Userspace_os_Windows) || defined(__Userspace_os_NaCl) 58 #define UIO_MAXIOV 1024 62 #if !defined(__Userspace_os_Darwin) && !defined(__Userspace_os_NetBSD) && !defined(__Userspace_os_OpenBSD) 66 #if !defined(__Userspace_os_NetBSD) && !defined(__Userspace_os_OpenBSD) 103 #if defined (__Userspace_os_Windows) 105 typedef __int32 pid_t;
106 typedef unsigned __int32 uid_t;
177 #define sb_startzero sb_mb 196 #define SB_MAX (256*1024) 197 #define SB_RAW (64*1024*2) 203 #define SB_ASYNC 0x10 204 #define SB_UPCALL 0x20 205 #define SB_NOINTR 0x40 207 #define SB_KNOTE 0x100 208 #define SB_AUTOSIZE 0x800 225 #define SB_EMPTY_FIXUP(sb) do { \ 226 if ((sb)->sb_mb == NULL) { \ 227 (sb)->sb_mbtail = NULL; \ 228 (sb)->sb_lastrecord = NULL; \ 238 #if defined(__Userspace_os_Windows) 241 #define ACCEPT_LOCK_ASSERT() 242 #define ACCEPT_LOCK() do { \ 243 EnterCriticalSection(&accept_mtx); \ 245 #define ACCEPT_UNLOCK() do { \ 246 LeaveCriticalSection(&accept_mtx); \ 248 #define ACCEPT_UNLOCK_ASSERT() 254 #define ACCEPT_LOCK() KASSERT(pthread_mutex_lock(&accept_mtx) == 0, ("%s: accept_mtx already locked", __func__)) 255 #define ACCEPT_UNLOCK() KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__)) 257 #define ACCEPT_LOCK() (void)pthread_mutex_lock(&accept_mtx) 258 #define ACCEPT_UNLOCK() (void)pthread_mutex_unlock(&accept_mtx) 260 #define ACCEPT_LOCK_ASSERT() \ 261 KASSERT(pthread_mutex_trylock(&accept_mtx) == EBUSY, ("%s: accept_mtx not locked", __func__)) 262 #define ACCEPT_UNLOCK_ASSERT() do { \ 263 KASSERT(pthread_mutex_trylock(&accept_mtx) == 0, ("%s: accept_mtx locked", __func__)); \ 264 (void)pthread_mutex_unlock(&accept_mtx); \ 272 #define SOCKBUF_MTX(_sb) (&(_sb)->sb_mtx) 273 #if defined (__Userspace_os_Windows) 274 #define SOCKBUF_LOCK_INIT(_sb, _name) \ 275 InitializeCriticalSection(SOCKBUF_MTX(_sb)) 276 #define SOCKBUF_LOCK_DESTROY(_sb) DeleteCriticalSection(SOCKBUF_MTX(_sb)) 277 #define SOCKBUF_COND_INIT(_sb) InitializeConditionVariable((&(_sb)->sb_cond)) 278 #define SOCKBUF_COND_DESTROY(_sb) DeleteConditionVariable((&(_sb)->sb_cond)) 279 #define SOCK_COND_INIT(_so) InitializeConditionVariable((&(_so)->timeo_cond)) 280 #define SOCK_COND_DESTROY(_so) DeleteConditionVariable((&(_so)->timeo_cond)) 281 #define SOCK_COND(_so) (&(_so)->timeo_cond) 284 #define SOCKBUF_LOCK_INIT(_sb, _name) do { \ 285 pthread_mutexattr_t mutex_attr; \ 287 pthread_mutexattr_init(&mutex_attr); \ 288 pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_ERRORCHECK); \ 289 pthread_mutex_init(SOCKBUF_MTX(_sb), &mutex_attr); \ 290 pthread_mutexattr_destroy(&mutex_attr); \ 293 #define SOCKBUF_LOCK_INIT(_sb, _name) \ 294 pthread_mutex_init(SOCKBUF_MTX(_sb), NULL) 296 #define SOCKBUF_LOCK_DESTROY(_sb) pthread_mutex_destroy(SOCKBUF_MTX(_sb)) 297 #define SOCKBUF_COND_INIT(_sb) pthread_cond_init((&(_sb)->sb_cond), NULL) 298 #define SOCKBUF_COND_DESTROY(_sb) pthread_cond_destroy((&(_sb)->sb_cond)) 299 #define SOCK_COND_INIT(_so) pthread_cond_init((&(_so)->timeo_cond), NULL) 300 #define SOCK_COND_DESTROY(_so) pthread_cond_destroy((&(_so)->timeo_cond)) 301 #define SOCK_COND(_so) (&(_so)->timeo_cond) 317 #define SOCK_MTX(_so) SOCKBUF_MTX(&(_so)->so_rcv) 323 #define SOCK_LOCK_ASSERT(_so) SOCKBUF_LOCK_ASSERT(&(_so)->so_rcv) 337 #define SS_NOFDREF 0x0001 338 #define SS_ISCONNECTED 0x0002 339 #define SS_ISCONNECTING 0x0004 340 #define SS_ISDISCONNECTING 0x0008 341 #define SS_NBIO 0x0100 342 #define SS_ASYNC 0x0200 343 #define SS_ISCONFIRMING 0x0400 344 #define SS_ISDISCONNECTED 0x2000 352 #define SS_PROTOREF 0x4000 357 #define SBS_CANTSENDMORE 0x0010 358 #define SBS_CANTRCVMORE 0x0020 359 #define SBS_RCVATMARK 0x0040 364 #define SQ_INCOMP 0x0800 365 #define SQ_COMP 0x1000 409 #define sb_notify(sb) (((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \ 410 SB_UPCALL | SB_AIO | SB_KNOTE)) != 0) 418 #define sbspace(sb) \ 419 ((long) imin((int)((sb)->sb_hiwat - (sb)->sb_cc), \ 420 (int)((sb)->sb_mbmax - (sb)->sb_mbcnt))) 423 #define sosendallatonce(so) \ 424 ((so)->so_proto->pr_flags & PR_ATOMIC) 427 #define soreadable(so) \ 428 ((so)->so_rcv.sb_cc >= (so)->so_rcv.sb_lowat || \ 429 ((so)->so_rcv.sb_state & SBS_CANTRCVMORE) || \ 430 !TAILQ_EMPTY(&(so)->so_comp) || (so)->so_error) 433 #define sowriteable(so) \ 434 ((sbspace(&(so)->so_snd) >= (so)->so_snd.sb_lowat && \ 435 (((so)->so_state&SS_ISCONNECTED) || \ 436 ((so)->so_proto->pr_flags&PR_CONNREQUIRED)==0)) || \ 437 ((so)->so_snd.sb_state & SBS_CANTSENDMORE) || \ 441 #define sballoc(sb, m) { \ 442 (sb)->sb_cc += (m)->m_len; \ 443 if ((m)->m_type != MT_DATA && (m)->m_type != MT_OOBDATA) \ 444 (sb)->sb_ctl += (m)->m_len; \ 445 (sb)->sb_mbcnt += MSIZE; \ 446 if ((m)->m_flags & M_EXT) \ 447 (sb)->sb_mbcnt += (m)->m_ext.ext_size; \ 451 #define sbfree(sb, m) { \ 452 (sb)->sb_cc -= (m)->m_len; \ 453 if ((m)->m_type != MT_DATA && (m)->m_type != MT_OOBDATA) \ 454 (sb)->sb_ctl -= (m)->m_len; \ 455 (sb)->sb_mbcnt -= MSIZE; \ 456 if ((m)->m_flags & M_EXT) \ 457 (sb)->sb_mbcnt -= (m)->m_ext.ext_size; \ 458 if ((sb)->sb_sndptr == (m)) { \ 459 (sb)->sb_sndptr = NULL; \ 460 (sb)->sb_sndptroff = 0; \ 462 if ((sb)->sb_sndptroff != 0) \ 463 (sb)->sb_sndptroff -= (m)->m_len; \ 471 #define soref(so) do { \ 472 SOCK_LOCK_ASSERT(so); \ 476 #define sorele(so) do { \ 477 ACCEPT_LOCK_ASSERT(); \ 478 SOCK_LOCK_ASSERT(so); \ 479 KASSERT((so)->so_count > 0, ("sorele")); \ 480 if (--(so)->so_count == 0) \ 488 #define sotryfree(so) do { \ 489 ACCEPT_LOCK_ASSERT(); \ 490 SOCK_LOCK_ASSERT(so); \ 491 if ((so)->so_count == 0) \ 507 #define sorwakeup_locked(so) do { \ 508 SOCKBUF_LOCK_ASSERT(&(so)->so_rcv); \ 509 if (sb_notify(&(so)->so_rcv)) \ 510 sowakeup((so), &(so)->so_rcv); \ 512 SOCKBUF_UNLOCK(&(so)->so_rcv); \ 515 #define sorwakeup(so) do { \ 516 SOCKBUF_LOCK(&(so)->so_rcv); \ 517 sorwakeup_locked(so); \ 520 #define sowwakeup_locked(so) do { \ 521 SOCKBUF_LOCK_ASSERT(&(so)->so_snd); \ 522 if (sb_notify(&(so)->so_snd)) \ 523 sowakeup((so), &(so)->so_snd); \ 525 SOCKBUF_UNLOCK(&(so)->so_snd); \ 528 #define sowwakeup(so) do { \ 529 SOCKBUF_LOCK(&(so)->so_snd); \ 530 sowwakeup_locked(so); \ 537 enum sopt_dir { SOPT_GET, SOPT_SET };
539 enum sopt_dir sopt_dir;
547 struct accept_filter {
549 void (*accf_callback)
550 (
struct socket *so,
void *arg,
int waitflag);
551 void * (*accf_create)
552 (
struct socket *so,
char *arg);
560 extern struct uma_zone *socket_zone;
561 extern so_gen_t so_gencnt;
571 int do_getopt_accept_filter(
struct socket *so,
struct sockopt *sopt);
572 int do_setopt_accept_filter(
struct socket *so,
struct sockopt *sopt);
573 int so_setsockopt(
struct socket *so,
int level,
int optname,
574 void *
optval,
size_t optlen);
575 int sockargs(
struct mbuf **mp, caddr_t
buf,
int buflen,
int type);
576 int getsockaddr(
struct sockaddr **namp, caddr_t uaddr,
size_t len);
577 void sbappend(
struct sockbuf *
sb,
struct mbuf *
m);
578 void sbappend_locked(
struct sockbuf *
sb,
struct mbuf *m);
579 void sbappendstream(
struct sockbuf *
sb,
struct mbuf *m);
580 void sbappendstream_locked(
struct sockbuf *
sb,
struct mbuf *m);
581 int sbappendaddr(
struct sockbuf *
sb,
const struct sockaddr *asa,
582 struct mbuf *m0,
struct mbuf *control);
583 int sbappendaddr_locked(
struct sockbuf *
sb,
const struct sockaddr *asa,
584 struct mbuf *m0,
struct mbuf *control);
585 int sbappendcontrol(
struct sockbuf *
sb,
struct mbuf *m0,
586 struct mbuf *control);
587 int sbappendcontrol_locked(
struct sockbuf *
sb,
struct mbuf *m0,
588 struct mbuf *control);
589 void sbappendrecord(
struct sockbuf *
sb,
struct mbuf *m0);
590 void sbappendrecord_locked(
struct sockbuf *
sb,
struct mbuf *m0);
591 void sbcheck(
struct sockbuf *
sb);
592 void sbcompress(
struct sockbuf *
sb,
struct mbuf *m,
struct mbuf *
n);
595 void sbdestroy(
struct sockbuf *
sb,
struct socket *so);
596 void sbdrop(
struct sockbuf *
sb,
int len);
597 void sbdrop_locked(
struct sockbuf *
sb,
int len);
598 void sbdroprecord(
struct sockbuf *
sb);
599 void sbdroprecord_locked(
struct sockbuf *
sb);
600 void sbflush(
struct sockbuf *
sb);
601 void sbflush_locked(
struct sockbuf *
sb);
602 void sbrelease(
struct sockbuf *
sb,
struct socket *so);
603 void sbrelease_locked(
struct sockbuf *
sb,
struct socket *so);
604 int sbreserve(
struct sockbuf *
sb, u_long cc,
struct socket *so,
609 sbsndptr(
struct sockbuf *
sb, u_int
off, u_int
len, u_int *moff);
610 void sbtoxsockbuf(
struct sockbuf *
sb,
struct xsockbuf *xsb);
612 int sblock(
struct sockbuf *
sb,
int flags);
613 void sbunlock(
struct sockbuf *
sb);
616 int socheckuid(
struct socket *so, uid_t uid);
622 int soclose(
struct socket *so);
625 int socow_setup(
struct mbuf *m0,
struct uio *
uio);
627 struct ucred *cred,
struct thread *td);
629 struct sockaddr *sodupsockaddr(
const struct sockaddr *
sa,
int mflags);
631 int sogetopt(
struct socket *so,
struct sockopt *sopt);
632 void sohasoutofband(
struct socket *so);
635 void soisdisconnected(
struct socket *so);
642 int sooptcopyin(
struct sockopt *sopt,
void *
buf,
size_t len,
size_t minlen);
643 int sooptcopyout(
struct sockopt *sopt,
const void *
buf,
size_t len);
646 int soopt_getm(
struct sockopt *sopt,
struct mbuf **mp);
647 int soopt_mcopyin(
struct sockopt *sopt,
struct mbuf *m);
648 int soopt_mcopyout(
struct sockopt *sopt,
struct mbuf *m);
650 int sopoll(
struct socket *so,
int events,
struct ucred *active_cred,
652 int sopoll_generic(
struct socket *so,
int events,
653 struct ucred *active_cred,
struct thread *td);
654 int soreceive(
struct socket *so,
struct sockaddr **paddr,
struct uio *uio,
655 struct mbuf **mp0,
struct mbuf **controlp,
int *flagsp);
656 int soreceive_generic(
struct socket *so,
struct sockaddr **paddr,
657 struct uio *uio,
struct mbuf **mp0,
struct mbuf **controlp,
660 void sorflush(
struct socket *so);
661 int sosend(
struct socket *so,
struct sockaddr *addr,
struct uio *uio,
664 int sosend_dgram(
struct socket *so,
struct sockaddr *addr,
665 struct uio *uio,
struct mbuf *top,
struct mbuf *control,
667 int sosend_generic(
struct socket *so,
struct sockaddr *addr,
668 struct uio *uio,
struct mbuf *top,
struct mbuf *control,
670 int sosetopt(
struct socket *so,
struct sockopt *sopt);
671 int soshutdown(
struct socket *so,
int how);
676 void sblastrecordchk(
struct sockbuf *,
const char *,
int);
677 #define SBLASTRECORDCHK(sb) sblastrecordchk((sb), __FILE__, __LINE__) 679 void sblastmbufchk(
struct sockbuf *,
const char *,
int);
680 #define SBLASTMBUFCHK(sb) sblastmbufchk((sb), __FILE__, __LINE__) 682 #define SBLASTRECORDCHK(sb) 683 #define SBLASTMBUFCHK(sb) 689 int accept_filt_add(
struct accept_filter *filt);
690 int accept_filt_del(
char *
name);
691 struct accept_filter *accept_filt_get(
char *
name);
692 #ifdef ACCEPT_FILTER_MOD 694 SYSCTL_DECL(_net_inet_accf);
696 int accept_filt_generic_mod_event(module_t mod,
int event,
void *
data);
711 #if defined(__Userspace__) 729 #define soref(so) do { \ 730 SOCK_LOCK_ASSERT(so); \ 734 #define sorele(so) do { \ 735 ACCEPT_LOCK_ASSERT(); \ 736 SOCK_LOCK_ASSERT(so); \ 737 KASSERT((so)->so_count > 0, ("sorele")); \ 738 if (--(so)->so_count == 0) \ 748 #define sbspace(sb) \ 749 ((long) min((int)((sb)->sb_hiwat - (sb)->sb_cc), \ 750 (int)((sb)->sb_mbmax - (sb)->sb_mbcnt))) 753 #define sosendallatonce(so) \ 754 ((so)->so_proto->pr_flags & PR_ATOMIC) 757 #define soreadable(so) \ 758 ((int)((so)->so_rcv.sb_cc) >= (so)->so_rcv.sb_lowat || \ 759 ((so)->so_rcv.sb_state & SBS_CANTRCVMORE) || \ 760 !TAILQ_EMPTY(&(so)->so_comp) || (so)->so_error) 763 #define PR_CONNREQUIRED 0x04 764 #define sowriteable(so) \ 765 ((sbspace(&(so)->so_snd) >= (so)->so_snd.sb_lowat && \ 766 (((so)->so_state&SS_ISCONNECTED) || \ 767 ((so)->so_proto->pr_flags&PR_CONNREQUIRED)==0)) || \ 768 ((so)->so_snd.sb_state & SBS_CANTSENDMORE) || \ 772 #define sowriteable(so) \ 773 ((sbspace(&(so)->so_snd) >= (so)->so_snd.sb_lowat && \ 774 (((so)->so_state&SS_ISCONNECTED))) || \ 775 ((so)->so_snd.sb_state & SBS_CANTSENDMORE) || \ 783 extern int sctp_bind(
struct socket *so,
struct sockaddr *addr);
784 extern int sctp6_bind(
struct socket *so,
struct sockaddr *addr,
void *
proc);
785 #if defined(__Userspace__) 786 extern int sctpconn_bind(
struct socket *so,
struct sockaddr *addr);
790 extern int sctp6_attach(
struct socket *so,
int proto,
uint32_t vrf_id);
791 extern int sctp_abort(
struct socket *so);
792 extern int sctp6_abort(
struct socket *so);
793 extern void sctp_close(
struct socket *so);
799 extern int uiomove(
void *cp,
int n,
struct uio *uio);
800 extern int sbwait(
struct sockbuf *
sb);
804 extern int sctp_connect(
struct socket *so,
struct sockaddr *addr);
805 extern int sctp6_connect(
struct socket *so,
struct sockaddr *addr);
806 #if defined(__Userspace__) 807 extern int sctpconn_connect(
struct socket *so,
struct sockaddr *addr);
818 #define sb_notify(sb) (((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \ 819 SB_UPCALL | SB_AIO | SB_KNOTE)) != 0) 830 #define sorwakeup_locked(so) do { \ 831 SOCKBUF_LOCK_ASSERT(&(so)->so_rcv); \ 832 if (sb_notify(&(so)->so_rcv)) \ 833 sowakeup((so), &(so)->so_rcv); \ 835 SOCKBUF_UNLOCK(&(so)->so_rcv); \ 838 #define sorwakeup(so) do { \ 839 SOCKBUF_LOCK(&(so)->so_rcv); \ 840 sorwakeup_locked(so); \ 843 #define sowwakeup_locked(so) do { \ 844 SOCKBUF_LOCK_ASSERT(&(so)->so_snd); \ 845 if (sb_notify(&(so)->so_snd)) \ 846 sowakeup((so), &(so)->so_snd); \ 848 SOCKBUF_UNLOCK(&(so)->so_snd); \ 851 #define sowwakeup(so) do { \ 852 SOCKBUF_LOCK(&(so)->so_snd); \ 853 sowwakeup_locked(so); \ u_short so_qlen
Definition: user_socketvar.h:149
int sb_lowat
Definition: user_socketvar.h:392
u_int sb_ctl
Definition: user_socketvar.h:188
thread
Definition: __init__.py:35
void * so_emuldata
Definition: user_socketvar.h:217
int sb_timeo
Definition: user_socketvar.h:190
userland_cond_t timeo_cond
Definition: user_socketvar.h:154
int sobind(struct socket *so, struct sockaddr *nam)
Definition: user_socket.c:1612
EGLStreamKHR EGLint EGLint EGLint size
Definition: eglext.h:984
pthread_cond_t userland_cond_t
Definition: sctp_os_userspace.h:281
u_int sb_cc
Definition: user_socketvar.h:388
void soisconnecting(struct socket *so)
Definition: user_socket.c:332
int solisten(struct socket *so, int backlog)
Definition: user_socket.c:1666
struct mbuf * sb_mbtail
Definition: user_socketvar.h:179
DOMString p
Definition: WebCryptoAPI.idl:116
u_short so_qlen
Definition: user_socketvar.h:380
userland_mutex_t sb_mtx
Definition: user_socketvar.h:175
struct socket * xso_so
Definition: user_socketvar.h:372
u_int sb_hiwat
Definition: user_socketvar.h:389
int soaccept(struct socket *so, struct sockaddr **nam)
Definition: user_socket.c:1731
uint32_t so_gencnt
Definition: user_socketvar.h:216
void sofree(struct socket *so)
Definition: user_socket.c:243
int socreate(int dom, struct socket **aso, int type, int proto, struct ucred *cred, struct thread *td)
Definition: user_socket.c:1326
unsigned int uint32_t
Definition: ptypes.h:105
u_int sb_mbcnt
Definition: user_socketvar.h:186
struct label * so_label
Definition: user_socketvar.h:213
u_short so_qlimit
Definition: user_socketvar.h:382
Definition: user_socketvar.h:69
int so_dom
Definition: user_socketvar.h:133
struct mbuf * sb_lastrecord
Definition: user_socketvar.h:180
size_t xso_len
Definition: user_socketvar.h:371
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: gl2ext.h:134
struct mbuf * sb_sndptr
Definition: user_socketvar.h:182
short so_state
Definition: user_socketvar.h:376
uid_t so_uid
Definition: user_socketvar.h:396
int sodisconnect(struct socket *so)
Definition: user_socket.c:1980
int soreserve(struct socket *so, u_long sndcc, u_long rcvcc)
Definition: user_socket.c:1512
short so_type
Definition: user_socketvar.h:127
short so_state
Definition: user_socketvar.h:130
int xso_protocol
Definition: user_socketvar.h:378
void soisdisconnecting(struct socket *so)
Definition: user_socket.c:345
const GLfloat * m
Definition: gl2ext.h:850
off_t uio_offset
Definition: user_socketvar.h:88
void wakeup(void *ident, struct socket *so)
Definition: user_socket.c:378
Definition: user_socketvar.h:125
u_int sb_mbmax
Definition: user_socketvar.h:187
EGLenum EGLObjectKHR EGLLabelKHR label
Definition: eglext.h:121
struct socket * so_head
Definition: user_socketvar.h:145
short sb_flags
Definition: user_socketvar.h:191
#define TAILQ_ENTRY(type)
Definition: user_queue.h:466
Definition: user_uma.h:56
u_int sb_hiwat
Definition: user_socketvar.h:185
int stub
Definition: user_socketvar.h:75
struct mbuf * sb_mb
Definition: user_socketvar.h:178
int sbwait(struct sockbuf *sb)
Definition: user_socket.c:154
void soisconnected(struct socket *so)
Definition: user_socket.c:421
u_short so_qlimit
Definition: user_socketvar.h:152
u_short so_error
Definition: user_socketvar.h:384
struct iovec * uio_iov
Definition: user_socketvar.h:86
int solisten_proto_check(struct socket *so)
Definition: user_socket.c:1677
userland_mutex_t accept_mtx
Definition: user_socket.c:59
Definition: user_socketvar.h:74
short sb_flags
Definition: user_socketvar.h:394
GLint level
Definition: gl2.h:402
void
Definition: AVFoundationCFSoftLinking.h:81
u_long so_oobmark
Definition: user_socketvar.h:386
void socantrcvmore_locked(struct socket *so)
Definition: user_socket.c:121
EGLStreamKHR EGLint n
Definition: eglext.h:984
int sbreserve_locked(struct sockbuf *sb, u_long cc, struct socket *so)
Definition: user_socket.c:1459
int
Definition: runtests.py:53
u_int sb_mbmax
Definition: user_socketvar.h:391
short so_timeo
Definition: user_socketvar.h:383
int top
Definition: float-mm.c:109
OPENSSL_EXPORT const ASN1_OBJECT int const unsigned char int len
Definition: x509.h:1053
userland_cond_t sb_cond
Definition: user_socketvar.h:174
int uio_iovcnt
Definition: user_socketvar.h:87
struct socket * sonewconn(struct socket *head, int connstatus)
Definition: user_socket.c:454
int sctp_accept(struct socket *so, struct mbuf *nam)
Definition: sctp_usrreq.c:8335
struct ucred * so_cred
Definition: user_socketvar.h:212
short so_options
Definition: user_socketvar.h:374
u_long so_oobmark
Definition: user_socketvar.h:159
u_int sb_sndptroff
Definition: user_socketvar.h:183
void socantrcvmore(struct socket *so)
Definition: user_socket.c:128
struct accept_filter * so_accept_filter
Definition: user_socketvar.h:219
head
Definition: make-polyfill-tests.py:4
int so_count
Definition: user_socketvar.h:126
int so_qstate
Definition: user_socketvar.h:131
void solisten_proto(struct socket *so, int backlog)
Definition: user_socket.c:1691
short so_linger
Definition: user_socketvar.h:375
u_short so_error
Definition: user_socketvar.h:156
Definition: user_socketvar.h:164
EGLImageKHR EGLint * name
Definition: eglext.h:851
uio_seg
Definition: user_socketvar.h:68
int uiomove(void *cp, int n, struct uio *uio)
Definition: user_socket.c:631
void * so_accept_filter_arg
Definition: user_socketvar.h:220
int getsockaddr(struct sockaddr **namp, caddr_t uaddr, size_t len)
Definition: user_socket.c:685
short sb[N]
Definition: gcc-loops.cpp:21
Definition: user_mbuf.h:231
u_int sb_mbcnt
Definition: user_socketvar.h:390
void * so_pcb
Definition: user_socketvar.h:132
Definition: user_socketvar.h:85
#define off_t
Definition: macconfig.h:47
void sowakeup(struct socket *so, struct sockbuf *sb)
Definition: user_socket.c:1582
ssize_t uio_resid
Definition: user_socketvar.h:89
int sb_timeo
Definition: user_socketvar.h:393
short sa[N]
Definition: gcc-loops.cpp:20
Definition: InternalSettings.idl:27
char * so_accept_filter_str
Definition: user_socketvar.h:221
short so_timeo
Definition: user_socketvar.h:153
pthread_mutex_t userland_mutex_t
Definition: sctp_os_userspace.h:280
EGLenum type
Definition: eglext.h:63
Definition: user_socketvar.h:63
EGLStreamKHR EGLint EGLint EGLint const void * data
Definition: eglext.h:984
u_long sb_max
Definition: user_socket.c:1448
u_short so_incqlen
Definition: user_socketvar.h:150
Definition: user_socketvar.h:387
void socantsendmore(struct socket *so)
Definition: user_socket.c:143
#define SLIST_ENTRY(type)
Definition: user_queue.h:153
short sb_state
Definition: user_socketvar.h:176
int sctp_listen(struct socket *so, struct proc *p)
Definition: sctp_usrreq.c:8118
int maxsockets
Definition: user_environment.c:49
void soabort(struct socket *so)
Definition: user_socket.c:304
pid_t so_pgid
Definition: user_socketvar.h:385
#define TAILQ_HEAD(name, type)
Definition: user_queue.h:456
short so_options
Definition: user_socketvar.h:128
void sctp_finish(void)
Definition: sctp_usrreq.c:178
Definition: user_socketvar.h:63
uio_rw
Definition: user_socketvar.h:63
Definition: user_socketvar.h:70
int sctp_disconnect(struct socket *so)
Definition: sctp_usrreq.c:1080
int xso_family
Definition: user_socketvar.h:379
int sctp_attach(struct socket *so, int proto, uint32_t vrf_id)
void * so_upcallarg
Definition: user_socketvar.h:211
u_short so_incqlen
Definition: user_socketvar.h:381
void socantsendmore_locked(struct socket *so)
Definition: user_socket.c:135
struct sigio * so_sigio
Definition: user_socketvar.h:157
u_int sb_cc
Definition: user_socketvar.h:184
Definition: user_socketvar.h:218
userland_cond_t accept_cond
Definition: user_socket.c:60
Definition: bwe_rtp.cc:26
caddr_t so_pcb
Definition: user_socketvar.h:377
struct label * so_peerlabel
Definition: user_socketvar.h:214
uint32_t optval
Definition: tsctp.c:64
short so_type
Definition: user_socketvar.h:373
int sb_lowat
Definition: user_socketvar.h:189
int soconnect(struct socket *so, struct sockaddr *nam)
Definition: user_socket.c:2029
short so_linger
Definition: user_socketvar.h:129
Definition: user_socketvar.h:370