+extern int sbappendaddr(struct sockbuf *sb, struct sockaddr *asa,
+ struct mbuf *m0, struct mbuf *control, int *error_out);
+extern int sbappendrecord(struct sockbuf *sb, struct mbuf *m0);
+extern void sbflush(struct sockbuf *sb);
+extern int sbspace(struct sockbuf *sb);
+extern int soabort(struct socket *so);
+extern void socantrcvmore(struct socket *so);
+extern void socantsendmore(struct socket *so);
+extern int sodisconnect(struct socket *so);
+extern void sofree(struct socket *so);
+extern void sofreelastref(struct socket *, int);
+extern void soisconnected(struct socket *so);
+extern boolean_t socanwrite(struct socket *so);
+extern void soisconnecting(struct socket *so);
+extern void soisdisconnected(struct socket *so);
+extern void soisdisconnecting(struct socket *so);
+extern struct socket *sonewconn(struct socket *head, int connstatus,
+ const struct sockaddr *from);
+extern int sopoll(struct socket *so, int events, struct ucred *cred, void *wql);
+extern int sooptcopyin(struct sockopt *sopt, void *data, size_t len,
+ size_t minlen);
+extern int sooptcopyout(struct sockopt *sopt, void *data, size_t len);
+extern int soreceive(struct socket *so, struct sockaddr **paddr,
+ struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp);
+extern int soreserve(struct socket *so, u_int32_t sndcc, u_int32_t rcvcc);
+extern void soreserve_preconnect(struct socket *so, unsigned int pre_cc);
+extern void sorwakeup(struct socket *so);
+extern int sosend(struct socket *so, struct sockaddr *addr, struct uio *uio,
+ struct mbuf *top, struct mbuf *control, int flags);
+extern int sosend_list(struct socket *so, struct uio **uio, u_int uiocnt, int flags);
+extern int soreceive_list(struct socket *so, struct recv_msg_elem *msgarray, u_int msgcnt,
+ int *flags);
+extern void sonullevent(struct socket *so, void *arg, uint32_t hint);
+__END_DECLS
+
+#ifdef BSD_KERNEL_PRIVATE
+struct file;
+struct filedesc;
+struct so_tcdbg;
+
+__BEGIN_DECLS
+/* Not exported */
+extern void socketinit(void);