summaryrefslogtreecommitdiff
path: root/pfinet/linux
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2000-02-04 06:32:39 +0000
committerRoland McGrath <roland@gnu.org>2000-02-04 06:32:39 +0000
commitdb9a26cbd125ec106e040ea6084911f9bc0c0198 (patch)
tree8394aedf0addf9de2afd46d00c192d20d9eb9092 /pfinet/linux
parent8880a73970b23f10c720011cb910c0e0e1e02975 (diff)
2000-02-03 Roland McGrath <roland@baalperazim.frob.com>
Complete overhaul of pfinet based on the IPv4 networking code from the Linux 2.2.12 kernel sources. This page describes a single unified set of interdependent changes, but there are so many changes that I have broken up the log entry into paragraphs based on rough topical divisions of the work involved. Subset of verbatim Linux 2.2.12 sources imported on a vendor branch. * linux-src: New directory, see README for details. * README: New file, describes linux-src layout and procedures for tracking Linux source updates. Light modifications to linux-src files to avoid really bending over backwards with the glue macros. All modifications to files in linux-src are conditionalized by #ifdef _HURD_. * linux-src/include/linux/net.h [_HURD_] (struct socket): New members refcnt and identity; elide members fasync_list, file. * linux-src/include/linux/rtnetlink.h [! CONFIG_RTNETLINK] (rtnl_shlock, rtnl_shunlock) [! _HURD_]: Conditionalize contents on this, making these no-ops #ifdef _HURD_. * linux-src/net/core/dev.c [_HURD_] (dev_ioctl): Don't define the function, instead #define it to 0. * linux-src/net/ipv4/af_inet.c [_HURD_] (inet_ioctl): Likewise. * linux-src/net/ipv4/arp.c [_HURD_] (arp_ioctl): Likewise. * linux-src/net/ipv4/udp.c [_HURD_] (udp_ioctl): Likewise. * linux-src/net/ipv4/tcp.c [_HURD_] (tcp_ioctl): Likewise. [_HURD_] (tcp_tiocinq): New function, TIOCINQ code from tcp_ioctl. * linux-src/net/ipv4/devinet.c [_HURD_] (devinet_ioctl): Don't define the function, instead #define it to 0. [_HURD_] (configure_device): New function, cobbled from SIOCSIFADDR and SIOCSIFNETMASK code from devinet_ioctl. * glue-include/asm, glue-include/linux: New directories. These contain glue kludge headers that replace all of the Linux <asm/*.h> headers except checksum.h, and several of the Linux <linux/*.h> headers (the remainder come from linux-src/include/linux and are mostly unmodified). * glue-include/asm/atomic.h: New file, glue replacement header. * glue-include/asm/bitops.h: New file, glue replacement header. * glue-include/asm/byteorder.h: New file, glue replacement header. * glue-include/asm/checksum.h: New file, glue replacement header. * glue-include/asm/errno.h: New file, glue replacement header. * glue-include/asm/hardirq.h: New file, glue replacement header. * glue-include/asm/init.h: New file, glue replacement header. * glue-include/asm/segment.h: New file, glue replacement header. * glue-include/asm/spinlock.h: New file, glue replacement header. * glue-include/asm/system.h: New file, glue replacement header. * glue-include/asm/types.h: New file, glue replacement header. * glue-include/asm/uaccess.h: New file, glue replacement header. * glue-include/linux/autoconf.h: New file, glue replacement header. * glue-include/linux/binfmts.h: New file, glue replacement header. * glue-include/linux/config.h: New file, glue replacement header. * glue-include/linux/errno.h: New file, glue replacement header. * glue-include/linux/fcntl.h: New file, glue replacement header. * glue-include/linux/fs.h: New file, glue replacement header. * glue-include/linux/in.h: New file, glue replacement header. * glue-include/linux/in6.h: New file, glue replacement header. * glue-include/linux/interrupt.h: New file, glue replacement header. * glue-include/linux/ioctl.h: New file, glue replacement header. * glue-include/linux/ipv6.h: New file, glue replacement header. * glue-include/linux/kernel.h: New file, glue replacement header. * glue-include/linux/limits.h: New file, glue replacement header. * glue-include/linux/major.h: New file, glue replacement header. * glue-include/linux/malloc.h: New file, glue replacement header. * glue-include/linux/mm.h: New file, glue replacement header. * glue-include/linux/param.h: New file, glue replacement header. * glue-include/linux/personality.h: New file, glue replacement header. * glue-include/linux/poll.h: New file, glue replacement header. * glue-include/linux/proc_fs.h: New file, glue replacement header. * glue-include/linux/sched.h: New file, glue replacement header. * glue-include/linux/slab.h: New file, glue replacement header. * glue-include/linux/socket.h: New file, glue replacement header. * glue-include/linux/sockios.h: New file, glue replacement header. * glue-include/linux/stat.h: New file, glue replacement header. * glue-include/linux/string.h: New file, glue replacement header. * glue-include/linux/termios.h: New file, glue replacement header. * glue-include/linux/time.h: New file, glue replacement header. * glue-include/linux/timer.h: New file, glue replacement header. * glue-include/linux/timex.h: New file, glue replacement header. * glue-include/linux/types.h: New file, glue replacement header. * glue-include/linux/un.h: New file, glue replacement header. * glue-include/linux/version.h: New file, glue replacement header. * glue-include/linux/wait.h: New file, glue replacement header. * kmem_cache.c: New file. Glue code replaces Linux kmem_cache_t et al. * stubs.c: New file. No-op functions and stub variables for a few things the Linux networking code needs to link. * Makefile (core-srcs, arch-lib-srcs, ethernet-srcs, ipv4-srcs): New variables, listing sources used from linux-src subdirectories. (LINUXSRCS): Define using those. (SRCS): Remove devices.c; add kmem_cache.c, stubs.c. (UNUSEDSRC): Variable removed. (vpath %.c): Remove vpath for $(srcdir)/linux-inet directory. Add vpaths for $(srcdir)/linux-src subdirectories. (CPPFLAGS): Add -D_HURD_SYSTYPE defining it to $(asm_syntax) as a double-quoted string. Add -I's for glue-include and linux-src/include. * pfinet.h: Include <sys/socket.h>, and not <linux/netdevice.h>. (master_device): Remove decl. (global_lock, packet_queue_lock): Remove common defns. (global_lock, net_bh_lock): Declare them as externs. (struct sockaddr): Remove len member, make address member just a struct sockaddr rather than a 0-length array. (setup_loopback_device, become_task_protid, become_task): Remove decls. (ethernet_initialize): Declare it. (input_work_thread): Remove decl. (net_bh_thread): Declare it. (tcp_readable): Remove decl. (tcp_tiocinq): Declare it. * config.h: Rewritten based on Linux 2.2.12 set of CONFIG_* options. (CONFIG_NET, CONFIG_INET, CONFIG_SKB_LARGE): These are the only Linux config options we set. (CONFIG_IP_NOSIOCRT): New macro (not a proper config option, but used conveniently in the code). * ethernet.c (ethernet_set_multi): Take only one parameter. Remove assert, since we always get passed IGMP_ALL_HOSTS. (ethernet_thread): Make static. (ethernet_demuxer): Use __mutex_lock in place of mutex_lock, so as to get cthreads instead of linux/spinlock.h glue macros. Lock net_bh_lock instead of global_lock. Set SKB->protocol with eth_type_trans before calling netif_rx. (ethernet_initialize): New function, one-time initialization broken out of ethernet_open. (ethernet_open): Ports setup moved to ethernet_initialize. Don't use `errno' to avoid glue conflicts. Use get_privileged_ports here to get the master device port, and deallocate it after calling device_open. (ethernet_xmit): Use assert_perror. Only one arg to dev_kfree_skb now. (setup_ethernet_device): Change initializations for structure changes. Call dev_init_buffers and register_netdevice on the device. * timer-emul.c (all functions): Use __mutex_lock instead of mutex_lock. Adjust for renaming of `prevp' member to `prev' in struct timer_list. (mod_timer): New function. * socket.c (proto_ops): Variable removed. (net_families): New variable replaces it. (sock_register): Rewritten for new calling convention, set net_families rather than proto_ops. (make_sock_user, clean_socketport, sock_alloc, sock_release): Functions moved here from misc.c. * sched.c (packet_queue_lock): Variable removed. (net_bh_lock, net_bh_wakeup): New variables. (current): Variable removed (now a macro in the glue headers). (interruptible_sleep_on, wake_up_interruptible): Functions removed. They are replaced by inlines in the glue headers. (become_task, become_task_protid): Functions removed; they are replaced by macros in glue-include/linux/sched.h. (net_bh_worker): New function. * loopback.c: Completely rewritten, mostly copied from linux-2.2.12's drivers/net/loopback.c source file. * io-ops.c (all functions): Use __mutex_lock in place of mutex_lock. (S_io_write): Call ops->sendmsg instead of ops->write, which no longer exists. If O_NONBLOCK is set, set MSG_DONTWAIT in msg_flags. (S_io_read): Call ops->recvmsg instead of ops->read, which no longer exists If O_NONBLOCK is set, pass MSG_DONTWAIT. (S_io_readable): Use USER->sock->data in place of USER->sock->sk. For SOCK_STREAM and SOCK_SEQPACKET types, call tcp_tiocinq. (S_io_set_all_openmodes, S_io_get_openmodes, S_io_set_some_openmodes, S_io_clear_some_openmodes): Member USER->sock->userflags is now renamed USER->sock->flags. (S_io_select): Completely rewritten using ops->poll. (select_wait): Function removed. (S_io_stat): Set st_mode to reflect S_IFSOCK. * socket-ops.c (all functions): Use __mutex_lock instead of mutex_lock. (S_socket_create): Don't set SOCK->ops or call SOCK->ops->create. Instead, call net_families[PF_INET]->create. (S_socket_listen): Remove extra checks; just call ops->listen. (S_socket_accept): Remove extra checks before ops->accept call. Avoid use of goto. (S_socket_connect): Remove extra checks; just call ops->connect. (S_socket_bind): Adjust for struct sock_addr changes. (S_socket_create_address): Likewise. (S_socket_whatis_address): Likewise. (S_socket_connect2): Don't diddle data structures after ops->socketpair call. (S_socket_getopt): Use sock_getsockopt if LEVEL is SOL_SOCKET. Accept any data size, not just sizeof (int). (S_socket_setopt): Use sock_setsockopt if LEVEL is SOL_SOCKET. (S_socket_send): Always use ops->sendmsg instead of ops->send or ops->sendto, which no longer exist. If O_NONBLOCK is set, set MSG_DONTWAIT in msg_flags. (S_socket_recv): Always use ops->recvmsg instead of ops->recv, which no longer exists. If O_NONBLOCK is set, set MSG_DONTWAIT in flags. Check for error from S_socket_create_address. * main.c (find_device): Don't try to set ether_dev.pa_mask (it's gone). (main): Don't call init_devices. Call ethernet_initialize. Start net_bh_worker instead of input_work_thread. Don't call setup_loopback_device. Instead, take global_lock, do prepare_current, and then call sk_init, skb_init, inet_proto_init, and net_dev_init. Keep global_lock held while calling argp_parse. Call arrange_shutdown_notification only after all that. Fix error call for "contacting parent" to pass ERR instead of errno. * options.c (ADDR): #undef before defining macro. (parse_opt): #if 0 out EDESTADDRREQ check (I don't understand it). To apply settings, call configure_devices. (ADD_ADDR_OPT): #if 0 --address and --netmask options. Needs fixed. * misc.c (make_sock_user, clean_socketport, sock_alloc, sock_release): Functions moved to socket.c. (sock_release_peer): Function removed. (make_sockaddr_port): Use struct sockaddr_storage to size buffer. Fix size calculation for new struct sock_addr layout. Initialize sa_family and sa_len of new struct sock_addr. Remove the old Linux (2.0.??) network stack and the glue code for it. * linux-inet, asm, linux: Directories and all files removed. Some of the new files in glue-include came from the old glue headers in the asm and linux directories, but most were substantially modified. * devices.c: File removed. The equivalent glue is now elsewhere.
Diffstat (limited to 'pfinet/linux')
-rw-r--r--pfinet/linux/autoconf.h0
-rw-r--r--pfinet/linux/config.h0
-rw-r--r--pfinet/linux/errno.h8
-rw-r--r--pfinet/linux/etherdevice.h41
-rw-r--r--pfinet/linux/fcntl.h1
-rw-r--r--pfinet/linux/icmp.h81
-rw-r--r--pfinet/linux/if.h156
-rw-r--r--pfinet/linux/if_arp.h91
-rw-r--r--pfinet/linux/if_ether.h80
-rw-r--r--pfinet/linux/igmp.h67
-rw-r--r--pfinet/linux/in.h1
-rw-r--r--pfinet/linux/inet.h6
-rw-r--r--pfinet/linux/interrupt.h11
-rw-r--r--pfinet/linux/ip.h121
-rw-r--r--pfinet/linux/ip_fw.h147
-rw-r--r--pfinet/linux/ipx.h78
-rw-r--r--pfinet/linux/kernel.h44
-rw-r--r--pfinet/linux/major.h0
-rw-r--r--pfinet/linux/malloc.h10
-rw-r--r--pfinet/linux/mm.h16
-rw-r--r--pfinet/linux/net.h146
-rw-r--r--pfinet/linux/netdevice.h235
-rw-r--r--pfinet/linux/notifier.h96
-rw-r--r--pfinet/linux/param.h1
-rw-r--r--pfinet/linux/route.h69
-rw-r--r--pfinet/linux/sched.h81
-rw-r--r--pfinet/linux/skbuff.h286
-rw-r--r--pfinet/linux/socket.h27
-rw-r--r--pfinet/linux/sockios.h0
-rw-r--r--pfinet/linux/stat.h1
-rw-r--r--pfinet/linux/string.h1
-rw-r--r--pfinet/linux/tcp.h112
-rw-r--r--pfinet/linux/termios.h1
-rw-r--r--pfinet/linux/time.h13
-rw-r--r--pfinet/linux/timer.h27
-rw-r--r--pfinet/linux/types.h16
-rw-r--r--pfinet/linux/udp.h29
-rw-r--r--pfinet/linux/un.h0
-rw-r--r--pfinet/linux/wait.h23
39 files changed, 0 insertions, 2123 deletions
diff --git a/pfinet/linux/autoconf.h b/pfinet/linux/autoconf.h
deleted file mode 100644
index e69de29b..00000000
--- a/pfinet/linux/autoconf.h
+++ /dev/null
diff --git a/pfinet/linux/config.h b/pfinet/linux/config.h
deleted file mode 100644
index e69de29b..00000000
--- a/pfinet/linux/config.h
+++ /dev/null
diff --git a/pfinet/linux/errno.h b/pfinet/linux/errno.h
deleted file mode 100644
index 7dab9bab..00000000
--- a/pfinet/linux/errno.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _HACK_ERRNO_H
-#define _HACK_ERRNO_H
-
-#include <errno.h>
-
-#define ERESTARTSYS EINTR
-
-#endif
diff --git a/pfinet/linux/etherdevice.h b/pfinet/linux/etherdevice.h
deleted file mode 100644
index 41073fcb..00000000
--- a/pfinet/linux/etherdevice.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. NET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the Ethernet handlers.
- *
- * Version: @(#)eth.h 1.0.4 05/13/93
- *
- * Authors: Ross Biro, <bir7@leland.Stanford.Edu>
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * Relocated to include/linux where it belongs by Alan Cox
- * <gw4pts@gw4pts.ampr.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- * WARNING: This move may well be temporary. This file will get merged with others RSN.
- *
- */
-#ifndef _LINUX_ETHERDEVICE_H
-#define _LINUX_ETHERDEVICE_H
-
-
-#include <linux/if_ether.h>
-
-#ifdef __KERNEL__
-extern int eth_header(unsigned char *buff, struct device *dev,
- unsigned short type, void *daddr,
- void *saddr, unsigned len,
- struct sk_buff *skb);
-extern int eth_rebuild_header(void *buff, struct device *dev,
- unsigned long raddr, struct sk_buff *skb);
-extern unsigned short eth_type_trans(struct sk_buff *skb, struct device *dev);
-
-#endif
-
-#endif /* _LINUX_ETHERDEVICE_H */
diff --git a/pfinet/linux/fcntl.h b/pfinet/linux/fcntl.h
deleted file mode 100644
index cd304557..00000000
--- a/pfinet/linux/fcntl.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <fcntl.h>
diff --git a/pfinet/linux/icmp.h b/pfinet/linux/icmp.h
deleted file mode 100644
index 334c756d..00000000
--- a/pfinet/linux/icmp.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the ICMP protocol.
- *
- * Version: @(#)icmp.h 1.0.3 04/28/93
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_ICMP_H
-#define _LINUX_ICMP_H
-
-#define ICMP_ECHOREPLY 0 /* Echo Reply */
-#define ICMP_DEST_UNREACH 3 /* Destination Unreachable */
-#define ICMP_SOURCE_QUENCH 4 /* Source Quench */
-#define ICMP_REDIRECT 5 /* Redirect (change route) */
-#define ICMP_ECHO 8 /* Echo Request */
-#define ICMP_TIME_EXCEEDED 11 /* Time Exceeded */
-#define ICMP_PARAMETERPROB 12 /* Parameter Problem */
-#define ICMP_TIMESTAMP 13 /* Timestamp Request */
-#define ICMP_TIMESTAMPREPLY 14 /* Timestamp Reply */
-#define ICMP_INFO_REQUEST 15 /* Information Request */
-#define ICMP_INFO_REPLY 16 /* Information Reply */
-#define ICMP_ADDRESS 17 /* Address Mask Request */
-#define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */
-
-
-/* Codes for UNREACH. */
-#define ICMP_NET_UNREACH 0 /* Network Unreachable */
-#define ICMP_HOST_UNREACH 1 /* Host Unreachable */
-#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */
-#define ICMP_PORT_UNREACH 3 /* Port Unreachable */
-#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */
-#define ICMP_SR_FAILED 5 /* Source Route failed */
-#define ICMP_NET_UNKNOWN 6
-#define ICMP_HOST_UNKNOWN 7
-#define ICMP_HOST_ISOLATED 8
-#define ICMP_NET_ANO 9
-#define ICMP_HOST_ANO 10
-#define ICMP_NET_UNR_TOS 11
-#define ICMP_HOST_UNR_TOS 12
-
-/* Codes for REDIRECT. */
-#define ICMP_REDIR_NET 0 /* Redirect Net */
-#define ICMP_REDIR_HOST 1 /* Redirect Host */
-#define ICMP_REDIR_NETTOS 2 /* Redirect Net for TOS */
-#define ICMP_REDIR_HOSTTOS 3 /* Redirect Host for TOS */
-
-/* Codes for TIME_EXCEEDED. */
-#define ICMP_EXC_TTL 0 /* TTL count exceeded */
-#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */
-
-
-struct icmphdr {
- unsigned char type;
- unsigned char code;
- unsigned short checksum;
- union {
- struct {
- unsigned short id;
- unsigned short sequence;
- } echo;
- unsigned long gateway;
- } un;
-};
-
-
-struct icmp_err {
- int error;
- unsigned fatal:1;
-};
-
-
-#endif /* _LINUX_ICMP_H */
diff --git a/pfinet/linux/if.h b/pfinet/linux/if.h
deleted file mode 100644
index cb6b4e05..00000000
--- a/pfinet/linux/if.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the INET interface module.
- *
- * Version: @(#)if.h 1.0.2 04/18/93
- *
- * Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1982-1988
- * Ross Biro, <bir7@leland.Stanford.Edu>
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IF_H
-#define _LINUX_IF_H
-
-#include <linux/types.h> /* for "caddr_t" et al */
-#include <linux/socket.h> /* for "struct sockaddr" et al */
-
-/* Standard interface flags. */
-#define IFF_UP 0x1 /* interface is up */
-#define IFF_BROADCAST 0x2 /* broadcast address valid */
-#define IFF_DEBUG 0x4 /* turn on debugging */
-#define IFF_LOOPBACK 0x8 /* is a loopback net */
-#define IFF_POINTOPOINT 0x10 /* interface is has p-p link */
-#define IFF_NOTRAILERS 0x20 /* avoid use of trailers */
-#define IFF_RUNNING 0x40 /* resources allocated */
-#define IFF_NOARP 0x80 /* no ARP protocol */
-#define IFF_PROMISC 0x100 /* receive all packets */
-/* Not supported */
-#define IFF_ALLMULTI 0x200 /* receive all multicast packets*/
-
-#define IFF_MASTER 0x400 /* master of a load balancer */
-#define IFF_SLAVE 0x800 /* slave of a load balancer */
-
-#define IFF_MULTICAST 0x1000 /* Supports multicast */
-
-/*
- * The ifaddr structure contains information about one address
- * of an interface. They are maintained by the different address
- * families, are allocated and attached when an address is set,
- * and are linked together so all addresses for an interface can
- * be located.
- */
-
-struct ifaddr
-{
- struct sockaddr ifa_addr; /* address of interface */
- union {
- struct sockaddr ifu_broadaddr;
- struct sockaddr ifu_dstaddr;
- } ifa_ifu;
- struct iface *ifa_ifp; /* back-pointer to interface */
- struct ifaddr *ifa_next; /* next address for interface */
-};
-
-#define ifa_broadaddr ifa_ifu.ifu_broadaddr /* broadcast address */
-#define ifa_dstaddr ifa_ifu.ifu_dstaddr /* other end of link */
-
-/*
- * Device mapping structure. I'd just gone off and designed a
- * beautiful scheme using only loadable modules with arguments
- * for driver options and along come the PCMCIA people 8)
- *
- * Ah well. The get() side of this is good for WDSETUP, and it'll
- * be handy for debugging things. The set side is fine for now and
- * being very small might be worth keeping for clean configuration.
- */
-
-struct ifmap
-{
- unsigned long mem_start;
- unsigned long mem_end;
- unsigned short base_addr;
- unsigned char irq;
- unsigned char dma;
- unsigned char port;
- /* 3 bytes spare */
-};
-
-/*
- * Interface request structure used for socket
- * ioctl's. All interface ioctl's must have parameter
- * definitions which begin with ifr_name. The
- * remainder may be interface specific.
- */
-
-struct ifreq
-{
-#define IFHWADDRLEN 6
-#define IFNAMSIZ 16
- union
- {
- char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- char ifrn_hwaddr[IFHWADDRLEN]; /* Obsolete */
- } ifr_ifrn;
-
- union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_dstaddr;
- struct sockaddr ifru_broadaddr;
- struct sockaddr ifru_netmask;
- struct sockaddr ifru_hwaddr;
- short ifru_flags;
- int ifru_metric;
- int ifru_mtu;
- struct ifmap ifru_map;
- char ifru_slave[IFNAMSIZ]; /* Just fits the size */
- caddr_t ifru_data;
- } ifr_ifru;
-};
-
-#define ifr_name ifr_ifrn.ifrn_name /* interface name */
-#define old_ifr_hwaddr ifr_ifrn.ifrn_hwaddr /* interface hardware */
-#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
-#define ifr_addr ifr_ifru.ifru_addr /* address */
-#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */
-#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
-#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */
-#define ifr_flags ifr_ifru.ifru_flags /* flags */
-#define ifr_metric ifr_ifru.ifru_metric /* metric */
-#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
-#define ifr_map ifr_ifru.ifru_map /* device map */
-#define ifr_slave ifr_ifru.ifru_slave /* slave device */
-#define ifr_data ifr_ifru.ifru_data /* for use by interface */
-
-/*
- * Structure used in SIOCGIFCONF request.
- * Used to retrieve interface configuration
- * for machine (useful for programs which
- * must know all networks accessible).
- */
-
-struct ifconf
-{
- int ifc_len; /* size of buffer */
- union
- {
- caddr_t ifcu_buf;
- struct ifreq *ifcu_req;
- } ifc_ifcu;
-};
-#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
-#define ifc_req ifc_ifcu.ifcu_req /* array of structures */
-
-
-/* BSD UNIX expects to find these here, so here we go: */
-#include <linux/if_arp.h>
-#include <linux/route.h>
-
-#endif /* _NET_IF_H */
diff --git a/pfinet/linux/if_arp.h b/pfinet/linux/if_arp.h
deleted file mode 100644
index 75f86b61..00000000
--- a/pfinet/linux/if_arp.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the ARP (RFC 826) protocol.
- *
- * Version: @(#)if_arp.h 1.0.1 04/16/93
- *
- * Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
- * Portions taken from the KA9Q/NOS (v2.00m PA0GRI) source.
- * Ross Biro, <bir7@leland.Stanford.Edu>
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Florian La Roche.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IF_ARP_H
-#define _LINUX_IF_ARP_H
-
-/* ARP protocol HARDWARE identifiers. */
-#define ARPHRD_NETROM 0 /* from KA9Q: NET/ROM pseudo */
-#define ARPHRD_ETHER 1 /* Ethernet 10Mbps */
-#define ARPHRD_EETHER 2 /* Experimental Ethernet */
-#define ARPHRD_AX25 3 /* AX.25 Level 2 */
-#define ARPHRD_PRONET 4 /* PROnet token ring */
-#define ARPHRD_CHAOS 5 /* Chaosnet */
-#define ARPHRD_IEEE802 6 /* IEEE 802.2 Ethernet- huh? */
-#define ARPHRD_ARCNET 7 /* ARCnet */
-#define ARPHRD_APPLETLK 8 /* APPLEtalk */
-/* Dummy types for non ARP hardware */
-#define ARPHRD_SLIP 256
-#define ARPHRD_CSLIP 257
-#define ARPHRD_SLIP6 258
-#define ARPHRD_CSLIP6 259
-#define ARPHRD_RSRVD 260 /* Notional KISS type */
-#define ARPHRD_ADAPT 264
-#define ARPHRD_PPP 512
-#define ARPHRD_TUNNEL 768 /* IPIP tunnel */
-
-/* ARP protocol opcodes. */
-#define ARPOP_REQUEST 1 /* ARP request */
-#define ARPOP_REPLY 2 /* ARP reply */
-#define ARPOP_RREQUEST 3 /* RARP request */
-#define ARPOP_RREPLY 4 /* RARP reply */
-
-
-/* ARP ioctl request. */
-struct arpreq {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
-};
-
-/* ARP Flag values. */
-#define ATF_COM 0x02 /* completed entry (ha valid) */
-#define ATF_PERM 0x04 /* permanent entry */
-#define ATF_PUBL 0x08 /* publish entry */
-#define ATF_USETRAILERS 0x10 /* has requested trailers */
-#define ATF_NETMASK 0x20 /* want to use a netmask (only
- for proxy entries) */
-
-/*
- * This structure defines an ethernet arp header.
- */
-
-struct arphdr
-{
- unsigned short ar_hrd; /* format of hardware address */
- unsigned short ar_pro; /* format of protocol address */
- unsigned char ar_hln; /* length of hardware address */
- unsigned char ar_pln; /* length of protocol address */
- unsigned short ar_op; /* ARP opcode (command) */
-
-#if 0
- /*
- * Ethernet looks like this : This bit is variable sized however...
- */
- unsigned char ar_sha[ETH_ALEN]; /* sender hardware address */
- unsigned char ar_sip[4]; /* sender IP address */
- unsigned char ar_tha[ETH_ALEN]; /* target hardware address */
- unsigned char ar_tip[4]; /* target IP address */
-#endif
-
-};
-
-#endif /* _LINUX_IF_ARP_H */
diff --git a/pfinet/linux/if_ether.h b/pfinet/linux/if_ether.h
deleted file mode 100644
index b87b1785..00000000
--- a/pfinet/linux/if_ether.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the Ethernet IEEE 802.3 interface.
- *
- * Version: @(#)if_ether.h 1.0.1a 02/08/94
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Donald Becker, <becker@super.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IF_ETHER_H
-#define _LINUX_IF_ETHER_H
-
-
-/* IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
- and FCS/CRC (frame check sequence). */
-#define ETH_ALEN 6 /* Octets in one ethernet addr */
-#define ETH_HLEN 14 /* Total octets in header. */
-#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
-#define ETH_DATA_LEN 1500 /* Max. octets in payload */
-#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
-
-
-/* These are the defined Ethernet Protocol ID's. */
-#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
-#define ETH_P_ECHO 0x0200 /* Ethernet Echo packet */
-#define ETH_P_PUP 0x0400 /* Xerox PUP packet */
-#define ETH_P_IP 0x0800 /* Internet Protocol packet */
-#define ETH_P_ARP 0x0806 /* Address Resolution packet */
-#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
-#define ETH_P_X25 0x0805 /* CCITT X.25 */
-#define ETH_P_ATALK 0x809B /* Appletalk DDP */
-#define ETH_P_IPX 0x8137 /* IPX over DIX */
-#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
-#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
-#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
-#define ETH_P_802_2 0x0004 /* 802.2 frames */
-#define ETH_P_SNAP 0x0005 /* Internal only */
-/* This is an Ethernet frame header. */
-struct ethhdr {
- unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
- unsigned char h_source[ETH_ALEN]; /* source ether addr */
- unsigned short h_proto; /* packet type ID field */
-};
-
-/* Ethernet statistics collection data. */
-struct enet_statistics{
- int rx_packets; /* total packets received */
- int tx_packets; /* total packets transmitted */
- int rx_errors; /* bad packets received */
- int tx_errors; /* packet transmit problems */
- int rx_dropped; /* no space in linux buffers */
- int tx_dropped; /* no space available in linux */
- int multicast; /* multicast packets received */
- int collisions;
-
- /* detailed rx_errors: */
- int rx_length_errors;
- int rx_over_errors; /* receiver ring buff overflow */
- int rx_crc_errors; /* recved pkt with crc error */
- int rx_frame_errors; /* recv'd frame alignment error */
- int rx_fifo_errors; /* recv'r fifo overrun */
- int rx_missed_errors; /* receiver missed packet */
-
- /* detailed tx_errors */
- int tx_aborted_errors;
- int tx_carrier_errors;
- int tx_fifo_errors;
- int tx_heartbeat_errors;
- int tx_window_errors;
-};
-
-#endif /* _LINUX_IF_ETHER_H */
diff --git a/pfinet/linux/igmp.h b/pfinet/linux/igmp.h
deleted file mode 100644
index 6ca7e019..00000000
--- a/pfinet/linux/igmp.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Linux NET3: Internet Gateway Management Protocol [IGMP]
- *
- * Authors:
- * Alan Cox <Alan.Cox@linux.org>
- *
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IGMP_H
-#define _LINUX_IGMP_H
-
-/*
- * IGMP protocol structures
- */
-
-struct igmphdr
-{
- unsigned char type;
- unsigned char unused;
- unsigned short csum;
- unsigned long group;
-};
-
-#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */
-#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */
-#define IGMP_HOST_LEAVE_MESSAGE 0x17 /* An extra BSD seems to send */
-
- /* 224.0.0.1 */
-#define IGMP_ALL_HOSTS htonl(0xE0000001L)
-
-/*
- * struct for keeping the multicast list in
- */
-
-#ifdef __KERNEL__
-struct ip_mc_socklist
-{
- unsigned long multiaddr[IP_MAX_MEMBERSHIPS]; /* This is a speed trade off */
- struct device *multidev[IP_MAX_MEMBERSHIPS];
-};
-
-struct ip_mc_list
-{
- struct device *interface;
- unsigned long multiaddr;
- struct ip_mc_list *next;
- struct timer_list timer;
- int tm_running;
- int users;
-};
-
-extern struct ip_mc_list *ip_mc_head;
-
-
-extern int igmp_rcv(struct sk_buff *, struct device *, struct options *, unsigned long, unsigned short,
- unsigned long, int , struct inet_protocol *);
-extern void ip_mc_drop_device(struct device *dev);
-extern int ip_mc_join_group(struct sock *sk, struct device *dev, unsigned long addr);
-extern int ip_mc_leave_group(struct sock *sk, struct device *dev,unsigned long addr);
-extern void ip_mc_drop_socket(struct sock *sk);
-#endif
-#endif
diff --git a/pfinet/linux/in.h b/pfinet/linux/in.h
deleted file mode 100644
index 260020a6..00000000
--- a/pfinet/linux/in.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <netinet/in.h>
diff --git a/pfinet/linux/inet.h b/pfinet/linux/inet.h
deleted file mode 100644
index 27aa5521..00000000
--- a/pfinet/linux/inet.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _HACK_INET_H_
-#define _HACK_INET_H_
-
-char *in_ntoa (u_long);
-
-#endif
diff --git a/pfinet/linux/interrupt.h b/pfinet/linux/interrupt.h
deleted file mode 100644
index 01f11a8c..00000000
--- a/pfinet/linux/interrupt.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _HACK_INTERRUPT_H_
-#define _HACK_INTERRUPT_H_
-
-#include <linux/netdevice.h>
-#include "pfinet.h"
-
-#define NET_BH 1
-
-extern void mark_bh (int);
-
-#endif
diff --git a/pfinet/linux/ip.h b/pfinet/linux/ip.h
deleted file mode 100644
index bcc1bdea..00000000
--- a/pfinet/linux/ip.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the IP protocol.
- *
- * Version: @(#)ip.h 1.0.2 04/28/93
- *
- * Authors: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IP_H
-#define _LINUX_IP_H
-
-
-#define IPOPT_END 0
-#define IPOPT_NOOP 1
-#define IPOPT_SEC 130
-#define IPOPT_LSRR 131
-#define IPOPT_SSRR 137
-#define IPOPT_RR 7
-#define IPOPT_SID 136
-#define IPOPT_TIMESTAMP 68
-
-
-#define MAXTTL 255
-
-struct timestamp {
- __u8 len;
- __u8 ptr;
- union {
-#if defined(__i386__)
- __u8 flags:4,
- overflow:4;
-#elif defined(__mc68000__)
- __u8 overflow:4,
- flags:4;
-#elif defined(__MIPSEL__)
- __u8 flags:4,
- overflow:4;
-#elif defined(__MIPSEB__)
- __u8 overflow:4,
- flags:4;
-#elif defined(__alpha__)
- __u8 flags:4,
- overflow:4;
-#elif defined(__sparc__)
- __u8 overflow:4,
- flags:4;
-#else
-#error "Adjust this structure to match your CPU"
-#endif
- __u8 full_char;
- } x;
- __u32 data[9];
-};
-
-
-#define MAX_ROUTE 16
-
-struct route {
- char route_size;
- char pointer;
- unsigned long route[MAX_ROUTE];
-};
-
-
-struct options {
- struct route record_route;
- struct route loose_route;
- struct route strict_route;
- struct timestamp tstamp;
- unsigned short security;
- unsigned short compartment;
- unsigned short handling;
- unsigned short stream;
- unsigned tcc;
-};
-
-
-struct iphdr {
-#if defined(__i386__)
- __u8 ihl:4,
- version:4;
-#elif defined (__mc68000__)
- __u8 version:4,
- ihl:4;
-#elif defined(__MIPSEL__)
- __u8 ihl:4,
- version:4;
-#elif defined(__MIPSEB__)
- __u8 version:4,
- ihl:4;
-#elif defined(__alpha__)
- __u8 ihl:4,
- version:4;
-#elif defined (__sparc__)
- __u8 version:4,
- ihl:4;
-#else
-#error "Adjust this structure to match your CPU"
-#endif
- __u8 tos;
- __u16 tot_len;
- __u16 id;
- __u16 frag_off;
- __u8 ttl;
- __u8 protocol;
- __u16 check;
- __u32 saddr;
- __u32 daddr;
- /*The options start here. */
-};
-
-
-#endif /* _LINUX_IP_H */
diff --git a/pfinet/linux/ip_fw.h b/pfinet/linux/ip_fw.h
deleted file mode 100644
index f80cccbf..00000000
--- a/pfinet/linux/ip_fw.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * IP firewalling code. This is taken from 4.4BSD. Please note the
- * copyright message below. As per the GPL it must be maintained
- * and the licenses thus do not conflict. While this port is subject
- * to the GPL I also place my modifications under the original
- * license in recognition of the original copyright.
- *
- * Ported from BSD to Linux,
- * Alan Cox 22/Nov/1994.
- * Merged and included the FreeBSD-Current changes at Ugen's request
- * (but hey it's a lot cleaner now). Ugen would prefer in some ways
- * we waited for his final product but since Linux 1.2.0 is about to
- * appear it's not practical - Read: It works, it's not clean but please
- * don't consider it to be his standard of finished work.
- * Alan.
- *
- * All the real work was done by .....
- */
-
-/*
- * Copyright (c) 1993 Daniel Boulet
- * Copyright (c) 1994 Ugen J.S.Antsilevich
- *
- * Redistribution and use in source forms, with and without modification,
- * are permitted provided that this entire comment appears intact.
- *
- * Redistribution in binary form may occur without any restrictions.
- * Obviously, it would be nice if you gave credit where credit is due
- * but requiring it would be too onerous.
- *
- * This software is provided ``AS IS'' without any warranties of any kind.
- */
-
-/*
- * Format of an IP firewall descriptor
- *
- * src, dst, src_mask, dst_mask are always stored in network byte order.
- * flags and num_*_ports are stored in host byte order (of course).
- * Port numbers are stored in HOST byte order.
- */
-
-#ifndef _IP_FW_H
-#define _IP_FW_H
-
-struct ip_fw
-{
- struct ip_fw *fw_next; /* Next firewall on chain */
- struct in_addr fw_src, fw_dst; /* Source and destination IP addr */
- struct in_addr fw_smsk, fw_dmsk; /* Mask for src and dest IP addr */
- struct in_addr fw_via; /* IP address of interface "via" */
- unsigned short fw_flg; /* Flags word */
- unsigned short fw_nsp, fw_ndp; /* N'of src ports and # of dst ports */
- /* in ports array (dst ports follow */
- /* src ports; max of 10 ports in all; */
- /* count of 0 means match all ports) */
-#define IP_FW_MAX_PORTS 10 /* A reasonable maximum */
- unsigned short fw_pts[IP_FW_MAX_PORTS]; /* Array of port numbers to match */
- unsigned long fw_pcnt,fw_bcnt; /* Packet and byte counters */
-};
-
-/*
- * Values for "flags" field .
- */
-
-#define IP_FW_F_ALL 0x000 /* This is a universal packet firewall*/
-#define IP_FW_F_TCP 0x001 /* This is a TCP packet firewall */
-#define IP_FW_F_UDP 0x002 /* This is a UDP packet firewall */
-#define IP_FW_F_ICMP 0x003 /* This is a ICMP packet firewall */
-#define IP_FW_F_KIND 0x003 /* Mask to isolate firewall kind */
-#define IP_FW_F_ACCEPT 0x004 /* This is an accept firewall (as *
- * opposed to a deny firewall)*
- * */
-#define IP_FW_F_SRNG 0x008 /* The first two src ports are a min *
- * and max range (stored in host byte *
- * order). *
- * */
-#define IP_FW_F_DRNG 0x010 /* The first two dst ports are a min *
- * and max range (stored in host byte *
- * order). *
- * (ports[0] <= port <= ports[1]) *
- * */
-#define IP_FW_F_PRN 0x020 /* In verbose mode print this firewall*/
-#define IP_FW_F_BIDIR 0x040 /* For bidirectional firewalls */
-#define IP_FW_F_TCPSYN 0x080 /* For tcp packets-check SYN only */
-#define IP_FW_F_ICMPRPL 0x100 /* Send back icmp unreachable packet */
-#define IP_FW_F_MASK 0x1FF /* All possible flag bits mask */
-
-/*
- * New IP firewall options for [gs]etsockopt at the RAW IP level.
- * Unlike BSD Linux inherits IP options so you don't have to use
- * a raw socket for this. Instead we check rights in the calls.
- */
-
-#define IP_FW_BASE_CTL 64
-
-#define IP_FW_ADD_BLK (IP_FW_BASE_CTL)
-#define IP_FW_ADD_FWD (IP_FW_BASE_CTL+1)
-#define IP_FW_CHK_BLK (IP_FW_BASE_CTL+2)
-#define IP_FW_CHK_FWD (IP_FW_BASE_CTL+3)
-#define IP_FW_DEL_BLK (IP_FW_BASE_CTL+4)
-#define IP_FW_DEL_FWD (IP_FW_BASE_CTL+5)
-#define IP_FW_FLUSH_BLK (IP_FW_BASE_CTL+6)
-#define IP_FW_FLUSH_FWD (IP_FW_BASE_CTL+7)
-#define IP_FW_ZERO_BLK (IP_FW_BASE_CTL+8)
-#define IP_FW_ZERO_FWD (IP_FW_BASE_CTL+9)
-#define IP_FW_POLICY_BLK (IP_FW_BASE_CTL+10)
-#define IP_FW_POLICY_FWD (IP_FW_BASE_CTL+11)
-
-#define IP_ACCT_ADD (IP_FW_BASE_CTL+16)
-#define IP_ACCT_DEL (IP_FW_BASE_CTL+17)
-#define IP_ACCT_FLUSH (IP_FW_BASE_CTL+18)
-#define IP_ACCT_ZERO (IP_FW_BASE_CTL+19)
-
-struct ip_fwpkt
-{
- struct iphdr fwp_iph; /* IP header */
- union {
- struct tcphdr fwp_tcph; /* TCP header or */
- struct udphdr fwp_udph; /* UDP header */
- } fwp_protoh;
- struct in_addr fwp_via; /* interface address */
-};
-
-/*
- * Main firewall chains definitions and global var's definitions.
- */
-
-#ifdef __KERNEL__
-
-#include <linux/config.h>
-
-#ifdef CONFIG_IP_FIREWALL
-extern struct ip_fw *ip_fw_blk_chain;
-extern struct ip_fw *ip_fw_fwd_chain;
-extern int ip_fw_blk_policy;
-extern int ip_fw_fwd_policy;
-extern int ip_fw_ctl(int, void *, int);
-#endif
-#ifdef CONFIG_IP_ACCT
-extern struct ip_fw *ip_acct_chain;
-extern void ip_acct_cnt(struct iphdr *, struct device *, struct ip_fw *);
-extern int ip_acct_ctl(int, void *, int);
-#endif
-extern int ip_fw_chk(struct iphdr *, struct device *rif,struct ip_fw *, int, int);
-#endif /* KERNEL */
-
-#endif /* _IP_FW_H */
diff --git a/pfinet/linux/ipx.h b/pfinet/linux/ipx.h
deleted file mode 100644
index d3bff83b..00000000
--- a/pfinet/linux/ipx.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef _IPX_H_
-#define _IPX_H_
-#include <linux/sockios.h>
-#define IPX_NODE_LEN 6
-#define IPX_MTU 576
-
-struct sockaddr_ipx
-{
- short sipx_family;
- short sipx_port;
- unsigned long sipx_network;
- unsigned char sipx_node[IPX_NODE_LEN];
- unsigned char sipx_type;
- unsigned char sipx_zero; /* 16 byte fill */
-};
-
-/*
- * So we can fit the extra info for SIOCSIFADDR into the address nicely
- */
-
-#define sipx_special sipx_port
-#define sipx_action sipx_zero
-#define IPX_DLTITF 0
-#define IPX_CRTITF 1
-
-typedef struct ipx_route_definition
-{
- unsigned long ipx_network;
- unsigned long ipx_router_network;
- unsigned char ipx_router_node[IPX_NODE_LEN];
-} ipx_route_definition;
-
-typedef struct ipx_interface_definition
-{
- unsigned long ipx_network;
- unsigned char ipx_device[16];
- unsigned char ipx_dlink_type;
-#define IPX_FRAME_NONE 0
-#define IPX_FRAME_SNAP 1
-#define IPX_FRAME_8022 2
-#define IPX_FRAME_ETHERII 3
-#define IPX_FRAME_8023 4
- unsigned char ipx_special;
-#define IPX_SPECIAL_NONE 0
-#define IPX_PRIMARY 1
-#define IPX_INTERNAL 2
- unsigned char ipx_node[IPX_NODE_LEN];
-} ipx_interface_definition;
-
-typedef struct ipx_config_data
-{
- unsigned char ipxcfg_auto_select_primary;
- unsigned char ipxcfg_auto_create_interfaces;
-} ipx_config_data;
-
-/*
- * OLD Route Definition for backward compatibility.
- */
-
-struct ipx_route_def
-{
- unsigned long ipx_network;
- unsigned long ipx_router_network;
-#define IPX_ROUTE_NO_ROUTER 0
- unsigned char ipx_router_node[IPX_NODE_LEN];
- unsigned char ipx_device[16];
- unsigned short ipx_flags;
-#define IPX_RT_SNAP 8
-#define IPX_RT_8022 4
-#define IPX_RT_BLUEBOOK 2
-#define IPX_RT_ROUTED 1
-};
-
-#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
-#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE+1)
-#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE+2)
-#endif
-
diff --git a/pfinet/linux/kernel.h b/pfinet/linux/kernel.h
deleted file mode 100644
index dcd5acf3..00000000
--- a/pfinet/linux/kernel.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _HACK_KERNEL_H
-#define _HACK_KERNEL_H
-
-#include <stdio.h>
-#include <linux/sched.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#define printk printf
-
-extern inline int
-getname (const char *name, char **newp)
-{
- *newp = malloc (strlen (name) + 1);
- strcpy (*newp, name);
- return 0;
-}
-
-extern inline void
-putname (char *p)
-{
- free (p);
-}
-
-/* These two functions are used only to send SIGURG. But I can't
- find any SIGIO code at all. So we'll just punt on that; clearly
- Linux is missing the point. SIGURG should only be sent for
- sockets that have explicitly requested it. */
-extern inline int
-kill_proc (int pid, int signo, int priv)
-{
- assert (signo == SIGURG);
- return 0;
-}
-
-extern inline int
-kill_pg (int pgrp, int signo, int priv)
-{
- assert (signo == SIGURG);
- return 0;
-}
-
-
-#endif
diff --git a/pfinet/linux/major.h b/pfinet/linux/major.h
deleted file mode 100644
index e69de29b..00000000
--- a/pfinet/linux/major.h
+++ /dev/null
diff --git a/pfinet/linux/malloc.h b/pfinet/linux/malloc.h
deleted file mode 100644
index 06930659..00000000
--- a/pfinet/linux/malloc.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _HACK_MALLOC_H_
-#define _HACK_MALLOC_H_
-
-#include <linux/mm.h>
-
-#define kfree_s(a,b) (free (a))
-#define kfree(a) (free (a))
-#define kmalloc(a,b) (malloc (a))
-
-#endif
diff --git a/pfinet/linux/mm.h b/pfinet/linux/mm.h
deleted file mode 100644
index 0fb18a59..00000000
--- a/pfinet/linux/mm.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _HACK_MM_H_
-#define _HACK_MM_H_
-
-#include <linux/kernel.h>
-#include <linux/sched.h>
-
-/* All memory addresses are presumptively valid, because they are
- all internal. */
-#define verify_area(a,b,c) 0
-
-#define VERIFY_READ 0
-#define VERIFY_WRITE 0
-#define GFP_ATOMIC 0
-#define GFP_KERNEL 0
-
-#endif
diff --git a/pfinet/linux/net.h b/pfinet/linux/net.h
deleted file mode 100644
index 341d0253..00000000
--- a/pfinet/linux/net.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * NET An implementation of the SOCKET network access protocol.
- * This is the master header file for the Linux NET layer,
- * or, in plain English: the networking handling part of the
- * kernel.
- *
- * Version: @(#)net.h 1.0.3 05/25/93
- *
- * Authors: Orest Zborowski, <obz@Kodak.COM>
- * Ross Biro, <bir7@leland.Stanford.Edu>
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_NET_H
-#define _LINUX_NET_H
-
-
-#include <linux/wait.h>
-#include <linux/socket.h>
-
-
-#define NSOCKETS 2000 /* Dynamic, this is MAX LIMIT */
-#define NSOCKETS_UNIX 128 /* unix domain static limit */
-#define NPROTO 16 /* should be enough for now.. */
-
-
-#define SYS_SOCKET 1 /* sys_socket(2) */
-#define SYS_BIND 2 /* sys_bind(2) */
-#define SYS_CONNECT 3 /* sys_connect(2) */
-#define SYS_LISTEN 4 /* sys_listen(2) */
-#define SYS_ACCEPT 5 /* sys_accept(2) */
-#define SYS_GETSOCKNAME 6 /* sys_getsockname(2) */
-#define SYS_GETPEERNAME 7 /* sys_getpeername(2) */
-#define SYS_SOCKETPAIR 8 /* sys_socketpair(2) */
-#define SYS_SEND 9 /* sys_send(2) */
-#define SYS_RECV 10 /* sys_recv(2) */
-#define SYS_SENDTO 11 /* sys_sendto(2) */
-#define SYS_RECVFROM 12 /* sys_recvfrom(2) */
-#define SYS_SHUTDOWN 13 /* sys_shutdown(2) */
-#define SYS_SETSOCKOPT 14 /* sys_setsockopt(2) */
-#define SYS_GETSOCKOPT 15 /* sys_getsockopt(2) */
-
-
-typedef enum {
- SS_FREE = 0, /* not allocated */
- SS_UNCONNECTED, /* unconnected to any socket */
- SS_CONNECTING, /* in process of connecting */
- SS_CONNECTED, /* connected to socket */
- SS_DISCONNECTING /* in process of disconnecting */
-} socket_state;
-
-#define SO_ACCEPTCON (1<<16) /* performed a listen */
-#define SO_WAITDATA (1<<17) /* wait data to read */
-#define SO_NOSPACE (1<<18) /* no space to write */
-
-#ifdef __KERNEL__
-/*
- * Internal representation of a socket. not all the fields are used by
- * all configurations:
- *
- * server client
- * conn client connected to server connected to
- * iconn list of clients -unused-
- * awaiting connections
- * wait sleep for clients, sleep for connection,
- * sleep for i/o sleep for i/o
- */
-struct socket {
- short type; /* SOCK_STREAM, ... */
- socket_state state;
- long flags;
-#ifdef _HURD_
- int userflags; /* O_* */
- int refcnt;
- mach_port_t identity;
-#endif
- struct proto_ops *ops; /* protocols do most everything */
- void *data; /* protocol data */
- struct socket *conn; /* server socket connected to */
- struct socket *iconn; /* incomplete client conn.s */
- struct socket *next;
- struct wait_queue **wait; /* ptr to place to wait on */
- struct inode *inode;
- struct fasync_struct *fasync_list; /* Asynchronous wake up list */
-};
-
-#define SOCK_INODE(S) ((S)->inode)
-
-struct proto_ops {
- int family;
-
- int (*create) (struct socket *sock, int protocol);
- int (*dup) (struct socket *newsock, struct socket *oldsock);
- int (*release) (struct socket *sock, struct socket *peer);
- int (*bind) (struct socket *sock, struct sockaddr *umyaddr,
- int sockaddr_len);
- int (*connect) (struct socket *sock, struct sockaddr *uservaddr,
- int sockaddr_len, int flags);
- int (*socketpair) (struct socket *sock1, struct socket *sock2);
- int (*accept) (struct socket *sock, struct socket *newsock,
- int flags);
- int (*getname) (struct socket *sock, struct sockaddr *uaddr,
- int *usockaddr_len, int peer);
- int (*read) (struct socket *sock, char *ubuf, int size,
- int nonblock);
- int (*write) (struct socket *sock, char *ubuf, int size,
- int nonblock);
- int (*select) (struct socket *sock, int sel_type,
- select_table *wait);
- int (*ioctl) (struct socket *sock, unsigned int cmd,
- unsigned long arg);
- int (*listen) (struct socket *sock, int len);
- int (*send) (struct socket *sock, void *buff, int len, int nonblock,
- unsigned flags);
- int (*recv) (struct socket *sock, void *buff, int len, int nonblock,
- unsigned flags);
- int (*sendto) (struct socket *sock, void *buff, int len, int nonblock,
- unsigned flags, struct sockaddr *, int addr_len);
- int (*recvfrom) (struct socket *sock, void *buff, int len, int nonblock,
- unsigned flags, struct sockaddr *, int *addr_len);
- int (*shutdown) (struct socket *sock, int flags);
- int (*setsockopt) (struct socket *sock, int level, int optname,
- char *optval, int optlen);
- int (*getsockopt) (struct socket *sock, int level, int optname,
- char *optval, int *optlen);
- int (*fcntl) (struct socket *sock, unsigned int cmd,
- unsigned long arg);
-};
-
-struct net_proto {
- char *name; /* Protocol name */
- void (*init_func)(struct net_proto *); /* Bootstrap */
-};
-
-extern int sock_awaitconn(struct socket *mysock, struct socket *servsock, int flags);
-extern int sock_wake_async(struct socket *sock, int how);
-extern int sock_register(int family, struct proto_ops *ops);
-extern int sock_unregister(int family);
-extern struct socket *sock_alloc(void);
-extern void sock_release(struct socket *sock);
-#endif /* __KERNEL__ */
-#endif /* _LINUX_NET_H */
diff --git a/pfinet/linux/netdevice.h b/pfinet/linux/netdevice.h
deleted file mode 100644
index dcca542d..00000000
--- a/pfinet/linux/netdevice.h
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the Interfaces handler.
- *
- * Version: @(#)dev.h 1.0.10 08/12/93
- *
- * Authors: Ross Biro, <bir7@leland.Stanford.Edu>
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Corey Minyard <wf-rch!minyard@relay.EU.net>
- * Donald J. Becker, <becker@super.org>
- * Alan Cox, <A.Cox@swansea.ac.uk>
- * Bjorn Ekwall. <bj0rn@blox.se>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- * Moved to /usr/include/linux for NET3
- */
-#ifndef _LINUX_NETDEVICE_H
-#define _LINUX_NETDEVICE_H
-
-#include <linux/if.h>
-#include <linux/if_ether.h>
-#include <linux/skbuff.h>
-
-/* for future expansion when we will have different priorities. */
-#define DEV_NUMBUFFS 3
-#define MAX_ADDR_LEN 7
-#define MAX_HEADER 18
-
-#define IS_MYADDR 1 /* address is (one of) our own */
-#define IS_LOOPBACK 2 /* address is for LOOPBACK */
-#define IS_BROADCAST 3 /* address is a valid broadcast */
-#define IS_INVBCAST 4 /* Wrong netmask bcast not for us (unused)*/
-#define IS_MULTICAST 5 /* Multicast IP address */
-
-/*
- * We tag these structures with multicasts.
- */
-
-struct dev_mc_list
-{
- struct dev_mc_list *next;
- char dmi_addr[MAX_ADDR_LEN];
- unsigned short dmi_addrlen;
- unsigned short dmi_users;
-};
-
-/*
- * The DEVICE structure.
- * Actually, this whole structure is a big mistake. It mixes I/O
- * data with strictly "high-level" data, and it has to know about
- * almost every data structure used in the INET module.
- */
-struct device
-{
-
- /*
- * This is the first field of the "visible" part of this structure
- * (i.e. as seen by users in the "Space.c" file). It is the name
- * the interface.
- */
- char *name;
-
- /* I/O specific fields - FIXME: Merge these and struct ifmap into one */
- unsigned long rmem_end; /* shmem "recv" end */
- unsigned long rmem_start; /* shmem "recv" start */
- unsigned long mem_end; /* sahared mem end */
- unsigned long mem_start; /* shared mem start */
- unsigned long base_addr; /* device I/O address */
- unsigned char irq; /* device IRQ number */
-
- /* Low-level status flags. */
- volatile unsigned char start, /* start an operation */
- tbusy, /* transmitter busy */
- interrupt; /* interrupt arrived */
-
- struct device *next;
-
- /* The device initialization function. Called only once. */
- int (*init)(struct device *dev);
-
- /* Some hardware also needs these fields, but they are not part of the
- usual set specified in Space.c. */
- unsigned char if_port; /* Selectable AUI, TP,..*/
- unsigned char dma; /* DMA channel */
-
- struct enet_statistics* (*get_stats)(struct device *dev);
-
- /*
- * This marks the end of the "visible" part of the structure. All
- * fields hereafter are internal to the system, and may change at
- * will (read: may be cleaned up at will).
- */
-
- /* These may be needed for future network-power-down code. */
- unsigned long trans_start; /* Time (in jiffies) of last Tx */
- unsigned long last_rx; /* Time of last Rx */
-
- unsigned short flags; /* interface flags (a la BSD) */
- unsigned short family; /* address family ID (AF_INET) */
- unsigned short metric; /* routing metric (not used) */
- unsigned short mtu; /* interface MTU value */
- unsigned short type; /* interface hardware type */
- unsigned short hard_header_len; /* hardware hdr length */
- void *priv; /* pointer to private data */
-
- /* Interface address info. */
- unsigned char broadcast[MAX_ADDR_LEN]; /* hw bcast add */
- unsigned char dev_addr[MAX_ADDR_LEN]; /* hw address */
- unsigned char addr_len; /* hardware address length */
- unsigned long pa_addr; /* protocol address */
- unsigned long pa_brdaddr; /* protocol broadcast addr */
- unsigned long pa_dstaddr; /* protocol P-P other side addr */
- unsigned long pa_mask; /* protocol netmask */
- unsigned short pa_alen; /* protocol address length */
-
- struct dev_mc_list *mc_list; /* Multicast mac addresses */
- int mc_count; /* Number of installed mcasts */
-
- struct ip_mc_list *ip_mc_list; /* IP multicast filter chain */
-
- /* For load balancing driver pair support */
-
- unsigned long pkt_queue; /* Packets queued */
- struct device *slave; /* Slave device */
-
-
- /* Pointer to the interface buffers. */
- struct sk_buff_head buffs[DEV_NUMBUFFS];
-
- /* Pointers to interface service routines. */
- int (*open)(struct device *dev);
- int (*stop)(struct device *dev);
- int (*hard_start_xmit) (struct sk_buff *skb,
- struct device *dev);
- int (*hard_header) (unsigned char *buff,
- struct device *dev,
- unsigned short type,
- void *daddr,
- void *saddr,
- unsigned len,
- struct sk_buff *skb);
- int (*rebuild_header)(void *eth, struct device *dev,
- unsigned long raddr, struct sk_buff *skb);
- unsigned short (*type_trans) (struct sk_buff *skb,
- struct device *dev);
-#define HAVE_MULTICAST
- void (*set_multicast_list)(struct device *dev,
- int num_addrs, void *addrs);
-#define HAVE_SET_MAC_ADDR
- int (*set_mac_address)(struct device *dev, void *addr);
-#define HAVE_PRIVATE_IOCTL
- int (*do_ioctl)(struct device *dev, struct ifreq *ifr, int cmd);
-#define HAVE_SET_CONFIG
- int (*set_config)(struct device *dev, struct ifmap *map);
-
-};
-
-
-struct packet_type {
- unsigned short type; /* This is really htons(ether_type). */
- struct device * dev;
- int (*func) (struct sk_buff *, struct device *,
- struct packet_type *);
- void *data;
- struct packet_type *next;
-};
-
-
-#ifdef __KERNEL__
-
-#include <linux/notifier.h>
-
-/* Used by dev_rint */
-#define IN_SKBUFF 1
-
-extern volatile char in_bh;
-
-extern struct device loopback_dev;
-extern struct device *dev_base;
-extern struct packet_type *ptype_base;
-
-
-extern int ip_addr_match(unsigned long addr1, unsigned long addr2);
-extern int ip_chk_addr(unsigned long addr);
-extern struct device *ip_dev_check(unsigned long daddr);
-extern unsigned long ip_my_addr(void);
-extern unsigned long ip_get_mask(unsigned long addr);
-
-extern void dev_add_pack(struct packet_type *pt);
-extern void dev_remove_pack(struct packet_type *pt);
-extern struct device *dev_get(char *name);
-extern int dev_open(struct device *dev);
-extern int dev_close(struct device *dev);
-extern void dev_queue_xmit(struct sk_buff *skb, struct device *dev,
- int pri);
-#define HAVE_NETIF_RX 1
-extern void netif_rx(struct sk_buff *skb);
-/* The old interface to netif_rx(). */
-extern int dev_rint(unsigned char *buff, long len, int flags,
- struct device * dev);
-extern void dev_transmit(void);
-extern int in_net_bh(void);
-extern void net_bh(void *tmp);
-extern void dev_tint(struct device *dev);
-extern int dev_get_info(char *buffer, char **start, off_t offset, int length);
-extern int dev_ioctl(unsigned int cmd, void *);
-
-extern void dev_init(void);
-
-/* These functions live elsewhere (drivers/net/net_init.c, but related) */
-
-extern void ether_setup(struct device *dev);
-extern int ether_config(struct device *dev, struct ifmap *map);
-/* Support for loadable net-drivers */
-extern int register_netdev(struct device *dev);
-extern void unregister_netdev(struct device *dev);
-extern int register_netdevice_notifier(struct notifier_block *nb);
-extern int unregister_netdevice_notifier(struct notifier_block *nb);
-/* Functions used for multicast support */
-extern void dev_mc_upload(struct device *dev);
-extern void dev_mc_delete(struct device *dev, void *addr, int alen, int all);
-extern void dev_mc_add(struct device *dev, void *addr, int alen, int newonly);
-extern void dev_mc_discard(struct device *dev);
-/* This is the wrong place but it'll do for the moment */
-extern void ip_mc_allhost(struct device *dev);
-#endif /* __KERNEL__ */
-
-#endif /* _LINUX_DEV_H */
diff --git a/pfinet/linux/notifier.h b/pfinet/linux/notifier.h
deleted file mode 100644
index 78a44649..00000000
--- a/pfinet/linux/notifier.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Routines to manage notifier chains for passing status changes to any
- * interested routines. We need this instead of hard coded call lists so
- * that modules can poke their nose into the innards. The network devices
- * needed them so here they are for the rest of you.
- *
- * Alan Cox <Alan.Cox@linux.org>
- */
-
-#ifndef _LINUX_NOTIFIER_H
-#define _LINUX_NOTIFIER_H
-#include <linux/errno.h>
-
-struct notifier_block
-{
- int (*notifier_call)(unsigned long, void *);
- struct notifier_block *next;
- int priority;
-};
-
-
-#ifdef __KERNEL__
-
-#define NOTIFY_DONE 0x0000 /* Don't care */
-#define NOTIFY_OK 0x0001 /* Suits me */
-#define NOTIFY_STOP_MASK 0x8000 /* Don't call further */
-#define NOTIFY_BAD (NOTIFY_STOP_MASK|0x0002) /* Bad/Veto action */
-
-extern __inline__ int notifier_chain_register(struct notifier_block **list, struct notifier_block *n)
-{
- while(*list)
- {
- if(n->priority > (*list)->priority)
- break;
- list= &((*list)->next);
- }
- n->next = *list;
- *list=n;
- return 0;
-}
-
-/*
- * Warning to any non GPL module writers out there.. these functions are
- * GPL'd
- */
-
-extern __inline__ int notifier_chain_unregister(struct notifier_block **nl, struct notifier_block *n)
-{
- while((*nl)!=NULL)
- {
- if((*nl)==n)
- {
- *nl=n->next;
- return 0;
- }
- nl=&((*nl)->next);
- }
- return -ENOENT;
-}
-
-/*
- * This is one of these things that is generally shorter inline
- */
-
-extern __inline__ int notifier_call_chain(struct notifier_block **n, unsigned long val, void *v)
-{
- int ret=NOTIFY_DONE;
- struct notifier_block *nb = *n;
- while(nb)
- {
- ret=nb->notifier_call(val,v);
- if(ret&NOTIFY_STOP_MASK)
- return ret;
- nb=nb->next;
- }
- return ret;
-}
-
-
-/*
- * Declared notifiers so far. I can imagine quite a few more chains
- * over time (eg laptop power reset chains, reboot chain (to clean
- * device units up), device [un]mount chain, module load/unload chain,
- * low memory chain, screenblank chain (for plug in modular screenblankers)
- * VC switch chains (for loadable kernel svgalib VC switch helpers) etc...
- */
-
-/* netdevice notifier chain */
-#define NETDEV_UP 0x0001 /* For now you can't veto a device up/down */
-#define NETDEV_DOWN 0x0002
-#define NETDEV_REBOOT 0x0003 /* Tell a protocol stack a network interface
- detected a hardware crash and restarted
- - we can use this eg to kick tcp sessions
- once done */
-#endif
-#endif
diff --git a/pfinet/linux/param.h b/pfinet/linux/param.h
deleted file mode 100644
index 39efaf0d..00000000
--- a/pfinet/linux/param.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/param.h>
diff --git a/pfinet/linux/route.h b/pfinet/linux/route.h
deleted file mode 100644
index 3cadd206..00000000
--- a/pfinet/linux/route.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the IP router interface.
- *
- * Version: @(#)route.h 1.0.3 05/27/93
- *
- * Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_ROUTE_H
-#define _LINUX_ROUTE_H
-
-#include <linux/if.h>
-
-
-/* This structure gets passed by the SIOCADDRTOLD and SIOCDELRTOLD calls. */
-
-struct old_rtentry {
- unsigned long rt_genmask;
- struct sockaddr rt_dst;
- struct sockaddr rt_gateway;
- short rt_flags;
- short rt_refcnt;
- unsigned long rt_use;
- char *rt_dev;
-};
-
-/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
-struct rtentry {
- unsigned long rt_hash; /* hash key for lookups */
- struct sockaddr rt_dst; /* target address */
- struct sockaddr rt_gateway; /* gateway addr (RTF_GATEWAY) */
- struct sockaddr rt_genmask; /* target network mask (IP) */
- short rt_flags;
- short rt_refcnt;
- unsigned long rt_use;
- struct ifnet *rt_ifp;
- short rt_metric; /* +1 for binary compatibility! */
- char *rt_dev; /* forcing the device at add */
- unsigned long rt_mss; /* per route MTU/Window */
- unsigned long rt_window; /* Window clamping */
-};
-
-
-#define RTF_UP 0x0001 /* route usable */
-#define RTF_GATEWAY 0x0002 /* destination is a gateway */
-#define RTF_HOST 0x0004 /* host entry (net otherwise) */
-#define RTF_REINSTATE 0x0008 /* reinstate route after tmout */
-#define RTF_DYNAMIC 0x0010 /* created dyn. (by redirect) */
-#define RTF_MODIFIED 0x0020 /* modified dyn. (by redirect) */
-#define RTF_MSS 0x0040 /* specific MSS for this route */
-#define RTF_WINDOW 0x0080 /* per route window clamping */
-
-/*
- * REMOVE THESE BY 1.2.0 !!!!!!!!!!!!!!!!!
- */
-
-#define RTF_MTU RTF_MSS
-#define rt_mtu rt_mss
-
-#endif /* _LINUX_ROUTE_H */
diff --git a/pfinet/linux/sched.h b/pfinet/linux/sched.h
deleted file mode 100644
index acc60944..00000000
--- a/pfinet/linux/sched.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef _HACK_SCHED_H
-#define _HACK_SCHED_H
-
-#include <linux/wait.h>
-#include <sys/signal.h>
-#include <hurd/hurd_types.h>
-#include <linux/kernel.h>
-#include <linux/net.h>
-#include <sys/time.h>
-#include "mapped-time.h"
-#include <assert.h>
-#include <mach.h>
-#include <asm/system.h>
-
-#define jiffies (fetch_jiffies ())
-extern struct task_struct *current;
-extern struct task_struct current_contents;
-
-struct task_struct
-{
- uid_t pgrp, pid;
- int flags;
- int timeout;
- int signal;
- int blocked;
- int state;
- int isroot;
-};
-
-/* FLAGS in task_struct's. */
-#define PF_EXITING 1
-/* STATE in task_struct's. */
-#define TASK_INTERRUPTIBLE 1
-#define TASK_RUNNING 2
-
-extern inline int
-suser ()
-{
- return current->isroot;
-};
-
-void wake_up_interruptible (struct wait_queue **);
-void interruptible_sleep_on (struct wait_queue **);
-
-void select_wait (struct wait_queue **, select_table *);
-
-void schedule (void);
-
-#define SEL_IN SELECT_READ
-#define SEL_OUT SELECT_WRITE
-#define SEL_EX SELECT_URG
-
-/* This function is used only to send SIGPIPE to the current
- task. In all such cases, EPIPE is returned anyhow. In the
- Hurd, servers are not responsible for SIGPIPE; the library
- does that itself upon receiving EPIPE. So we can just
- NOP such calls. */
-extern inline int
-send_sig (u_long signo, struct task_struct *task, int priv)
-{
- assert (signo == SIGPIPE);
- assert (task == current);
- return 0;
-}
-
-int fetch_current_time (void);
-struct timeval fetch_xtime (void);
-
-#define xtime (fetch_xtime ())
-#define CURRENT_TIME (xtime.tv_sec)
-
-static struct timeval _xtime_buf;
-
-extern inline struct timeval
-fetch_xtime ()
-{
- maptime_read (mapped_time, &_xtime_buf);
- return _xtime_buf;
-}
-
-#endif
diff --git a/pfinet/linux/skbuff.h b/pfinet/linux/skbuff.h
deleted file mode 100644
index 817f89d7..00000000
--- a/pfinet/linux/skbuff.h
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Definitions for the 'struct sk_buff' memory handlers.
- *
- * Authors:
- * Alan Cox, <gw4pts@gw4pts.ampr.org>
- * Florian La Roche, <rzsfl@rz.uni-sb.de>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_SKBUFF_H
-#define _LINUX_SKBUFF_H
-#include <linux/malloc.h>
-#include <linux/wait.h>
-#include <linux/time.h>
-#include <linux/config.h>
-
-#undef CONFIG_SKB_CHECK
-
-#define HAVE_ALLOC_SKB /* For the drivers to know */
-
-
-#define FREE_READ 1
-#define FREE_WRITE 0
-
-
-struct sk_buff_head {
- struct sk_buff * volatile next;
- struct sk_buff * volatile prev;
-#if CONFIG_SKB_CHECK
- int magic_debug_cookie;
-#endif
-};
-
-
-struct sk_buff {
- struct sk_buff * volatile next;
- struct sk_buff * volatile prev;
-#if CONFIG_SKB_CHECK
- int magic_debug_cookie;
-#endif
- struct sk_buff * volatile link3;
- struct sock *sk;
- volatile unsigned long when; /* used to compute rtt's */
- struct timeval stamp;
- struct device *dev;
- struct sk_buff *mem_addr;
- union {
- struct tcphdr *th;
- struct ethhdr *eth;
- struct iphdr *iph;
- struct udphdr *uh;
- unsigned char *raw;
- unsigned long seq;
- } h;
- struct iphdr *ip_hdr; /* For IPPROTO_RAW */
- unsigned long mem_len;
- unsigned long len;
- unsigned long fraglen;
- struct sk_buff *fraglist; /* Fragment list */
- unsigned long truesize;
- unsigned long saddr;
- unsigned long daddr;
- unsigned long raddr; /* next hop addr */
- volatile char acked,
- used,
- free,
- arp;
- unsigned char tries,lock,localroute,pkt_type;
-#define PACKET_HOST 0 /* To us */
-#define PACKET_BROADCAST 1
-#define PACKET_MULTICAST 2
-#define PACKET_OTHERHOST 3 /* Unmatched promiscuous */
- unsigned short users; /* User count - see datagram.c (and soon seqpacket.c/stream.c) */
- unsigned short pkt_class; /* For drivers that need to cache the packet type with the skbuff (new PPP) */
-#ifdef CONFIG_SLAVE_BALANCING
- unsigned short in_dev_queue;
-#endif
- unsigned long padding[0];
- unsigned char data[0];
-};
-
-#define SK_WMEM_MAX 32767
-#define SK_RMEM_MAX 32767
-
-#ifdef CONFIG_SKB_CHECK
-#define SK_FREED_SKB 0x0DE2C0DE
-#define SK_GOOD_SKB 0xDEC0DED1
-#define SK_HEAD_SKB 0x12231298
-#endif
-
-#ifdef __KERNEL__
-/*
- * Handling routines are only of interest to the kernel
- */
-
-#include <asm/system.h>
-
-#if 0
-extern void print_skb(struct sk_buff *);
-#endif
-extern void kfree_skb(struct sk_buff *skb, int rw);
-extern void skb_queue_head_init(struct sk_buff_head *list);
-extern void skb_queue_head(struct sk_buff_head *list,struct sk_buff *buf);
-extern void skb_queue_tail(struct sk_buff_head *list,struct sk_buff *buf);
-extern struct sk_buff * skb_dequeue(struct sk_buff_head *list);
-extern void skb_insert(struct sk_buff *old,struct sk_buff *newsk);
-extern void skb_append(struct sk_buff *old,struct sk_buff *newsk);
-extern void skb_unlink(struct sk_buff *buf);
-extern struct sk_buff * skb_peek_copy(struct sk_buff_head *list);
-extern struct sk_buff * alloc_skb(unsigned int size, int priority);
-extern void kfree_skbmem(struct sk_buff *skb, unsigned size);
-extern struct sk_buff * skb_clone(struct sk_buff *skb, int priority);
-extern void skb_device_lock(struct sk_buff *skb);
-extern void skb_device_unlock(struct sk_buff *skb);
-extern void dev_kfree_skb(struct sk_buff *skb, int mode);
-extern int skb_device_locked(struct sk_buff *skb);
-/*
- * Peek an sk_buff. Unlike most other operations you _MUST_
- * be careful with this one. A peek leaves the buffer on the
- * list and someone else may run off with it. For an interrupt
- * type system cli() peek the buffer copy the data and sti();
- */
-static __inline__ struct sk_buff *skb_peek(struct sk_buff_head *list_)
-{
- struct sk_buff *list = (struct sk_buff *)list_;
- return (list->next != list)? list->next : NULL;
-}
-
-#if CONFIG_SKB_CHECK
-extern int skb_check(struct sk_buff *skb,int,int, char *);
-#define IS_SKB(skb) skb_check((skb), 0, __LINE__,__FILE__)
-#define IS_SKB_HEAD(skb) skb_check((skb), 1, __LINE__,__FILE__)
-#else
-#define IS_SKB(skb)
-#define IS_SKB_HEAD(skb)
-
-extern __inline__ void skb_queue_head_init(struct sk_buff_head *list)
-{
- list->prev = (struct sk_buff *)list;
- list->next = (struct sk_buff *)list;
-}
-
-/*
- * Insert an sk_buff at the start of a list.
- */
-
-extern __inline__ void skb_queue_head(struct sk_buff_head *list_,struct sk_buff *newsk)
-{
- unsigned long flags;
- struct sk_buff *list = (struct sk_buff *)list_;
-
- save_flags(flags);
- cli();
- newsk->next = list->next;
- newsk->prev = list;
- newsk->next->prev = newsk;
- newsk->prev->next = newsk;
- restore_flags(flags);
-}
-
-/*
- * Insert an sk_buff at the end of a list.
- */
-
-extern __inline__ void skb_queue_tail(struct sk_buff_head *list_, struct sk_buff *newsk)
-{
- unsigned long flags;
- struct sk_buff *list = (struct sk_buff *)list_;
-
- save_flags(flags);
- cli();
-
- newsk->next = list;
- newsk->prev = list->prev;
-
- newsk->next->prev = newsk;
- newsk->prev->next = newsk;
-
- restore_flags(flags);
-}
-
-/*
- * Remove an sk_buff from a list. This routine is also interrupt safe
- * so you can grab read and free buffers as another process adds them.
- */
-
-extern __inline__ struct sk_buff *skb_dequeue(struct sk_buff_head *list_)
-{
- long flags;
- struct sk_buff *result;
- struct sk_buff *list = (struct sk_buff *)list_;
-
- save_flags(flags);
- cli();
-
- result = list->next;
- if (result == list) {
- restore_flags(flags);
- return NULL;
- }
-
- result->next->prev = list;
- list->next = result->next;
-
- result->next = NULL;
- result->prev = NULL;
-
- restore_flags(flags);
-
- return result;
-}
-
-/*
- * Insert a packet before another one in a list.
- */
-
-extern __inline__ void skb_insert(struct sk_buff *old, struct sk_buff *newsk)
-{
- unsigned long flags;
-
- save_flags(flags);
- cli();
- newsk->next = old;
- newsk->prev = old->prev;
- old->prev = newsk;
- newsk->prev->next = newsk;
-
- restore_flags(flags);
-}
-
-/*
- * Place a packet after a given packet in a list.
- */
-
-extern __inline__ void skb_append(struct sk_buff *old, struct sk_buff *newsk)
-{
- unsigned long flags;
-
- save_flags(flags);
- cli();
-
- newsk->prev = old;
- newsk->next = old->next;
- newsk->next->prev = newsk;
- old->next = newsk;
-
- restore_flags(flags);
-}
-
-/*
- * Remove an sk_buff from its list. Works even without knowing the list it
- * is sitting on, which can be handy at times. It also means that THE LIST
- * MUST EXIST when you unlink. Thus a list must have its contents unlinked
- * _FIRST_.
- */
-
-extern __inline__ void skb_unlink(struct sk_buff *skb)
-{
- unsigned long flags;
-
- save_flags(flags);
- cli();
-
- if(skb->prev && skb->next)
- {
- skb->next->prev = skb->prev;
- skb->prev->next = skb->next;
- skb->next = NULL;
- skb->prev = NULL;
- }
- restore_flags(flags);
-}
-
-#endif
-
-extern struct sk_buff * skb_recv_datagram(struct sock *sk,unsigned flags,int noblock, int *err);
-extern int datagram_select(struct sock *sk, int sel_type, select_table *wait);
-extern void skb_copy_datagram(struct sk_buff *from, int offset, char *to,int size);
-extern void skb_free_datagram(struct sk_buff *skb);
-
-#endif /* __KERNEL__ */
-#endif /* _LINUX_SKBUFF_H */
diff --git a/pfinet/linux/socket.h b/pfinet/linux/socket.h
deleted file mode 100644
index 22dd05ce..00000000
--- a/pfinet/linux/socket.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _HACK_SOCKET_H_
-#define _HACK_SOCKET_H_
-
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-
-#define IP_MAX_MEMBERSHIPS 10
-
-#define IPTOS_LOWDELAY 0x10
-#define IPTOS_THROUGHPUT 0x08
-#define IPTOS_RELIABILITY 0x04
-
-#define SOPRI_INTERACTIVE 0
-#define SOPRI_NORMAL 1
-#define SOPRI_BACKGROUND 2
-
-#define SOL_IP IPPROTO_IP
-#define SOL_TCP IPPROTO_TCP
-
-/* TCP options */
-#define TCP_NODELAY 1
-#define TCP_MAXSEG 2
-
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-
-#endif
diff --git a/pfinet/linux/sockios.h b/pfinet/linux/sockios.h
deleted file mode 100644
index e69de29b..00000000
--- a/pfinet/linux/sockios.h
+++ /dev/null
diff --git a/pfinet/linux/stat.h b/pfinet/linux/stat.h
deleted file mode 100644
index 5165069b..00000000
--- a/pfinet/linux/stat.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/stat.h>
diff --git a/pfinet/linux/string.h b/pfinet/linux/string.h
deleted file mode 100644
index 3b2f5900..00000000
--- a/pfinet/linux/string.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <string.h>
diff --git a/pfinet/linux/tcp.h b/pfinet/linux/tcp.h
deleted file mode 100644
index 32ef0ad1..00000000
--- a/pfinet/linux/tcp.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the TCP protocol.
- *
- * Version: @(#)tcp.h 1.0.2 04/28/93
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_TCP_H
-#define _LINUX_TCP_H
-
-
-#define HEADER_SIZE 64 /* maximum header size */
-
-
-struct tcphdr {
- __u16 source;
- __u16 dest;
- __u32 seq;
- __u32 ack_seq;
-#if defined(__i386__)
- __u16 res1:4,
- doff:4,
- fin:1,
- syn:1,
- rst:1,
- psh:1,
- ack:1,
- urg:1,
- res2:2;
-#elif defined(__mc68000__)
- __u16 res2:2,
- urg:1,
- ack:1,
- psh:1,
- rst:1,
- syn:1,
- fin:1,
- doff:4,
- res1:4;
-#elif defined(__MIPSEL__)
- __u16 res1:4,
- doff:4,
- fin:1,
- syn:1,
- rst:1,
- psh:1,
- ack:1,
- urg:1,
- res2:2;
-#elif defined(__MIPSEB__)
- __u16 res2:2,
- urg:1,
- ack:1,
- psh:1,
- rst:1,
- syn:1,
- fin:1,
- doff:4,
- res1:4;
-#elif defined(__alpha__)
- __u16 res1:4,
- doff:4,
- fin:1,
- syn:1,
- rst:1,
- psh:1,
- ack:1,
- urg:1,
- res2:2;
-#elif defined(__sparc__)
- __u16 res2:2,
- urg:1,
- ack:1,
- psh:1,
- rst:1,
- syn:1,
- fin:1,
- doff:4,
- res1:4;
-#else
-#error "Adjust this structure for your cpu alignment rules"
-#endif
- __u16 window;
- __u16 check;
- __u16 urg_ptr;
-};
-
-
-enum {
- TCP_ESTABLISHED = 1,
- TCP_SYN_SENT,
- TCP_SYN_RECV,
- TCP_FIN_WAIT1,
- TCP_FIN_WAIT2,
- TCP_TIME_WAIT,
- TCP_CLOSE,
- TCP_CLOSE_WAIT,
- TCP_LAST_ACK,
- TCP_LISTEN,
- TCP_CLOSING /* now a valid state */
-};
-
-#endif /* _LINUX_TCP_H */
diff --git a/pfinet/linux/termios.h b/pfinet/linux/termios.h
deleted file mode 100644
index 9e269565..00000000
--- a/pfinet/linux/termios.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <termios.h>
diff --git a/pfinet/linux/time.h b/pfinet/linux/time.h
deleted file mode 100644
index 50e13783..00000000
--- a/pfinet/linux/time.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _HACK_TIME_H_
-#define _HACK_TIME_H_
-
-#include <sys/time.h>
-#include "mapped-time.h"
-
-extern inline void
-do_gettimeofday (struct timeval *tp)
-{
- maptime_read (mapped_time, &_xtime_buf);
-}
-
-#endif
diff --git a/pfinet/linux/timer.h b/pfinet/linux/timer.h
deleted file mode 100644
index 2458746e..00000000
--- a/pfinet/linux/timer.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _HACK_TIMER_H_
-#define _HACK_TIMER_H_
-
-#include <cthreads.h>
-
-enum tstate
-{
- TIMER_INACTIVE,
- TIMER_STARTING,
- TIMER_STARTED,
- TIMER_EXPIRED,
- TIMER_FUNCTION_RUNNING,
-};
-
-struct timer_list
-{
- struct timer_list *next, **prevp;
- unsigned long expires;
- unsigned long data;
- void (*function)(unsigned long);
-};
-
-void add_timer (struct timer_list *);
-int del_timer (struct timer_list *);
-void init_timer (struct timer_list *);
-
-#endif
diff --git a/pfinet/linux/types.h b/pfinet/linux/types.h
deleted file mode 100644
index c978fb07..00000000
--- a/pfinet/linux/types.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _HACK_TYPES_H
-#define _HACK_TYPES_H
-
-#include <sys/types.h>
-typedef unsigned char __u8;
-typedef unsigned short __u16;
-typedef unsigned long __u32;
-
-/* Hackery */
-struct inode
-{
- uid_t i_uid;
-};
-
-
-#endif
diff --git a/pfinet/linux/udp.h b/pfinet/linux/udp.h
deleted file mode 100644
index 471301a2..00000000
--- a/pfinet/linux/udp.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the UDP protocol.
- *
- * Version: @(#)udp.h 1.0.2 04/28/93
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_UDP_H
-#define _LINUX_UDP_H
-
-
-struct udphdr {
- unsigned short source;
- unsigned short dest;
- unsigned short len;
- unsigned short check;
-};
-
-
-#endif /* _LINUX_UDP_H */
diff --git a/pfinet/linux/un.h b/pfinet/linux/un.h
deleted file mode 100644
index e69de29b..00000000
--- a/pfinet/linux/un.h
+++ /dev/null
diff --git a/pfinet/linux/wait.h b/pfinet/linux/wait.h
deleted file mode 100644
index 15759ad2..00000000
--- a/pfinet/linux/wait.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _HACK_WAIT_H_
-#define _HACK_WAIT_H_
-
-#include <cthreads.h>
-
-struct wait_queue
-{
- struct condition c;
-};
-
-struct select_table_elt
-{
- struct condition *dependent_condition;
- struct select_table_elt *next;
-};
-
-typedef struct select_table_struct
-{
- struct condition master_condition;
- struct select_table_elt *head;
-} select_table;
-
-#endif