appletalk SIOCATALKDIFADDR patch for pre-2.0.31-3

a sun (asun@zoology.washington.edu)
Tue, 5 Aug 1997 14:39:28 -0700 (PDT)


here's my patch to delete appletalk interfaces applied to
pre-2.0.31-3. as it's simple, it would be nice if it got into 2.0.31.

--- linux/include/linux/atalk.h.save Tue Aug 5 14:32:04 1997
+++ linux/include/linux/atalk.h Wed Jun 25 15:39:43 1997
@@ -8,6 +8,8 @@
#ifndef __LINUX_ATALK_H__
#define __LINUX_ATALK_H__

+#define SIOCATALKDIFADDR (SIOCPROTOPRIVATE + 0)
+
#define ATPORT_FIRST 1
#define ATPORT_RESERVED 128
#define ATPORT_LAST 255
--- linux/net/appletalk/ddp.c.save Tue Aug 5 14:30:41 1997
+++ linux/net/appletalk/ddp.c Tue Aug 5 14:29:55 1997
@@ -854,6 +854,16 @@
((struct sockaddr_at *)(&atreq.ifr_addr))->sat_addr.s_net=atif->address.s_net;
((struct sockaddr_at *)(&atreq.ifr_addr))->sat_addr.s_node=ATADDR_BCAST;
break;
+ case SIOCATALKDIFADDR:
+ if(!suser())
+ return -EPERM;
+ if(sa->sat_family!=AF_APPLETALK)
+ return -EINVAL;
+ if(atif==NULL)
+ return -EADDRNOTAVAIL;
+ atrtr_device_down(atif->dev);
+ atif_drop_device(atif->dev);
+ break;
}
memcpy_tofs(arg,&atreq,sizeof(atreq));
return 0;
@@ -1995,6 +2005,7 @@
case SIOCGIFADDR:
case SIOCSIFADDR:
case SIOCGIFBRDADDR:
+ case SIOCATALKDIFADDR:
return atif_ioctl(cmd,(void *)arg);
/*
* Physical layer ioctl calls