|
|
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.