Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/protosw.h
Show First 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | |||||
* similar to the vnode VOP interface. | * similar to the vnode VOP interface. | ||||
*/ | */ | ||||
struct ifnet; | struct ifnet; | ||||
struct stat; | struct stat; | ||||
struct ucred; | struct ucred; | ||||
struct uio; | struct uio; | ||||
/* USE THESE FOR YOUR PROTOTYPES ! */ | /* USE THESE FOR YOUR PROTOTYPES ! */ | ||||
typedef int pr_input_t(struct mbuf **, int*, int); | |||||
typedef void pr_ctlinput_t(int, struct sockaddr *, void *); | |||||
typedef int pr_ctloutput_t(struct socket *, struct sockopt *); | typedef int pr_ctloutput_t(struct socket *, struct sockopt *); | ||||
typedef void pr_fasttimo_t(void); | typedef void pr_fasttimo_t(void); | ||||
typedef void pr_slowtimo_t(void); | typedef void pr_slowtimo_t(void); | ||||
typedef void pr_drain_t(void); | typedef void pr_drain_t(void); | ||||
typedef void pr_abort_t(struct socket *); | typedef void pr_abort_t(struct socket *); | ||||
typedef int pr_accept_t(struct socket *, struct sockaddr **); | typedef int pr_accept_t(struct socket *, struct sockaddr **); | ||||
typedef int pr_attach_t(struct socket *, int, struct thread *); | typedef int pr_attach_t(struct socket *, int, struct thread *); | ||||
typedef int pr_bind_t(struct socket *, struct sockaddr *, struct thread *); | typedef int pr_bind_t(struct socket *, struct sockaddr *, struct thread *); | ||||
Show All 37 Lines | |||||
typedef int pr_aio_queue_t(struct socket *, struct kaiocb *); | typedef int pr_aio_queue_t(struct socket *, struct kaiocb *); | ||||
struct protosw { | struct protosw { | ||||
short pr_type; /* socket type used for */ | short pr_type; /* socket type used for */ | ||||
struct domain *pr_domain; /* domain protocol a member of */ | struct domain *pr_domain; /* domain protocol a member of */ | ||||
short pr_protocol; /* protocol number */ | short pr_protocol; /* protocol number */ | ||||
short pr_flags; /* see below */ | short pr_flags; /* see below */ | ||||
/* protocol-protocol hooks */ | /* protocol-protocol hooks */ | ||||
pr_input_t *pr_input; /* input to protocol (from below) */ | |||||
pr_ctlinput_t *pr_ctlinput; /* control input (from below) */ | |||||
pr_ctloutput_t *pr_ctloutput; /* control output (from above) */ | pr_ctloutput_t *pr_ctloutput; /* control output (from above) */ | ||||
/* utility hooks */ | /* utility hooks */ | ||||
pr_fasttimo_t *pr_fasttimo; /* fast timeout (200ms) */ | pr_fasttimo_t *pr_fasttimo; /* fast timeout (200ms) */ | ||||
pr_slowtimo_t *pr_slowtimo; /* slow timeout (500ms) */ | pr_slowtimo_t *pr_slowtimo; /* slow timeout (500ms) */ | ||||
pr_drain_t *pr_drain; /* flush any excess space possible */ | pr_drain_t *pr_drain; /* flush any excess space possible */ | ||||
struct pr_usrreqs *pr_usrreqs; /* user-protocol hook */ | struct pr_usrreqs *pr_usrreqs; /* user-protocol hook */ | ||||
LIST_ENTRY(protosw) pr_fasttimos; | LIST_ENTRY(protosw) pr_fasttimos; | ||||
▲ Show 20 Lines • Show All 241 Lines • Show Last 20 Lines |