33 #ifndef _SYS_PROTOSW_H_ 34 #define _SYS_PROTOSW_H_ 71 void (*pr_input)(
struct mbuf *,
int len);
73 int (*pr_output)(
struct mbuf *m,
struct socket *so);
75 void (*pr_ctlinput)(int,
struct sockaddr *,
void *);
77 int (*pr_ctloutput)(int,
struct socket *, int, int,
81 int (*pr_ousrreq)(
struct socket *, int,
struct mbuf *,
85 void (*pr_init)(void);
86 void (*pr_fasttimo)(void);
88 void (*pr_slowtimo)(void);
90 void (*pr_drain)(void);
92 struct pr_usrreqs *pr_usrreqs;
107 #define PR_ATOMIC 0x01 109 #define PR_CONNREQUIRED 0x04 110 #define PR_WANTRCVD 0x08 111 #define PR_RIGHTS 0x10 112 #define PR_IMPLOPCL 0x20 113 #define PR_LASTHDR 0x40 131 #define PRU_CONNECT 4 133 #define PRU_DISCONNECT 6 134 #define PRU_SHUTDOWN 7 138 #define PRU_CONTROL 11 140 #define PRU_RCVOOB 13 141 #define PRU_SENDOOB 14 142 #define PRU_SOCKADDR 15 143 #define PRU_PEERADDR 16 144 #define PRU_CONNECT2 17 146 #define PRU_FASTTIMO 18 147 #define PRU_SLOWTIMO 19 148 #define PRU_PROTORCV 20 149 #define PRU_PROTOSEND 21 151 #define PRU_SEND_EOF 22 155 const char *prurequests[] = {
156 "ATTACH",
"DETACH",
"BIND",
"LISTEN",
157 "CONNECT",
"ACCEPT",
"DISCONNECT",
"SHUTDOWN",
158 "RCVD",
"SEND",
"ABORT",
"CONTROL",
159 "SENSE",
"RCVOOB",
"SENDOOB",
"SOCKADDR",
160 "PEERADDR",
"CONNECT2",
"FASTTIMO",
"SLOWTIMO",
161 "PROTORCV",
"PROTOSEND",
174 int (*pru_abort)(
struct socket *so);
175 int (*pru_accept)(
struct socket *so,
struct mbuf *nam);
176 int (*pru_attach)(
struct socket *so, intptr_t proto);
177 int (*pru_bind)(
struct socket *so,
struct mbuf *nam);
178 int (*pru_connect)(
struct socket *so,
struct mbuf *nam);
179 int (*pru_connect2)(
struct socket *so1,
struct socket *so2);
180 int (*pru_control)(
struct socket *so, intptr_t cmd, caddr_t data,
182 int (*pru_detach)(
struct socket *so);
183 int (*pru_disconnect)(
struct socket *so);
184 int (*pru_listen)(
struct socket *so);
185 int (*pru_peeraddr)(
struct socket *so,
struct mbuf *nam);
186 int (*pru_rcvd)(
struct socket *so, intptr_t flags);
187 int (*pru_rcvoob)(
struct socket *so,
struct mbuf *m,
194 int (*pru_send)(
struct socket *so,
int flags,
struct mbuf *m,
195 struct mbuf *addr,
struct mbuf *control);
198 int (*pru_sense)(
struct socket *so,
struct stat *sb);
199 int (*pru_shutdown)(
struct socket *so);
200 int (*pru_sockaddr)(
struct socket *so,
struct mbuf *nam);
203 int pru_accept_notsupp(
struct socket *so,
struct mbuf *nam);
204 int pru_connect2_notsupp(
struct socket *so1,
struct socket *so2);
205 int pru_control_notsupp(
struct socket *so,
int cmd, caddr_t data,
207 int pru_listen_notsupp(
struct socket *so);
208 int pru_rcvd_notsupp(
struct socket *so,
int flags);
209 int pru_rcvoob_notsupp(
struct socket *so,
struct mbuf *m,
int flags);
210 int pru_sense_null(
struct socket *so,
struct stat *sb);
220 extern struct pr_usrreqs pru_oldstyle;
232 #define PRC_ROUTEDEAD 1 234 #define PRC_QUENCH2 3 236 #define PRC_MSGSIZE 5 237 #define PRC_HOSTDEAD 6 238 #define PRC_HOSTUNREACH 7 239 #define PRC_UNREACH_NET 8 240 #define PRC_UNREACH_HOST 9 241 #define PRC_UNREACH_PROTOCOL 10 242 #define PRC_UNREACH_PORT 11 244 #define PRC_UNREACH_SRCFAIL 13 245 #define PRC_REDIRECT_NET 14 246 #define PRC_REDIRECT_HOST 15 247 #define PRC_REDIRECT_TOSNET 16 248 #define PRC_REDIRECT_TOSHOST 17 249 #define PRC_TIMXCEED_INTRANS 18 250 #define PRC_TIMXCEED_REASS 19 251 #define PRC_PARAMPROB 20 252 #define PRC_UNREACH_ADMIN_PROHIB 21 256 #define PRC_IS_REDIRECT(cmd) \ 257 ((cmd) >= PRC_REDIRECT_NET && (cmd) <= PRC_REDIRECT_TOSHOST) 260 char *prcrequests[] = {
261 "IFDOWN",
"ROUTEDEAD",
"IFUP",
"DEC-BIT-QUENCH2",
262 "QUENCH",
"MSGSIZE",
"HOSTDEAD",
"#7",
263 "NET-UNREACH",
"HOST-UNREACH",
"PROTO-UNREACH",
"PORT-UNREACH",
264 "#12",
"SRCFAIL-UNREACH",
"NET-REDIRECT",
"HOST-REDIRECT",
265 "TOSNET-REDIRECT",
"TOSHOST-REDIRECT",
"TX-INTRANS",
"TX-REASS",
266 "PARAMPROB",
"ADMIN-UNREACH" 283 #define PRCO_GETOPT 0 284 #define PRCO_SETOPT 1 289 char *prcorequests[] = {
295 void pfctlinput(
int,
struct sockaddr *);
296 struct protosw *pffindproto(
int family,
int protocol,
int type);
297 struct protosw *pffindtype(
int family,
int type);
Definition: socketvar.h:49