xref: /csrg-svn/sys/kern/uipc_proto.c (revision 17102)
1 /*	uipc_proto.c	6.3	84/08/29	*/
2 
3 #include "param.h"
4 #include "socket.h"
5 #include "protosw.h"
6 #include "domain.h"
7 #include "mbuf.h"
8 
9 /*
10  * Definitions of protocols supported in the UNIX domain.
11  */
12 
13 int	uipc_usrreq();
14 int	raw_init(),raw_usrreq(),raw_input(),raw_ctlinput();
15 extern	struct domain unixdomain;		/* or at least forward */
16 
17 struct protosw unixsw[] = {
18 { SOCK_STREAM,	&unixdomain,	0,		PR_CONNREQUIRED|PR_WANTRCVD,
19   0,		0,		0,		0,
20   uipc_usrreq,
21   0,		0,		0,		0,
22 },
23 { SOCK_DGRAM,	&unixdomain,	0,		PR_ATOMIC|PR_ADDR|PR_RIGHTS,
24   0,		0,		0,		0,
25   uipc_usrreq,
26   0,		0,		0,		0,
27 },
28 { 0,		0,		0,		0,
29   raw_input,	0,		raw_ctlinput,	0,
30   raw_usrreq,
31   raw_init,	0,		0,		0,
32 }
33 };
34 
35 int	unp_externalize(), unp_dispose();
36 
37 struct domain unixdomain =
38     { AF_UNIX, "unix", 0, unp_externalize, unp_dispose,
39       unixsw, &unixsw[sizeof(unixsw)/sizeof(unixsw[0])] };
40