|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1984, 1985, 1986, 1987 Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms are permitted ! 6: * provided that the above copyright notice and this paragraph are ! 7: * duplicated in all such forms and that any documentation, ! 8: * advertising materials, and other materials related to such ! 9: * distribution and use acknowledge that the software was developed ! 10: * by the University of California, Berkeley. The name of the ! 11: * University may not be used to endorse or promote products derived ! 12: * from this software without specific prior written permission. ! 13: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 14: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 15: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 16: * ! 17: * @(#)ns_proto.c 7.3 (Berkeley) 6/29/88 ! 18: */ ! 19: ! 20: #include "param.h" ! 21: #include "socket.h" ! 22: #include "protosw.h" ! 23: #include "domain.h" ! 24: #include "mbuf.h" ! 25: ! 26: #include "ns.h" ! 27: ! 28: /* ! 29: * NS protocol family: IDP, ERR, PE, SPP, ROUTE. ! 30: */ ! 31: int ns_init(); ! 32: int idp_input(), idp_output(), idp_ctlinput(), idp_usrreq(); ! 33: int idp_raw_usrreq(), idp_ctloutput(); ! 34: int spp_input(), spp_ctlinput(); ! 35: int spp_usrreq(), spp_usrreq_sp(), spp_ctloutput(); ! 36: int spp_init(), spp_fasttimo(), spp_slowtimo(); ! 37: extern int raw_usrreq(); ! 38: ! 39: extern struct domain nsdomain; ! 40: ! 41: struct protosw nssw[] = { ! 42: { 0, &nsdomain, 0, 0, ! 43: 0, idp_output, 0, 0, ! 44: 0, ! 45: ns_init, 0, 0, 0, ! 46: }, ! 47: { SOCK_DGRAM, &nsdomain, 0, PR_ATOMIC|PR_ADDR, ! 48: 0, 0, idp_ctlinput, idp_ctloutput, ! 49: idp_usrreq, ! 50: 0, 0, 0, 0, ! 51: }, ! 52: { SOCK_STREAM, &nsdomain, NSPROTO_SPP, PR_CONNREQUIRED|PR_WANTRCVD, ! 53: spp_input, 0, spp_ctlinput, spp_ctloutput, ! 54: spp_usrreq, ! 55: spp_init, spp_fasttimo, spp_slowtimo, 0, ! 56: }, ! 57: { SOCK_SEQPACKET,&nsdomain, NSPROTO_SPP, PR_CONNREQUIRED|PR_WANTRCVD|PR_ATOMIC, ! 58: spp_input, 0, spp_ctlinput, spp_ctloutput, ! 59: spp_usrreq_sp, ! 60: 0, 0, 0, 0, ! 61: }, ! 62: { SOCK_RAW, &nsdomain, NSPROTO_RAW, PR_ATOMIC|PR_ADDR, ! 63: idp_input, idp_output, 0, idp_ctloutput, ! 64: idp_raw_usrreq, ! 65: 0, 0, 0, 0, ! 66: }, ! 67: { SOCK_RAW, &nsdomain, NSPROTO_ERROR, PR_ATOMIC|PR_ADDR, ! 68: idp_ctlinput, idp_output, 0, idp_ctloutput, ! 69: idp_raw_usrreq, ! 70: 0, 0, 0, 0, ! 71: }, ! 72: }; ! 73: ! 74: struct domain nsdomain = ! 75: { AF_NS, "network systems", 0, 0, 0, ! 76: nssw, &nssw[sizeof(nssw)/sizeof(nssw[0])] }; ! 77:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.