Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/uipc_usrreq.c
Show First 20 Lines • Show All 422 Lines • ▼ Show 20 Lines | |||||
*/ | */ | ||||
static struct domain localdomain; | static struct domain localdomain; | ||||
static struct pr_usrreqs uipc_usrreqs_dgram, uipc_usrreqs_stream; | static struct pr_usrreqs uipc_usrreqs_dgram, uipc_usrreqs_stream; | ||||
static struct pr_usrreqs uipc_usrreqs_seqpacket; | static struct pr_usrreqs uipc_usrreqs_seqpacket; | ||||
static struct protosw localsw[] = { | static struct protosw localsw[] = { | ||||
{ | { | ||||
.pr_type = SOCK_STREAM, | .pr_type = SOCK_STREAM, | ||||
.pr_domain = &localdomain, | .pr_domain = &localdomain, | ||||
.pr_flags = PR_CONNREQUIRED|PR_WANTRCVD|PR_RIGHTS, | .pr_flags = PR_CONNREQUIRED|PR_WANTRCVD|PR_RIGHTS| | ||||
PR_CAPATTACH, | |||||
.pr_ctloutput = &uipc_ctloutput, | .pr_ctloutput = &uipc_ctloutput, | ||||
.pr_usrreqs = &uipc_usrreqs_stream | .pr_usrreqs = &uipc_usrreqs_stream | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_DGRAM, | .pr_type = SOCK_DGRAM, | ||||
.pr_domain = &localdomain, | .pr_domain = &localdomain, | ||||
.pr_flags = PR_ATOMIC|PR_ADDR|PR_RIGHTS, | .pr_flags = PR_ATOMIC|PR_ADDR|PR_RIGHTS|PR_CAPATTACH, | ||||
.pr_ctloutput = &uipc_ctloutput, | .pr_ctloutput = &uipc_ctloutput, | ||||
.pr_usrreqs = &uipc_usrreqs_dgram | .pr_usrreqs = &uipc_usrreqs_dgram | ||||
}, | }, | ||||
{ | { | ||||
.pr_type = SOCK_SEQPACKET, | .pr_type = SOCK_SEQPACKET, | ||||
.pr_domain = &localdomain, | .pr_domain = &localdomain, | ||||
/* | /* | ||||
* XXXRW: For now, PR_ADDR because soreceive will bump into them | * XXXRW: For now, PR_ADDR because soreceive will bump into them | ||||
* due to our use of sbappendaddr. A new sbappend variants is needed | * due to our use of sbappendaddr. A new sbappend variants is needed | ||||
* that supports both atomic record writes and control data. | * that supports both atomic record writes and control data. | ||||
*/ | */ | ||||
.pr_flags = PR_ADDR|PR_ATOMIC|PR_CONNREQUIRED|PR_WANTRCVD| | .pr_flags = PR_ADDR|PR_ATOMIC|PR_CONNREQUIRED| | ||||
PR_RIGHTS, | PR_WANTRCVD|PR_RIGHTS|PR_CAPATTACH, | ||||
.pr_ctloutput = &uipc_ctloutput, | .pr_ctloutput = &uipc_ctloutput, | ||||
.pr_usrreqs = &uipc_usrreqs_seqpacket, | .pr_usrreqs = &uipc_usrreqs_seqpacket, | ||||
}, | }, | ||||
}; | }; | ||||
static struct domain localdomain = { | static struct domain localdomain = { | ||||
.dom_family = AF_LOCAL, | .dom_family = AF_LOCAL, | ||||
.dom_name = "local", | .dom_name = "local", | ||||
▲ Show 20 Lines • Show All 2,535 Lines • Show Last 20 Lines |