-/*
- * sockif:
- * Contains socket interface:
- * dispatch vector abstracting the interface between protocols and
- * the socket layer.
- * TODO: add sf_sosense()
- */
-struct sockif
-{ int (*sf_soabort)(struct socket *, struct kextcb *);
- int (*sf_soaccept)(struct socket *, struct sockaddr **,
- struct kextcb *);
- int (*sf_sobind)(struct socket *, struct sockaddr *, struct kextcb *);
- int (*sf_soclose)(struct socket *, struct kextcb *);
- int (*sf_soconnect)(struct socket *, struct sockaddr *,
- struct kextcb *);
- int (*sf_soconnect2)(struct socket *, struct socket *,
- struct kextcb *);
- int (*sf_socontrol)(struct socket *, struct sockopt *,
- struct kextcb *);
- int (*sf_socreate)(struct socket *, struct protosw *, struct kextcb *);
- int (*sf_sodisconnect)(struct socket *, struct kextcb *);
- int (*sf_sofree)(struct socket *, struct kextcb *);
- int (*sf_sogetopt)(struct socket *, int, int, struct mbuf **,
- struct kextcb *);
- int (*sf_sohasoutofband)(struct socket *, struct kextcb *);
- int (*sf_solisten)(struct socket *, struct kextcb *);
- int (*sf_soreceive)(struct socket *, struct sockaddr **, struct uio **,
- struct mbuf **, struct mbuf **, int *,
- struct kextcb *);
- int (*sf_sorflush)(struct socket *, struct kextcb *);
- int (*sf_sosend)(struct socket *, struct sockaddr **, struct uio **,
- struct mbuf **, struct mbuf **, int *,
- struct kextcb *);
- int (*sf_sosetopt)(struct socket *, int, int, struct mbuf *,
- struct kextcb *);
- int (*sf_soshutdown)(struct socket *, int, struct kextcb *);
- /* Calls sorwakeup() */
- int (*sf_socantrcvmore)(struct socket *, struct kextcb *);
- /* Calls sowwakeup() */
- int (*sf_socantsendmore)(struct socket *, struct kextcb *);
- /* Calls soqinsque(), sorwakeup(), sowwakeup() */
- int (*sf_soisconnected)(struct socket *, struct kextcb *);
- int (*sf_soisconnecting)(struct socket *, struct kextcb *);
- /* Calls sowwakeup(), sorwakeup() */
- int (*sf_soisdisconnected)(struct socket *, struct kextcb *);
- /* Calls sowwakeup(), sorwakeup() */
- int (*sf_soisdisconnecting)(struct socket *, struct kextcb *);
- /* Calls soreserve(), soqinsque(), soqremque(), sorwakeup() */
- struct socket *(*sf_sonewconn1)(struct socket *, int, struct kextcb *);
- int (*sf_soqinsque)(struct socket *, struct socket *, int,
- struct kextcb *);
- int (*sf_soqremque)(struct socket *, int, struct kextcb *);
- int (*sf_soreserve)(struct socket *, u_long, u_long, struct kextcb *);
- int (*sf_sowakeup)(struct socket *, struct sockbuf *,
- struct kextcb *);
-};
-