|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: * Copyright (c) 1998 Apple Computer, Inc. ! 24: */ ! 25: ! 26: /* at_proto.c ! 27: */ ! 28: ! 29: #include <sys/param.h> ! 30: #include <sys/systm.h> ! 31: #include <sys/ioctl.h> ! 32: #include <sys/errno.h> ! 33: #include <sys/malloc.h> ! 34: #include <sys/socket.h> ! 35: #include <sys/socketvar.h> ! 36: #include <sys/protosw.h> ! 37: #include <sys/domain.h> ! 38: #include <sys/mbuf.h> ! 39: ! 40: #include <sys/sysctl.h> ! 41: ! 42: #include <net/if.h> ! 43: ! 44: #include <netat/appletalk.h> ! 45: #include <netat/at_var.h> ! 46: #include <netat/ddp.h> ! 47: ! 48: struct domain atalkdomain; ! 49: ! 50: extern int ddp_pru_abort(struct socket *so); ! 51: ! 52: extern int ddp_pru_attach(struct socket *so, int proto, ! 53: struct proc *p); ! 54: extern int ddp_pru_bind(struct socket *so, struct sockaddr *nam, ! 55: struct proc *p); ! 56: extern int ddp_pru_connect(struct socket *so, struct sockaddr *nam, ! 57: struct proc *p); ! 58: ! 59: extern int ddp_pru_control(struct socket *so, u_long cmd, caddr_t data, ! 60: struct ifnet *ifp, struct proc *p); ! 61: extern int ddp_pru_detach(struct socket *so); ! 62: extern int ddp_pru_disconnect(struct socket *so); ! 63: ! 64: extern int ddp_pru_peeraddr(struct socket *so, ! 65: struct sockaddr **nam); ! 66: ! 67: extern int ddp_pru_send(struct socket *so, int flags, struct mbuf *m, ! 68: struct sockaddr *addr, struct mbuf *control, ! 69: struct proc *p); ! 70: ! 71: extern int ddp_pru_shutdown(struct socket *so); ! 72: extern int ddp_pru_sockaddr(struct socket *so, ! 73: struct sockaddr **nam); ! 74: ! 75: /* ! 76: * Dummy usrreqs struct created by Ted for FreeBSD 3.x integration. ! 77: * Fill in supported functions as appropriate. ! 78: */ ! 79: struct pr_usrreqs ddp_usrreqs = { ! 80: ddp_pru_abort, pru_accept_notsupp, ddp_pru_attach, ddp_pru_bind, ! 81: ddp_pru_connect, pru_connect2_notsupp, ddp_pru_control, ddp_pru_detach, ! 82: ddp_pru_disconnect, pru_listen_notsupp, ddp_pru_peeraddr, pru_rcvd_notsupp, ! 83: pru_rcvoob_notsupp, ddp_pru_send, pru_sense_null, ddp_pru_shutdown, ! 84: ddp_pru_sockaddr, sosend, soreceive, sopoll ! 85: }; ! 86: ! 87: struct protosw atalksw[] = { ! 88: { SOCK_RAW, &atalkdomain, /*protocol*/ 0, PR_ATOMIC|PR_ADDR, ! 89: /*input*/ 0, /*output*/ 0, /*clinput*/ 0, ddp_ctloutput, ! 90: /*ousrreq*/ 0, ! 91: ddp_init, /*fastto*/ 0, /*slowto*/ 0, /*drain*/ 0, ! 92: /*sysctl*/ 0, &ddp_usrreqs ! 93: } ! 94: }; ! 95: ! 96: struct domain atalkdomain = ! 97: { AF_APPLETALK, "appletalk", 0, 0, 0, ! 98: atalksw, 0, ! 99: 0, 0, 0, ! 100: DDP_X_HDR_SIZE, 0 ! 101: }; ! 102: ! 103: SYSCTL_NODE(_net, PF_APPLETALK, appletalk, CTLFLAG_RW, 0, "AppleTalk Family"); ! 104:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.