Changeset View
Changeset View
Standalone View
Standalone View
sys/net/rtsock.c
Show First 20 Lines • Show All 2,642 Lines • ▼ Show 20 Lines | static SYSCTL_NODE(_net, PF_ROUTE, routetable, CTLFLAG_RD | CTLFLAG_MPSAFE, | ||||
sysctl_rtsock, "Return route tables and interface/address lists"); | sysctl_rtsock, "Return route tables and interface/address lists"); | ||||
/* | /* | ||||
* Definitions of protocols supported in the ROUTE domain. | * Definitions of protocols supported in the ROUTE domain. | ||||
*/ | */ | ||||
static struct domain routedomain; /* or at least forward */ | static struct domain routedomain; /* or at least forward */ | ||||
static struct pr_usrreqs route_usrreqs = { | static struct protosw routesw = { | ||||
.pru_abort = rts_close, | |||||
.pru_attach = rts_attach, | |||||
.pru_detach = rts_detach, | |||||
.pru_send = rts_send, | |||||
.pru_shutdown = rts_shutdown, | |||||
.pru_close = rts_close, | |||||
}; | |||||
static struct protosw routesw[] = { | |||||
{ | |||||
.pr_type = SOCK_RAW, | .pr_type = SOCK_RAW, | ||||
.pr_domain = &routedomain, | .pr_domain = &routedomain, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR, | .pr_flags = PR_ATOMIC|PR_ADDR, | ||||
.pr_usrreqs = &route_usrreqs | .pr_abort = rts_close, | ||||
} | .pr_attach = rts_attach, | ||||
.pr_detach = rts_detach, | |||||
.pr_send = rts_send, | |||||
.pr_shutdown = rts_shutdown, | |||||
.pr_close = rts_close, | |||||
}; | }; | ||||
static struct domain routedomain = { | static struct domain routedomain = { | ||||
.dom_family = PF_ROUTE, | .dom_family = PF_ROUTE, | ||||
.dom_name = "route", | .dom_name = "route", | ||||
.dom_protosw = routesw, | .dom_nprotosw = 1, | ||||
.dom_protoswNPROTOSW = &routesw[nitems(routesw)] | .dom_protosw = { &routesw }, | ||||
}; | }; | ||||
DOMAIN_SET(route); | DOMAIN_SET(route); |