]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netat/ddp_proto.c
xnu-2422.1.72.tar.gz
[apple/xnu.git] / bsd / netat / ddp_proto.c
diff --git a/bsd/netat/ddp_proto.c b/bsd/netat/ddp_proto.c
deleted file mode 100644 (file)
index b55d196..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. The rights granted to you under the License
- * may not be used to create, or enable the creation or redistribution of,
- * unlawful or unlicensed copies of an Apple operating system, or to
- * circumvent, violate, or enable the circumvention or violation of, any
- * terms of an Apple operating system software license agreement.
- * 
- * Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
- */
-/*
- *     Copyright (c) 1988, 1989, 1997, 1998 Apple Computer, Inc. 
- *
- *   Modified for MP, 1996 by Tuyen Nguyen
- *   Modified, March 17, 1997 by Tuyen Nguyen for MacOSX.
- */
-
-/* ddp_proto.c: 2.0, 1.23; 10/18/93; Apple Computer, Inc. */
-
-#include <sys/errno.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <machine/spl.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/proc.h>
-#include <sys/filedesc.h>
-#include <sys/fcntl.h>
-#include <sys/mbuf.h>
-#include <sys/ioctl.h>
-#include <sys/malloc.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-
-#include <net/if.h>
-
-#include <netat/sysglue.h>
-#include <netat/appletalk.h>
-#include <netat/at_pcb.h>
-#include <netat/at_var.h>
-#include <netat/ddp.h>
-#include <netat/zip.h>
-
-extern at_ifaddr_t *ifID_home;
-
-void ddp_putmsg(gref, mp)
-       gref_t *gref;
-       gbuf_t *mp;
-{
-       register ioc_t  *iocbp;
-       register int    error;
-       at_ddp_t *ddp;
-
-       switch(gbuf_type(mp)) {
-       case MSG_DATA :
-               /* If this message is going out on a socket that's not bound, 
-                * nail it.
-                */
-               ddp = (at_ddp_t *)gbuf_rptr(mp);
-               if ((ddp->type == DDP_ATP) || (ddp->type == DDP_ADSP)) {
-                       if ((gref == 0) || (gref->lport == 0)) {
-                               int src_addr_included = 
-                                 ((ddp->type==DDP_ATP) && ddp->src_node)? 1 : 0;
-                               (void)ddp_output(&mp, ddp->src_socket, 
-                                                src_addr_included);
-                               return;
-                       }
-               }
-
-               if ((gref == 0) || (gref->lport == 0)) {
-                       gbuf_freel(mp);
-                       if (gref)
-                               atalk_notify(gref, ENOTCONN);
-                       return;
-               }
-               if ((error = ddp_output(&mp, gref->lport, 0)) != 0) {
-                       if (gref)
-                               atalk_notify(gref, error);
-               }
-               return;
-
-       case MSG_IOCTL :
-               iocbp = (ioc_t *)gbuf_rptr(mp);
-               if (DDP_IOC_MYIOCTL(iocbp->ioc_cmd)) {
-                       switch(iocbp->ioc_cmd) {
-                       case DDP_IOC_GET_CFG :
-                         /* Note that DDP_IOC_GET_CFG / AppleTalk ddp_config()
-                            fills in the net and node of the ddp_addr_t param
-                            with the net and node of the default interface, 
-                            not the net and node that has been bound, as 
-                            getsockname() and sockopt DDP_GETSOCKNAME do.
-                         */
-#ifdef APPLETALK_DEBUG
-                               kprintf("ddp_putmsg: DDP_IOC_GET_CFG\n");
-#endif
-                               if (gbuf_cont(mp))
-                                       gbuf_freem(gbuf_cont(mp));
-                               if ((gbuf_cont(mp) = 
-                                    gbuf_alloc(sizeof(ddp_addr_t),
-                                               PRI_MED)) == NULL) {
-                                       ioc_ack(ENOBUFS, mp, gref);
-                                       break;
-                               }
-                               {
-                               /* *** was ddp_get_cfg() *** */
-                                 ddp_addr_t *cfgp = 
-                                   (ddp_addr_t *)gbuf_rptr(gbuf_cont(mp));
-                                 cfgp->inet.net = ifID_home->ifThisNode.s_net;
-                                 cfgp->inet.node = ifID_home->ifThisNode.s_node;
-#ifdef NOT_YET
-                                 cfgp->inet.net = gref->laddr.s_net;
-                                 cfgp->inet.node = gref->laddr.s_node;
-#endif
-                                 cfgp->inet.socket = gref->lport;
-                                 cfgp->ddptype = gref->ddptype;
-                               }
-                               gbuf_wset(gbuf_cont(mp), sizeof(ddp_addr_t));
-                               iocbp->ioc_count = sizeof(ddp_addr_t);
-                               ioc_ack(0, mp, gref);
-                               break;
-                       default:
-                               ioc_ack(EINVAL, mp, gref);
-                               break;
-                       }
-               } else {
-                       /* Unknown ioctl */
-                       ioc_ack(EINVAL, mp, gref);
-               }
-               break;
-       default :
-#ifdef APPLETALK_DEBUG
-               kprintf("unexpected message type in ddp_putmsg: %d/n", 
-                       gbuf_type(mp));
-#endif
-               gbuf_freem(mp);
-               break;
-       }
-       return;
-} /* ddp_putmsg */
-
-gbuf_t  *ddp_compress_msg(mp)
-register gbuf_t        *mp;
-{
-        register gbuf_t   *tmp;
-
-        while (gbuf_len(mp) == 0) {
-                tmp = mp;
-                mp = gbuf_cont(mp);
-                gbuf_freeb(tmp);
-
-               if (mp == NULL)
-                       break;
-       }
-       return (mp);
-}