|
|
1.1 root 1: /*
2: * Copyright (c) 1982, 1986 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution is only permitted until one year after the first shipment
6: * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and
7: * binary forms are permitted provided that: (1) source distributions retain
8: * this entire copyright notice and comment, and (2) distributions including
9: * binaries display the following acknowledgement: This product includes
10: * software developed by the University of California, Berkeley and its
11: * contributors'' in the documentation or other materials provided with the
12: * distribution and in all advertising materials mentioning features or use
13: * of this software. Neither the name of the University nor the names of
14: * its contributors may be used to endorse or promote products derived from
15: * this software without specific prior written permission.
16: * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
17: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
18: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19: *
20: * @(#)uipc_proto.c 7.4 (Berkeley) 6/28/90
21: */
22:
23: #include "param.h"
24: #include "socket.h"
25: #include "protosw.h"
26: #include "domain.h"
27: #include "mbuf.h"
28:
29: /*
30: * Definitions of protocols supported in the UNIX domain.
31: */
32:
33: int uipc_usrreq();
34: int raw_init(),raw_usrreq(),raw_input(),raw_ctlinput();
35: extern struct domain unixdomain; /* or at least forward */
36:
37: struct protosw unixsw[] = {
38: { SOCK_STREAM, &unixdomain, 0, PR_CONNREQUIRED|PR_WANTRCVD|PR_RIGHTS,
39: 0, 0, 0, 0,
40: uipc_usrreq,
41: 0, 0, 0, 0,
42: },
43: { SOCK_DGRAM, &unixdomain, 0, PR_ATOMIC|PR_ADDR|PR_RIGHTS,
44: 0, 0, 0, 0,
45: uipc_usrreq,
46: 0, 0, 0, 0,
47: },
48: { 0, 0, 0, 0,
49: raw_input, 0, raw_ctlinput, 0,
50: raw_usrreq,
51: raw_init, 0, 0, 0,
52: }
53: };
54:
55: int unp_externalize(), unp_dispose();
56:
57: struct domain unixdomain =
58: { AF_UNIX, "unix", 0, unp_externalize, unp_dispose,
59: unixsw, &unixsw[sizeof(unixsw)/sizeof(unixsw[0])] };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.