/*- * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * %sccs.include.redist.c% * * @(#)uipc_proto.c 8.1 (Berkeley) 06/10/93 */ #include #include #include #include #include /* * Definitions of protocols supported in the UNIX domain. */ int uipc_usrreq(), raw_usrreq(); void raw_init(),raw_input(),raw_ctlinput(); extern struct domain unixdomain; /* or at least forward */ struct protosw unixsw[] = { { SOCK_STREAM, &unixdomain, 0, PR_CONNREQUIRED|PR_WANTRCVD|PR_RIGHTS, 0, 0, 0, 0, uipc_usrreq, 0, 0, 0, 0, }, { SOCK_DGRAM, &unixdomain, 0, PR_ATOMIC|PR_ADDR|PR_RIGHTS, 0, 0, 0, 0, uipc_usrreq, 0, 0, 0, 0, }, { 0, 0, 0, 0, raw_input, 0, raw_ctlinput, 0, raw_usrreq, raw_init, 0, 0, 0, } }; int unp_externalize(), unp_dispose(); struct domain unixdomain = { AF_UNIX, "unix", 0, unp_externalize, unp_dispose, unixsw, &unixsw[sizeof(unixsw)/sizeof(unixsw[0])] };