moved oskittcp as it is a driver lib.
authorSteven Edwards <winehacker@gmail.com>
Sat, 29 May 2004 00:56:56 +0000 (00:56 +0000)
committerSteven Edwards <winehacker@gmail.com>
Sat, 29 May 2004 00:56:56 +0000 (00:56 +0000)
svn path=/trunk/; revision=9529

120 files changed:
reactos/lib/oskittcp/README [deleted file]
reactos/lib/oskittcp/include/freebsd/dev/include/vm/vm.h [deleted file]
reactos/lib/oskittcp/include/freebsd/dev/include/vm/vm_param.h [deleted file]
reactos/lib/oskittcp/include/freebsd/net/include/arpa/inet.h [deleted file]
reactos/lib/oskittcp/include/freebsd/net/include/imp.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/ansi.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/cpufunc.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/endian.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/ipl.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/limits.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/param.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/proc.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/signal.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/spl.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/stdarg.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/trap.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/types.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/machine/vmparam.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/net/if.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/net/if_arp.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/net/netisr.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/net/radix.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/net/raw_cb.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/net/route.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/if_ether.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/igmp_var.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_pcb.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_systm.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_var.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_fw.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_icmp.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_var.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_debug.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_fsm.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_seq.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_timer.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_var.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcpip.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/udp.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/netinet/udp_var.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/buf.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/callout.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/cdefs.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/domain.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/errno.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/fcntl.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/file.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/filedesc.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/filio.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/ioccom.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/ioctl.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/kernel.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/libkern.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/malloc.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/mbuf.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/param.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/proc.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/protosw.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/queue.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/resource.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/resourcevar.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/rtprio.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/select.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/signal.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/signalvar.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/socket.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/socketvar.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/sockio.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/stat.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/sysctl.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/syslimits.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/syslog.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/systm.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/time.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/ttycom.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/types.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/ucred.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/uio.h [deleted file]
reactos/lib/oskittcp/include/freebsd/src/sys/sys/unistd.h [deleted file]
reactos/lib/oskittcp/include/memtrack.h [deleted file]
reactos/lib/oskittcp/include/oskitdebug.h [deleted file]
reactos/lib/oskittcp/include/oskiterrno.h [deleted file]
reactos/lib/oskittcp/include/oskitfreebsd.h [deleted file]
reactos/lib/oskittcp/include/oskittcp.h [deleted file]
reactos/lib/oskittcp/include/oskittypes.h [deleted file]
reactos/lib/oskittcp/makefile [deleted file]
reactos/lib/oskittcp/oskittcp/.cvsignore [deleted file]
reactos/lib/oskittcp/oskittcp/defaults.c [deleted file]
reactos/lib/oskittcp/oskittcp/in.c [deleted file]
reactos/lib/oskittcp/oskittcp/in_cksum.c [deleted file]
reactos/lib/oskittcp/oskittcp/in_pcb.c [deleted file]
reactos/lib/oskittcp/oskittcp/in_proto.c [deleted file]
reactos/lib/oskittcp/oskittcp/in_rmx.c [deleted file]
reactos/lib/oskittcp/oskittcp/inet_ntoa.c [deleted file]
reactos/lib/oskittcp/oskittcp/interface.c [deleted file]
reactos/lib/oskittcp/oskittcp/ip_input.c [deleted file]
reactos/lib/oskittcp/oskittcp/ip_output.c [deleted file]
reactos/lib/oskittcp/oskittcp/kern_clock.c [deleted file]
reactos/lib/oskittcp/oskittcp/kern_subr.c [deleted file]
reactos/lib/oskittcp/oskittcp/malloc.c [deleted file]
reactos/lib/oskittcp/oskittcp/param.c [deleted file]
reactos/lib/oskittcp/oskittcp/radix.c [deleted file]
reactos/lib/oskittcp/oskittcp/random.c [deleted file]
reactos/lib/oskittcp/oskittcp/route.c [deleted file]
reactos/lib/oskittcp/oskittcp/rtsock.c [deleted file]
reactos/lib/oskittcp/oskittcp/scanc.c [deleted file]
reactos/lib/oskittcp/oskittcp/sleep.c [deleted file]
reactos/lib/oskittcp/oskittcp/tcp_debug.c [deleted file]
reactos/lib/oskittcp/oskittcp/tcp_input.c [deleted file]
reactos/lib/oskittcp/oskittcp/tcp_output.c [deleted file]
reactos/lib/oskittcp/oskittcp/tcp_subr.c [deleted file]
reactos/lib/oskittcp/oskittcp/tcp_timer.c [deleted file]
reactos/lib/oskittcp/oskittcp/tcp_usrreq.c [deleted file]
reactos/lib/oskittcp/oskittcp/uipc_domain.c [deleted file]
reactos/lib/oskittcp/oskittcp/uipc_mbuf.c [deleted file]
reactos/lib/oskittcp/oskittcp/uipc_socket.c [deleted file]
reactos/lib/oskittcp/oskittcp/uipc_socket2.c [deleted file]

diff --git a/reactos/lib/oskittcp/README b/reactos/lib/oskittcp/README
deleted file mode 100644 (file)
index a78d4e5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-These files are originally from the freebsd TCP stack contained on oskit.
-Only files relevent to TCP are here, along with assorted interfaces that
-are needed to make them useful.  Overall, I intend this to implement a
-generic, standalone TCP library that can be used with any IP machinery
-required.
diff --git a/reactos/lib/oskittcp/include/freebsd/dev/include/vm/vm.h b/reactos/lib/oskittcp/include/freebsd/dev/include/vm/vm.h
deleted file mode 100644 (file)
index d3b2f6d..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 1997-1998 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-/*
- * here's vm.h's primary purpose in life:
- *
- * define `vm_map_t' for the first arg to kmem_alloc()
- */
-#ifndef _FAKE_VM_H
-#define _FAKE_VM_H
-
-typedef void *vm_map_t; 
-
-#include <vm/vm_param.h>
-
-/*
- * XXX This is used by syscons to compute the address of the video buffer.
- * This definition means the driver will only work when kva == pa.
- * The real solution would be to modify the driver to map the buffer explicitly.
- */
-#define vtophys(va) va
-
-/* 
- * ip_icmp.c and possibly other files rely on vm/vm.h to get sys/proc ... 
- */
-#include <sys/proc.h>
-#include <sys/queue.h>
-
-#endif /* _FAKE_VM_H */
diff --git a/reactos/lib/oskittcp/include/freebsd/dev/include/vm/vm_param.h b/reactos/lib/oskittcp/include/freebsd/dev/include/vm/vm_param.h
deleted file mode 100644 (file)
index 4d48e03..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 1997-1998 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-#ifndef        _VM_PARAM_
-#define        _VM_PARAM_
-
-#include <machine/vmparam.h>
-
-typedef int boolean_t;
-
-#define        TRUE    1
-#define        FALSE   0
-
-#endif /* _VM_PARAM_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/net/include/arpa/inet.h b/reactos/lib/oskittcp/include/freebsd/net/include/arpa/inet.h
deleted file mode 100644 (file)
index 014277c..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 1983, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)inet.h      8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _ARPA_INET_H_
-#define        _ARPA_INET_H_
-
-/* External definitions for functions in inet(3) */
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-unsigned long   inet_addr __P((const char *));
-int             inet_aton __P((const char *, struct in_addr *));
-unsigned long   inet_lnaof __P((struct in_addr));
-struct in_addr  inet_makeaddr __P((u_long , u_long));
-unsigned long   inet_netof __P((struct in_addr));
-unsigned long   inet_network __P((const char *));
-char           *inet_ntoa __P((struct in_addr));
-__END_DECLS
-
-#endif /* !_INET_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/net/include/imp.h b/reactos/lib/oskittcp/include/freebsd/net/include/imp.h
deleted file mode 100644 (file)
index ef8ea49..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#define NIMP 0
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/ansi.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/ansi.h
deleted file mode 100644 (file)
index 7d84a82..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ansi.h      8.2 (Berkeley) 1/4/94
- */
-
-#ifndef _MACHINE_ANSI_H_
-#define        _MACHINE_ANSI_H_
-
-/*
- * Types which are fundamental to the implementation and must be declared
- * in more than one standard header are defined here.  Standard headers
- * then use:
- *     #ifdef  _BSD_SIZE_T_
- *     typedef _BSD_SIZE_T_ size_t;
- *     #undef  _BSD_SIZE_T_
- *     #endif
- */
-#define        _BSD_CLOCK_T_   unsigned long           /* clock() */
-#define        _BSD_PTRDIFF_T_ int                     /* ptr1 - ptr2 */
-#ifndef _BSD_SIZE_T_
-#define        _BSD_SIZE_T_    unsigned int            /* sizeof() */
-#endif
-#define        _BSD_SSIZE_T_   int                     /* byte count or error */
-#define        _BSD_TIME_T_    long                    /* time() */
-
-/*
- * Types which are fundamental to the implementation and must be used
- * in more than one standard header although they are only declared in
- * one (perhaps nonstandard) header are defined here.  Standard headers
- * use _BSD_XXX_T_ without undef'ing it.
- */
-#define        _BSD_OFF_T_     long long               /* file offset */
-#define        _BSD_PID_T_     long                    /* process [group] */
-#define        _BSD_VA_LIST_   char *                  /* va_list */
-
-/*
- * Runes (wchar_t) is declared to be an ``int'' instead of the more natural
- * ``unsigned long'' or ``long''.  Two things are happening here.  It is not
- * unsigned so that EOF (-1) can be naturally assigned to it and used.  Also,
- * it looks like 10646 will be a 31 bit standard.  This means that if your
- * ints cannot hold 32 bits, you will be in trouble.  The reason an int was
- * chosen over a long is that the is*() and to*() routines take ints (says
- * ANSI C), but they use _RUNE_T_ instead of int.  By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type.  When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define        _BSD_WCHAR_T_   int                     /* wchar_t */
-#define        _BSD_RUNE_T_    int                     /* rune_t */
-
-/*
- * Frequencies of the clock ticks reported by clock() and times().  They
- * are the same as stathz for bogus historical reasons.  They should be
- * 1e6 because clock() and times() are implemented using getrusage() and
- * there is no good reason why they should be less accurate.  There is
- * the bad reason that (broken) programs might not like clock_t or
- * CLOCKS_PER_SEC being ``double'' (``unsigned long'' is not large enough
- * to hold the required 24 hours worth of ticks if the frequency is
- * 1000000ul, and ``unsigned long long'' would be nonstandard).
- */
-#define        _BSD_CLK_TCK_           128
-#define        _BSD_CLOCKS_PER_SEC_    128
-
-#endif /* !_MACHINE_ANSI_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/cpufunc.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/cpufunc.h
deleted file mode 100644 (file)
index 8ccb08f..0000000
+++ /dev/null
@@ -1,460 +0,0 @@
-/*-
- * Copyright (c) 1993 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-/*
- * Functions to provide access to special i386 instructions.
- */
-
-#ifndef _MACHINE_CPUFUNC_H_
-#define        _MACHINE_CPUFUNC_H_
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#include <machine/spl.h>       /* XXX belongs elsewhere */
-
-#ifdef __GNUC__
-
-#ifdef BDE_DEBUGGER
-extern int     bdb_exists;
-
-static __inline int
-bdb(void)
-{
-       if (!bdb_exists)
-               return (0);
-       __asm __volatile("int $3");
-       return (1);
-}
-#endif /* BDE_DEBUGGER */
-
-static __inline void
-disable_intr(void)
-{
-#ifdef OSKIT
-       osenv_intr_disable();
-#else
-       __asm __volatile("cli" : : : "memory");
-#endif
-}
-
-static __inline void
-enable_intr(void)
-{
-#ifdef OSKIT
-       osenv_intr_enable();
-#else
-       __asm __volatile("sti");
-#endif
-}
-
-#define        HAVE_INLINE_FFS
-
-static __inline int
-ffs(int mask)
-{
-       int     result;
-       /*
-        * bsfl turns out to be not all that slow on 486's.  It can beaten
-        * using a binary search to reduce to 4 bits and then a table lookup,
-        * but only if the code is inlined and in the cache, and the code
-        * is quite large so inlining it probably busts the cache.
-        *
-        * Note that gcc-2's builtin ffs would be used if we didn't declare
-        * this inline or turn off the builtin.  The builtin is faster but
-        * broken in gcc-2.4.5 and slower but working in gcc-2.5 and 2.6.
-        */
-       __asm __volatile("testl %0,%0; je 1f; bsfl %0,%0; incl %0; 1:"
-                        : "=r" (result) : "0" (mask));
-       return (result);
-}
-
-#if __GNUC__ < 2
-
-#define        inb(port)               inbv(port)
-#define        outb(port, data)        outbv(port, data)
-
-#else /* __GNUC >= 2 */
-
-/*
- * The following complications are to get around gcc not having a
- * constraint letter for the range 0..255.  We still put "d" in the
- * constraint because "i" isn't a valid constraint when the port
- * isn't constant.  This only matters for -O0 because otherwise
- * the non-working version gets optimized away.
- * 
- * Use an expression-statement instead of a conditional expression
- * because gcc-2.6.0 would promote the operands of the conditional
- * and produce poor code for "if ((inb(var) & const1) == const2)".
- */
-#define        inb(port)       ({                                              \
-       u_char  _data;                                                  \
-       if (__builtin_constant_p((int) (port)) && (port) < 256ul)       \
-               _data = inbc(port);                                     \
-       else                                                            \
-               _data = inbv(port);                                     \
-       _data; })
-
-#define        outb(port, data) \
-       (__builtin_constant_p((int) (port)) && (port) < 256ul \
-        ? outbc(port, data) : outbv(port, data))
-
-static __inline u_char
-inbc(u_int port)
-{
-       u_char  data;
-
-       __asm __volatile("inb %1,%0" : "=a" (data) : "id" ((u_short)(port)));
-       return (data);
-}
-
-static __inline void
-outbc(u_int port, u_char data)
-{
-       __asm __volatile("outb %0,%1" : : "a" (data), "id" ((u_short)(port)));
-}
-
-#endif /* __GNUC <= 2 */
-
-static __inline u_char
-inbv(u_int port)
-{
-       u_char  data;
-       /*
-        * We use %%dx and not %1 here because i/o is done at %dx and not at
-        * %edx, while gcc generates inferior code (movw instead of movl)
-        * if we tell it to load (u_short) port.
-        */
-       __asm __volatile("inb %%dx,%0" : "=a" (data) : "d" (port));
-       return (data);
-}
-
-static __inline u_long
-inl(u_int port)
-{
-       u_long  data;
-
-       __asm __volatile("inl %%dx,%0" : "=a" (data) : "d" (port));
-       return (data);
-}
-
-static __inline void
-insb(u_int port, void *addr, size_t cnt)
-{
-       __asm __volatile("cld; rep; insb"
-                        : : "d" (port), "D" (addr), "c" (cnt)
-                        : "di", "cx", "memory");
-}
-
-static __inline void
-insw(u_int port, void *addr, size_t cnt)
-{
-       __asm __volatile("cld; rep; insw"
-                        : : "d" (port), "D" (addr), "c" (cnt)
-                        : "di", "cx", "memory");
-}
-
-static __inline void
-insl(u_int port, void *addr, size_t cnt)
-{
-       __asm __volatile("cld; rep; insl"
-                        : : "d" (port), "D" (addr), "c" (cnt)
-                        : "di", "cx", "memory");
-}
-
-static __inline u_short
-inw(u_int port)
-{
-       u_short data;
-
-       __asm __volatile("inw %%dx,%0" : "=a" (data) : "d" (port));
-       return (data);
-}
-
-static __inline unsigned
-loadandclear(u_int *addr)
-{
-       u_int   result;
-
-       __asm __volatile("xorl %0,%0; xchgl %1,%0"
-                        : "=&r" (result) : "m" (*addr));
-       return (result);
-}
-
-static __inline void
-outbv(u_int port, u_char data)
-{
-       u_char  al;
-       /*
-        * Use an unnecessary assignment to help gcc's register allocator.
-        * This make a large difference for gcc-1.40 and a tiny difference
-        * for gcc-2.6.0.  For gcc-1.40, al had to be ``asm("ax")'' for
-        * best results.  gcc-2.6.0 can't handle this.
-        */
-       al = data;
-       __asm __volatile("outb %0,%%dx" : : "a" (al), "d" (port));
-}
-
-static __inline void
-outl(u_int port, u_long data)
-{
-       /*
-        * outl() and outw() aren't used much so we haven't looked at
-        * possible micro-optimizations such as the unnecessary
-        * assignment for them.
-        */
-       __asm __volatile("outl %0,%%dx" : : "a" (data), "d" (port));
-}
-
-static __inline void
-outsb(u_int port, void *addr, size_t cnt)
-{
-       __asm __volatile("cld; rep; outsb"
-                        : : "d" (port), "S" (addr), "c" (cnt)
-                        : "si", "cx");
-}
-
-static __inline void
-outsw(u_int port, void *addr, size_t cnt)
-{
-       __asm __volatile("cld; rep; outsw"
-                        : : "d" (port), "S" (addr), "c" (cnt)
-                        : "si", "cx");
-}
-
-static __inline void
-outsl(u_int port, void *addr, size_t cnt)
-{
-       __asm __volatile("cld; rep; outsl"
-                        : : "d" (port), "S" (addr), "c" (cnt)
-                        : "si", "cx");
-}
-
-static __inline void
-outw(u_int port, u_short data)
-{
-       __asm __volatile("outw %0,%%dx" : : "a" (data), "d" (port));
-}
-
-static __inline void
-pmap_update(void)
-{
-       u_long  temp;
-       /*
-        * This should be implemented as load_cr3(rcr3()) when load_cr3()
-        * is inlined.
-        */
-       __asm __volatile("movl %%cr3, %0; movl %0, %%cr3" : "=r" (temp)
-                        : : "memory");
-}
-
-static __inline u_long
-rcr2(void)
-{
-       u_long  data;
-
-       __asm __volatile("movl %%cr2,%0" : "=r" (data));
-       return (data);
-}
-
-static __inline u_long
-read_eflags(void)
-{
-       u_long  ef;
-
-       __asm __volatile("pushfl; popl %0" : "=r" (ef));
-       return (ef);
-}
-
-static __inline void
-write_eflags(u_long ef)
-{
-       __asm __volatile("pushl %0; popfl" : : "r" (ef));
-}
-
-/*
- * XXX queue stuff belongs elsewhere.
- */
-struct quehead {
-       struct quehead *qh_link;
-       struct quehead *qh_rlink;
-};
-
-static __inline void
-insque(void *a, void *b)
-{
-       struct quehead *element = (struct quehead *)a,
-                       *head = (struct quehead *)b;
-
-       element->qh_link = head->qh_link;
-       element->qh_rlink = head;
-       head->qh_link = element;
-       element->qh_link->qh_rlink = element;
-}
-
-static __inline void
-remque(void *a)
-{
-       struct quehead *element = (struct quehead *)a;
-
-       element->qh_link->qh_rlink = element->qh_rlink;
-       element->qh_rlink->qh_link = element->qh_link;
-       element->qh_rlink = 0;
-}
-
-#else /* !__GNUC__ */
-
-int    bdb             __P((void));
-void   disable_intr    __P((void));
-void   enable_intr     __P((void));
-u_char inb             __P((u_int port));
-u_long inl             __P((u_int port));
-void   insb            __P((u_int port, void *addr, size_t cnt));
-void   insl            __P((u_int port, void *addr, size_t cnt));
-void   insw            __P((u_int port, void *addr, size_t cnt));
-u_short        inw             __P((u_int port));
-u_int  loadandclear    __P((u_int *addr));
-void   outb            __P((u_int port, u_char data));
-void   outl            __P((u_int port, u_long data));
-void   outsb           __P((u_int port, void *addr, size_t cnt));
-void   outsl           __P((u_int port, void *addr, size_t cnt));
-void   outsw           __P((u_int port, void *addr, size_t cnt));
-void   outw            __P((u_int port, u_short data));
-void   pmap_update     __P((void));
-u_long read_eflags     __P((void));
-u_long rcr2            __P((void));
-void   write_eflags    __P((u_long ef));
-
-void   insque          __P((void *a, void *b));
-void   remque          __P((void *a));
-
-#endif /* __GNUC__ */
-
-/*
- * XXX the following declarations document garbage in support.s.
- * gcc hasn't needed _divsi* for years.
- * bcopy[bwx]() was used by pccons but isn't used now.
- */
-int    __divsi3        __P((int factor1, int factor2));
-u_int  __udivsi3       __P((u_int factor1, u_int factor2));
-void   bcopyb          __P((const void *from, void *to, size_t len));
-void   bcopyw          __P((const void *from, void *to, size_t len));
-void   bcopyx          __P((const void *from, void *to, size_t len,
-                            int stride));
-
-#if 0
-/*
- * These functions in support.s are declared elsewhere.
- */
-void   bcopy           __P((const void *from, void *to, size_t len));
-void   blkclr          __P((void *buf, size_t len));
-void   bzero           __P((void *buf, size_t len));
-int    copyin          __P((void *udaddr, void *kaddr, size_t len));
-int    copyinstr       __P((void *udaddr, void *kaddr, size_t len,
-                            size_t *lencopied));
-int    copyout         __P((void *kaddr, void *udaddr, size_t len));
-int    copystr         __P((void *kfaddr, void *kdaddr, size_t len,
-                            size_t *lencopied));
-int    fubyte          __P((void *base));
-int    fuswintr        __P((void *base));
-int    fuibyte         __P((void *base));
-int    fuword          __P((void *base));
-struct region_descriptor;
-void   lgdt            __P((struct region_descriptor *rdp));
-void   lidt            __P((struct region_descriptor *rdp));
-void   lldt            __P((u_short sel));
-/*
- * longjmp() and setjmp() are only used by ddb.  They probably shouldn't
- * shouldn't be supported in the kernel.
- */
-#include <setjmp.h>
-void   longjmp         __P((jmp_buf jb, int rv));
-void   ovbcopy         __P((const void *from, void *to, size_t len);
-int    setjmp          __P((jmp_buf jb));
-struct soft_segment_descriptor;
-union descriptor;
-int    ssdtosd         __P((struct soft_segment_descriptor *ssdp,
-                            union descriptor *sdp));
-int    subyte          __P((void *base, int byte));
-int    suibyte         __P((void *base, int byte));
-int    suswintr        __P((void *base, int word));
-int    suword          __P((void *base, int word));
-
-/*
- * These functions in support.s are declared elsewhere, but never used.
- * A silly amount of effort went into copyoutstr().  It's not worth
- * maintaining, since the string length is usually known so copyout
- * works better, or is easy to find so copyout() can be used.
- */
-int    copyoutstr      __P((void *kaddr, void *udaddr, size_t len,
-                            size_t *lencopied));
-int    fuiword         __P((void *base));
-int    suiword         __P((void *base, int word));
-
-/*
- * These functions in support.s are also in libkern.a and are declared in
- * libkern.h.
- * ffs() is built in to gcc-2 and was buggy in gcc-2.4.5 so we may may the
- * buggy version if we don't replace it by an inline.
- */
-int    bcmp            __P((const void *b1, const void *b2, size_t length));
-int    ffs             __P((int mask));
-#endif /* 0 */
-
-/*
- * These variables and functions in support.s are used.
- */
-extern u_int atdevbase;        /* offset in virtual memory of ISA io mem */
-
-void   filli           __P((int pat, void *base, size_t cnt));
-void   fillw           __P((int /*u_short*/ pat, void *base, size_t cnt));
-int    fusword         __P((void *base));
-void   load_cr0        __P((u_long cr0));
-void   load_cr3        __P((u_long cr3));
-void   ltr             __P((u_short sel));
-u_int  rcr0            __P((void));
-u_long rcr3            __P((void));
-int    rtcin           __P((int val));
-
-/*
- * These functions are NOT in support.s and should be declared elsewhere.
- */
-void   Debugger        __P((const char *msg));
-u_long kvtop           __P((void *addr));
-typedef void alias_for_inthand_t __P((u_int cs, u_int ef, u_int esp,
-                                     u_int ss));
-void   setidt          __P((int idx, alias_for_inthand_t *func, int typ,
-                            int dpl, int selec));
-
-#endif /* !_MACHINE_CPUFUNC_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/endian.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/endian.h
deleted file mode 100644 (file)
index c804477..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 1987, 1991 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     from: @(#)endian.h      7.8 (Berkeley) 4/3/91
- */
-
-#ifndef _MACHINE_ENDIAN_H_
-#define _MACHINE_ENDIAN_H_ 1
-
-/*
- * Define the order of 32-bit words in 64-bit words.
- */
-#define        _QUAD_HIGHWORD 1
-#define        _QUAD_LOWWORD 0
-
-/*
- * Definitions for byte order, according to byte significance from low
- * address to high.
- */
-#define        LITTLE_ENDIAN   1234    /* LSB first: i386, vax */
-#define        BIG_ENDIAN      4321    /* MSB first: 68000, ibm, net */
-#define        PDP_ENDIAN      3412    /* LSB first in word, MSW first in long */
-
-#define        BYTE_ORDER      LITTLE_ENDIAN
-
-#ifndef KERNEL
-#include <sys/cdefs.h>
-#endif
-
-#define __word_swap_long(x) \
-({ register u_long __X = (x); \
-   __asm ("rorl $16, %1" \
-       : "=r" (__X) \
-       : "0" (__X)); \
-   __X; })
-#if __GNUC__ >= 2
-#define __byte_swap_long(x) \
-__extension__ ({ register u_long __X = (x); \
-   __asm ("xchgb %h1, %b1\n\trorl $16, %1\n\txchgb %h1, %b1" \
-       : "=q" (__X) \
-       : "0" (__X)); \
-   __X; })
-#define __byte_swap_word(x) \
-__extension__ ({ register u_short __X = (x); \
-   __asm ("xchgb %h1, %b1" \
-       : "=q" (__X) \
-       : "0" (__X)); \
-   __X; })
-#else /* __GNUC__ >= 2 */
-#define __byte_swap_long(x) \
-({ register u_long __X = (x); \
-   __asm ("rorw $8, %w1\n\trorl $16, %1\n\trorw $8, %w1" \
-       : "=r" (__X) \
-       : "0" (__X)); \
-   __X; })
-#define __byte_swap_word(x) \
-({ register u_short __X = (x); \
-   __asm ("rorw $8, %w1" \
-       : "=r" (__X) \
-       : "0" (__X)); \
-   __X; })
-#endif /* __GNUC__ >= 2 */
-
-/*
- * Macros for network/external number representation conversion.
- */
-#if BYTE_ORDER == BIG_ENDIAN && !defined(lint)
-#define        ntohl(x)        (x)
-#define        ntohs(x)        (x)
-#define        htonl(x)        (x)
-#define        htons(x)        (x)
-
-#define        NTOHL(x)        (x)
-#define        NTOHS(x)        (x)
-#define        HTONL(x)        (x)
-#define        HTONS(x)        (x)
-
-#else
-
-#define        ntohl   __byte_swap_long
-#define        ntohs   __byte_swap_word
-#define        htonl   __byte_swap_long
-#define        htons   __byte_swap_word
-
-#define        NTOHL(x)        (x) = ntohl((u_long)x)
-#define        NTOHS(x)        (x) = ntohs((u_short)x)
-#define        HTONL(x)        (x) = htonl((u_long)x)
-#define        HTONS(x)        (x) = htons((u_short)x)
-#endif
-#endif /* _MACHINE_ENDIAN_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/ipl.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/ipl.h
deleted file mode 100644 (file)
index f006d95..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * Copyright (c) 1993 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-#ifndef _ISA_IPL_H_
-#define _ISA_IPL_H_
-
-#define        NHWI            16      /* number of h/w interrupts */
-#define        HWI_MASK        0xffff  /* bits corresponding to h/w interrupts */
-
-#endif /* _ISA_IPL_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/limits.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/limits.h
deleted file mode 100644 (file)
index f90ed76..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)limits.h    8.3 (Berkeley) 1/4/94
- */
-
-#ifndef _MACHINE_LIMITS_H_
-#define        _MACHINE_LIMITS_H_
-
-#define        CHAR_BIT        8               /* number of bits in a char */
-#ifndef __REACTOS__
-#define        MB_LEN_MAX      6               /* Allow 31 bit UTF2 */
-#endif
-
-/*
- * According to ANSI (section 2.2.4.2), the values below must be usable by
- * #if preprocessing directives.  Additionally, the expression must have the
- * same type as would an expression that is an object of the corresponding
- * type converted according to the integral promotions.  The subtraction for
- * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an
- * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
- * These numbers work for pcc as well.  The UINT_MAX and ULONG_MAX values
- * are written as hex so that GCC will be quiet about large integer constants.
- */
-#define        SCHAR_MAX       127             /* min value for a signed char */
-#define        SCHAR_MIN       (-128)          /* max value for a signed char */
-
-#define        UCHAR_MAX       255             /* max value for an unsigned char */
-#ifndef __REACTOS__
-#define        CHAR_MAX        127             /* max value for a char */
-#define        CHAR_MIN        (-128)          /* min value for a char */
-#endif
-
-#ifndef SHRT_MAX
-#define        USHRT_MAX       65535           /* max value for an unsigned short */
-#define        SHRT_MAX        32767           /* max value for a short */
-#define        SHRT_MIN        (-32768)        /* min value for a short */
-#endif
-
-#ifndef INT_MAX
-#define        UINT_MAX        0xffffffff      /* max value for an unsigned int */
-#define        INT_MAX         2147483647      /* max value for an int */
-#define        INT_MIN         (-2147483647-1) /* min value for an int */
-#endif
-
-#ifndef LONG_MAX
-#define        ULONG_MAX       0xffffffff      /* max value for an unsigned long */
-#define        LONG_MAX        2147483647      /* max value for a long */
-#define        LONG_MIN        (-2147483647-1) /* min value for a long */
-#endif
-
-#if !defined(_ANSI_SOURCE)
-#define        SSIZE_MAX       INT_MAX         /* max value for a ssize_t */
-
-#if !defined(_POSIX_SOURCE)
-#define        SIZE_T_MAX      UINT_MAX        /* max value for a size_t */
-
-/* GCC requires that quad constants be written as expressions. */
-#define        UQUAD_MAX       ((u_quad_t)0-1) /* max value for a uquad_t */
-                                       /* max value for a quad_t */
-#define        QUAD_MAX        ((quad_t)(UQUAD_MAX >> 1))
-#define        QUAD_MIN        (-QUAD_MAX-1)   /* min value for a quad_t */
-
-#endif /* !_POSIX_SOURCE */
-#endif /* !_ANSI_SOURCE */
-
-#endif /* !_MACHINE_LIMITS_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/param.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/param.h
deleted file mode 100644 (file)
index 3926e8d..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     from: @(#)param.h       5.8 (Berkeley) 6/28/91
- */
-
-#ifndef _MACHINE_PARAM_H_
-#define        _MACHINE_PARAM_H_
-
-/*
- * Machine dependent constants for Intel 386.
- */
-
-#define MACHINE                "i386"
-#define MID_MACHINE    MID_I386
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...).   The result is unsigned int
- * and must be cast to any desired pointer type.
- */
-#define ALIGNBYTES     (sizeof(int) - 1)
-#define ALIGN(p)       (((unsigned)(p) + ALIGNBYTES) & ~ALIGNBYTES)
-
-#ifndef PAGE_SIZE
-/* XXX PGSHIFT and PG_SHIFT are two names for the same thing */
-#define PGSHIFT                12              /* LOG2(NBPG) */
-#define PAGE_SHIFT     12
-#define NBPG           (1 << PAGE_SHIFT)       /* bytes/page */
-#define PAGE_SIZE      (1 << PAGE_SHIFT)
-#define PAGE_MASK      (PAGE_SIZE-1)
-#define PGOFSET                (NBPG-1)        /* byte offset into page */
-#define NPTEPG         (NBPG/(sizeof (pt_entry_t)))
-#endif
-
-/* XXX PDRSHIFT and PD_SHIFT are two names for the same thing */
-#define PDRSHIFT       22              /* LOG2(NBPDR) */
-#define NBPDR          (1 << PDRSHIFT) /* bytes/page dir */
-#define PDROFSET       (NBPDR-1)       /* byte offset into page dir */
-
-/*
- * XXX This should really be KPTDPTDI << PDRSHIFT, but since KPTDPTDI is
- * defined in pmap.h which is included after this we can't do that
- * (YET!)
- */
-#define BTOPKERNBASE   (KERNBASE >> PGSHIFT)
-
-#define DEV_BSHIFT     9               /* log2(DEV_BSIZE) */
-#define DEV_BSIZE      (1 << DEV_BSHIFT)
-
-#define BLKDEV_IOSIZE  2048
-#define MAXPHYS                (64 * 1024)     /* max raw I/O transfer size */
-
-#define CLSIZELOG2     0
-#define CLSIZE         (1 << CLSIZELOG2)
-
-/* NOTE: SSIZE, SINCR and UPAGES must be multiples of CLSIZE */
-#define SSIZE  1               /* initial stack size/NBPG */
-#define SINCR  1               /* increment of stack/NBPG */
-
-#define UPAGES 2               /* pages of u-area */
-
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than CLBYTES (the software page size), and,
- * on machines that exchange pages of input or output buffers with mbuf
- * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
- * of the hardware page size.
- */
-#ifndef        MSIZE
-#define MSIZE          128             /* size of an mbuf */
-#endif /* MSIZE */
-
-#ifndef        MCLSHIFT
-#define MCLSHIFT       11              /* convert bytes to m_buf clusters */
-#endif /* MCLSHIFT */
-#define MCLBYTES       (1 << MCLSHIFT) /* size of an m_buf cluster */
-#define MCLOFSET       (MCLBYTES - 1)  /* offset within an m_buf cluster */
-
-/*
- * Some macros for units conversion
- */
-/* Core clicks (4096 bytes) to segments and vice versa */
-#define ctos(x)        (x)
-#define stoc(x)        (x)
-
-/* Core clicks (4096 bytes) to disk blocks */
-#define ctod(x)        ((x)<<(PGSHIFT-DEV_BSHIFT))
-#define dtoc(x)        ((x)>>(PGSHIFT-DEV_BSHIFT))
-#define dtob(x)        ((x)<<DEV_BSHIFT)
-
-/* clicks to bytes */
-#define ctob(x)        ((x)<<PGSHIFT)
-
-/* bytes to clicks */
-#define btoc(x)        (((unsigned)(x)+(NBPG-1))>>PGSHIFT)
-
-/*
- * This is messy and perhaps slow because `bytes' may be an off_t.  We
- * have to shift an unsigned type to avoid sign extension and we don't
- * want to widen `bytes' unnecessarily.  Assume that off_t is long long
- * and daddr_t is unsigned long.
- */
-#define btodb(bytes)                   /* calculates (bytes / DEV_BSIZE) */ \
-       (sizeof (bytes) > sizeof(long) \
-        ? (unsigned long)((unsigned long long)(bytes) >> DEV_BSHIFT) \
-        : (unsigned long)((unsigned long)(bytes) >> DEV_BSHIFT))
-#define dbtob(db)                      /* calculates (db * DEV_BSIZE) */ \
-       ((unsigned long long)(db) << DEV_BSHIFT)
-
-/*
- * Mach derived conversion macros
- */
-#define trunc_page(x)          ((unsigned)(x) & ~(NBPG-1))
-#define round_page(x)          ((((unsigned)(x)) + NBPG - 1) & ~(NBPG-1))
-
-#define atop(x)                        ((unsigned)(x) >> PG_SHIFT)
-#define ptoa(x)                        ((unsigned)(x) << PG_SHIFT)
-
-#define i386_round_pdr(x)      ((((unsigned)(x)) + NBPDR - 1) & ~(NBPDR-1))
-#define i386_trunc_pdr(x)      ((unsigned)(x) & ~(NBPDR-1))
-#define i386_round_page(x)     ((((unsigned)(x)) + NBPG - 1) & ~(NBPG-1))
-#define i386_trunc_page(x)     ((unsigned)(x) & ~(NBPG-1))
-#define i386_btod(x)           ((unsigned)(x) >> PDRSHIFT)
-#define i386_dtob(x)           ((unsigned)(x) << PDRSHIFT)
-#define i386_btop(x)           ((unsigned)(x) >> PGSHIFT)
-#define i386_ptob(x)           ((unsigned)(x) << PGSHIFT)
-
-#endif /* !_MACHINE_PARAM_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/proc.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/proc.h
deleted file mode 100644 (file)
index 583b10e..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 1991 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     from: @(#)proc.h        7.1 (Berkeley) 5/15/91
- */
-
-#ifndef _MACHINE_PROC_H_
-#define _MACHINE_PROC_H_ 1
-
-/*
- * Machine-dependent part of the proc structure for i386.
- */
-struct mdproc {
-       int     md_flags;               /* machine-dependent flags */
-       int     *md_regs;               /* registers on current frame */
-};
-
-/* md_flags */
-#define        MDP_AST         0x0001  /* async trap pending */
-#endif /* _MACHINE_PROC_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/signal.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/signal.h
deleted file mode 100644 (file)
index e1ede96..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1986, 1989, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)signal.h    8.1 (Berkeley) 6/11/93
- */
-
-#ifndef _I386_MACHINE_SIGNAL_H_
-#define _I386_MACHINE_SIGNAL_H_
-
-/*
- * Machine-dependent signal definitions
- */
-
-typedef int sig_atomic_t;
-
-#ifndef _POSIX_SOURCE
-#include <machine/trap.h>      /* codes for SIGILL, SIGFPE */
-#endif
-
-/*
- * Information pushed on stack when a signal is delivered.
- * This is used by the kernel to restore state following
- * execution of the signal handler.  It is also made available
- * to the handler to allow it to restore state properly if
- * a non-standard exit is performed.
- */
-struct sigcontext {
-       int     sc_onstack;             /* sigstack state to restore */
-       int     sc_mask;                /* signal mask to restore */
-       int     sc_esp;                 /* machine state */
-       int     sc_ebp;
-       int     sc_isp;
-       int     sc_eip;
-       int     sc_efl;
-       int     sc_es;
-       int     sc_ds;
-       int     sc_cs;
-       int     sc_ss;
-       int     sc_edi;
-       int     sc_esi;
-       int     sc_ebx;
-       int     sc_edx;
-       int     sc_ecx;
-       int     sc_eax;
-#  define sc_sp sc_esp
-#  define sc_fp sc_ebp
-#  define sc_pc sc_eip
-#  define sc_ps sc_efl
-};
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/spl.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/spl.h
deleted file mode 100644 (file)
index 578a36e..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (c) 1996-1999 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-/*-
- * Copyright (c) 1993 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-#ifndef _MACHINE_IPL_H_
-#define        _MACHINE_IPL_H_
-
-#include <machine/ipl.h>       /* XXX "machine" means cpu for i386 */
-
-/*
- * Software interrupt bit numbers in priority order.  The priority only
- * determines which swi will be dispatched next; a higher priority swi
- * may be dispatched when a nested h/w interrupt handler returns.
- */
-#define        SWI_TTY         (NHWI + 0)
-#define        SWI_NET         (NHWI + 1)
-#define        SWI_CLOCK       30
-#define        SWI_AST         31
-
-/*
- * Corresponding interrupt-pending bits for ipending.
- */
-#define        SWI_TTY_PENDING         (1 << SWI_TTY)
-#define        SWI_NET_PENDING         (1 << SWI_NET)
-#define        SWI_CLOCK_PENDING       (1 << SWI_CLOCK)
-#define        SWI_AST_PENDING         (1 << SWI_AST)
-
-/*
- * Corresponding interrupt-disable masks for cpl.  The ordering is now by
- * inclusion (where each mask is considered as a set of bits). Everything
- * except SWI_AST_MASK includes SWI_CLOCK_MASK so that softclock() doesn't
- * run while other swi handlers are running and timeout routines can call
- * swi handlers.  Everything includes SWI_AST_MASK so that AST's are masked
- * until just before return to user mode.  SWI_TTY_MASK includes SWI_NET_MASK
- * in case tty interrupts are processed at splsofttty() for a tty that is in
- * SLIP or PPP line discipline (this is weaker than merging net_imask with
- * tty_imask in isa.c - splimp() must mask hard and soft tty interrupts, but
- * spltty() apparently only needs to mask soft net interrupts).
- */
-#define        SWI_TTY_MASK    (SWI_TTY_PENDING | SWI_CLOCK_MASK | SWI_NET_MASK)
-#define        SWI_NET_MASK    (SWI_NET_PENDING | SWI_CLOCK_MASK)
-#define        SWI_CLOCK_MASK  (SWI_CLOCK_PENDING | SWI_AST_MASK)
-#define        SWI_AST_MASK    SWI_AST_PENDING
-#define        SWI_MASK        (~HWI_MASK)
-
-#ifdef OSKIT
-#include "osenv.h"
-
-extern unsigned oskit_freebsd_cpl;
-extern unsigned oskit_freebsd_ipending;
-
-#define GENERIC_SPL(you_name_it) \
-static __inline int spl##you_name_it(void) \
-{ \
-  int t; \
-  osenv_intr_disable(); \
-  t = oskit_freebsd_cpl; \
-  oskit_freebsd_cpl = 1; \
-  return t; \
-}
-
-GENERIC_SPL(imp)
-GENERIC_SPL(net)
-GENERIC_SPL(bio)
-GENERIC_SPL(high)
-GENERIC_SPL(clock)
-GENERIC_SPL(tty)
-GENERIC_SPL(softtty)
-/* 
- * this is used to reduce the clock spl to a softclock spl before
- * calling the softclock handler directly. It will never call splx!
- */
-#define splsoftclock() 0
-
-static __inline void splx(int x)
-{
-  if (x == 0) {
-    oskit_freebsd_cpl = 0;
-    osenv_intr_enable();
-  }
-}
-
-/* for code from NetBSD */
-#define        spl0()          splx(0)
-
-#define        setsoftclock()  (oskit_freebsd_ipending |= SWI_CLOCK_PENDING)
-#define        setsofttty()    (oskit_freebsd_ipending |= SWI_TTY_PENDING)
-
-#define        schedsofttty()  (oskit_freebsd_ipending |= SWI_TTY_PENDING)
-
-/*
- * functions to save and restore the current cpl
- */
-static __inline void save_cpl(unsigned *x) 
-{
-    *x = oskit_freebsd_cpl;
-}
-
-static __inline void restore_cpl(unsigned x) 
-{
-    oskit_freebsd_cpl = x;
-}
-
-#else /* !OSKIT */
-#ifndef        LOCORE
-
-extern unsigned bio_imask;     /* group of interrupts masked with splbio() */
-extern unsigned cpl;           /* current priority level mask */
-extern volatile unsigned idelayed;     /* interrupts to become pending */
-extern volatile unsigned ipending;     /* active interrupts masked by cpl */
-extern unsigned net_imask;     /* group of interrupts masked with splimp() */
-extern unsigned stat_imask;    /* interrupts masked with splstatclock() */
-extern unsigned tty_imask;     /* group of interrupts masked with spltty() */
-
-/*
- * ipending has to be volatile so that it is read every time it is accessed
- * in splx() and spl0(), but we don't want it to be read nonatomically when
- * it is changed.  Pretending that ipending is a plain int happens to give
- * suitable atomic code for "ipending |= constant;".
- */
-#define        setdelayed()    (*(unsigned *)&ipending |= loadandclear(&idelayed))
-#define        setsoftast()    (*(unsigned *)&ipending |= SWI_AST_PENDING)
-#define        setsoftclock()  (*(unsigned *)&ipending |= SWI_CLOCK_PENDING)
-#define        setsoftnet()    (*(unsigned *)&ipending |= SWI_NET_PENDING)
-#define        setsofttty()    (*(unsigned *)&ipending |= SWI_TTY_PENDING)
-
-#define        schedsofttty()  (*(unsigned *)&idelayed |= SWI_TTY_PENDING)
-
-#ifdef __GNUC__
-
-void   splz    __P((void));
-
-#define        GENSPL(name, set_cpl) \
-static __inline int name(void)                 \
-{                                              \
-       unsigned x;                             \
-                                               \
-       __asm __volatile("" : : : "memory");    \
-       x = cpl;                                \
-       set_cpl;                                \
-       return (x);                             \
-}
-
-GENSPL(splbio, cpl |= bio_imask)
-GENSPL(splclock, cpl = HWI_MASK | SWI_MASK)
-GENSPL(splhigh, cpl = HWI_MASK | SWI_MASK)
-GENSPL(splimp, cpl |= net_imask)
-GENSPL(splnet, cpl |= SWI_NET_MASK)
-GENSPL(splsoftclock, cpl = SWI_CLOCK_MASK)
-GENSPL(splsofttty, cpl |= SWI_TTY_MASK)
-GENSPL(splstatclock, cpl |= stat_imask)
-GENSPL(spltty, cpl |= tty_imask)
-
-static __inline void
-spl0(void)
-{
-       cpl = SWI_AST_MASK;
-       if (ipending & ~SWI_AST_MASK)
-               splz();
-}
-
-static __inline void
-splx(int ipl)
-{
-       cpl = ipl;
-       if (ipending & ~ipl)
-               splz();
-}
-
-#endif /* __GNUC__ */
-
-#endif /* !LOCORE */
-#endif /* !OSKIT */
-
-#endif /* !_MACHINE_IPL_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/stdarg.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/stdarg.h
deleted file mode 100644 (file)
index 6401466..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * Copyright (c) 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)stdarg.h    8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _STDARG_H_
-#define        _STDARG_H_
-
-typedef char *va_list;
-
-#ifdef __GNUC__
-#define va_start(AP, LASTARG)                                          \
- (AP = ((va_list) __builtin_next_arg (LASTARG)))
-#else
-#define        __va_promote(type) \
-       (((sizeof(type) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
-
-#define        va_start(ap, last) \
-       (ap = ((va_list)&(last) + __va_promote(last)))
-#endif
-
-#ifdef KERNEL
-#define        va_arg(ap, type) \
-       ((type *)(ap += sizeof(type)))[-1]
-#else
-#define        va_arg(ap, type) \
-       ((type *)(ap += sizeof(type) < sizeof(int) ? \
-               (abort(), 0) : sizeof(type)))[-1]
-#endif
-
-#define        va_end(ap)
-
-#endif /* !_STDARG_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/trap.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/trap.h
deleted file mode 100644 (file)
index bd13682..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     from: @(#)trap.h        5.4 (Berkeley) 5/9/91
- */
-
-#ifndef _MACHINE_TRAP_H_
-#define        _MACHINE_TRAP_H_
-
-/*
- * Trap type values
- * also known in trap.c for name strings
- */
-
-#define        T_PRIVINFLT     1       /* privileged instruction */
-#define        T_BPTFLT        3       /* breakpoint instruction */
-#define        T_ARITHTRAP     6       /* arithmetic trap */
-#define        T_ASTFLT        7       /* system forced exception */
-#define        T_PROTFLT       9       /* protection fault */
-#define        T_TRCTRAP       10      /* debug exception (sic) */
-#define        T_PAGEFLT       12      /* page fault */
-#define        T_ALIGNFLT      14      /* alignment fault */
-
-#define        T_DIVIDE        18      /* integer divide fault */
-#define        T_NMI           19      /* non-maskable trap */
-#define        T_OFLOW         20      /* overflow trap */
-#define        T_BOUND         21      /* bound instruction fault */
-#define        T_DNA           22      /* device not available fault */
-#define        T_DOUBLEFLT     23      /* double fault */
-#define        T_FPOPFLT       24      /* fp coprocessor operand fetch fault */
-#define        T_TSSFLT        25      /* invalid tss fault */
-#define        T_SEGNPFLT      26      /* segment not present fault */
-#define        T_STKFLT        27      /* stack fault */
-#define        T_RESERVED      28      /* reserved (unknown) */
-
-/* XXX most of the following codes aren't used, but could be. */
-
-/* definitions for <sys/signal.h> */
-#define            ILL_RESAD_FAULT     T_RESADFLT
-#define            ILL_PRIVIN_FAULT    T_PRIVINFLT
-#define            ILL_RESOP_FAULT     T_RESOPFLT
-#define            ILL_ALIGN_FAULT     T_ALIGNFLT
-#define            ILL_FPOP_FAULT      T_FPOPFLT       /* coprocessor operand fault */
-
-/* codes for SIGFPE/ARITHTRAP */
-#define            FPE_INTOVF_TRAP     0x1     /* integer overflow */
-#define            FPE_INTDIV_TRAP     0x2     /* integer divide by zero */
-#define            FPE_FLTDIV_TRAP     0x3     /* floating/decimal divide by zero */
-#define            FPE_FLTOVF_TRAP     0x4     /* floating overflow */
-#define            FPE_FLTUND_TRAP     0x5     /* floating underflow */
-#define            FPE_FPU_NP_TRAP     0x6     /* floating point unit not present */
-#define            FPE_SUBRNG_TRAP     0x7     /* subrange out of bounds */
-
-/* codes for SIGBUS */
-#define            BUS_PAGE_FAULT      T_PAGEFLT       /* page fault protection base */
-#define            BUS_SEGNP_FAULT     T_SEGNPFLT      /* segment not present */
-#define            BUS_STK_FAULT       T_STKFLT        /* stack segment */
-#define            BUS_SEGM_FAULT      T_RESERVED      /* segment protection base */
-
-/* Trap's coming from user mode */
-#define        T_USER  0x100
-
-#endif /* !_MACHINE_TRAP_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/types.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/types.h
deleted file mode 100644 (file)
index dcbb29c..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)types.h     8.3 (Berkeley) 1/5/94
- */
-
-#ifndef        _MACHTYPES_H_
-#define        _MACHTYPES_H_
-
-#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
-typedef struct _physadr {
-       int r[1];
-} *physadr;
-
-typedef struct label_t {
-       int val[6];
-} label_t;
-#endif
-
-typedef        unsigned long   vm_offset_t;
-typedef        unsigned long   vm_size_t;
-
-/*
- * Basic integral types.  Omit the typedef if
- * not possible for a machine/compiler combination.
- */
-typedef        __signed char              int8_t;
-typedef        unsigned char            u_int8_t;
-typedef        short                     int16_t;
-typedef        unsigned short          u_int16_t;
-typedef        int                       int32_t;
-typedef        unsigned int            u_int32_t;
-typedef        long long                 int64_t;
-typedef        unsigned long long      u_int64_t;
-
-#endif /* _MACHTYPES_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/machine/vmparam.h b/reactos/lib/oskittcp/include/freebsd/src/sys/machine/vmparam.h
deleted file mode 100644 (file)
index d5944b3..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- * Copyright (c) 1994 John S. Dyson
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     from: @(#)vmparam.h     5.9 (Berkeley) 5/12/91
- */
-
-
-#ifndef _MACHINE_VMPARAM_H_
-#define _MACHINE_VMPARAM_H_ 1
-
-/*
- * Machine dependent constants for 386.
- */
-
-/*
- * Virtual memory related constants, all in bytes
- */
-#define        MAXTSIZ         (16UL*1024*1024)        /* max text size */
-#ifndef DFLDSIZ
-#define        DFLDSIZ         (64UL*1024*1024)        /* initial data size limit */
-#endif
-#ifndef MAXDSIZ
-#define        MAXDSIZ         (128UL*1024*1024)       /* max data size */
-#endif
-#ifndef        DFLSSIZ
-#define        DFLSSIZ         (8UL*1024*1024)         /* initial stack size limit */
-#endif
-#ifndef        MAXSSIZ
-#define        MAXSSIZ         (64UL*1024*1024)        /* max stack size */
-#endif
-#ifndef SGROWSIZ
-#define SGROWSIZ       (128UL*1024)            /* amount to grow stack */
-#endif
-
-#define USRTEXT                (1*NBPG)                /* base of user text XXX bogus */
-
-/*
- * Default sizes of swap allocation chunks (see dmap.h).
- * The actual values may be changed in vminit() based on MAXDSIZ.
- * With MAXDSIZ of 16Mb and NDMAP of 38, dmmax will be 1024.
- */
-#define        DMMIN   32                      /* smallest swap allocation */
-#define        DMMAX   4096                    /* largest potential swap allocation */
-#define        DMTEXT  1024                    /* swap allocation for text */
-
-/*
- * Sizes of the system and user portions of the system page table.
- */
-#define        SYSPTSIZE       (2*NPTEPG)
-#define        USRPTSIZE       (2*NPTEPG)
-
-/*
- * Size of the Shared Memory Pages page table.
- */
-#ifndef        SHMMAXPGS
-#define        SHMMAXPGS       1024            /* XXX until we have more kmap space */
-#endif
-
-/*
- * Size of User Raw I/O map
- */
-#define        USRIOSIZE       1024
-
-/*
- * The time for a process to be blocked before being very swappable.
- * This is a number of seconds which the system takes as being a non-trivial
- * amount of real time.  You probably shouldn't change this;
- * it is used in subtle ways (fractions and multiples of it are, that is, like
- * half of a ``long time'', almost a long time, etc.)
- * It is related to human patience and other factors which don't really
- * change over time.
- */
-#define        MAXSLP          20
-
-/*
- * Mach derived constants
- */
-
-/* user/kernel map constants */
-#ifdef OSKIT
-#define KERNBASE 0     /* XXX */
-#else
-#define        KERNBASE ((0x400-1-NKPDE)*(NBPG*NPTEPG))
-#endif
-
-#define VM_MIN_ADDRESS         ((vm_offset_t)0)
-#define VM_MAXUSER_ADDRESS     ((vm_offset_t)KERNBASE - (NBPG*(NPTEPG+UPAGES)))
-#define USRSTACK VM_MAXUSER_ADDRESS
-#define UPT_MIN_ADDRESS                ((vm_offset_t)KERNBASE - (NBPG*NPTEPG))
-#define UPT_MAX_ADDRESS                ((vm_offset_t)KERNBASE - (NBPG*(NKPDE+2)))
-#define VM_MAX_ADDRESS         UPT_MAX_ADDRESS
-#define VM_MIN_KERNEL_ADDRESS  ((vm_offset_t)KERNBASE - (NBPG*(NKPDE+2)))
-#define UPDT                   VM_MIN_KERNEL_ADDRESS
-#define KPT_MIN_ADDRESS                ((vm_offset_t)KERNBASE - NBPG*(NKPDE+1))
-#define KPT_MAX_ADDRESS                ((vm_offset_t)KERNBASE - NBPG)
-#define VM_MAX_KERNEL_ADDRESS  ((vm_offset_t)KERNBASE + NKPDE*NBPG*NPTEPG)
-
-/* virtual sizes (bytes) for various kernel submaps */
-#define VM_KMEM_SIZE           (32 * 1024 * 1024)
-#define VM_PHYS_SIZE           (USRIOSIZE*CLBYTES)
-
-#endif /* _MACHINE_VMPARAM_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/net/if.h b/reactos/lib/oskittcp/include/freebsd/src/sys/net/if.h
deleted file mode 100644 (file)
index aca7de7..0000000
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)if.h        8.1 (Berkeley) 6/10/93
- * $\Id: if.h,v 1.18.4.1 1996/06/24 22:04:13 gpalmer Exp $
- */
-
-#ifndef _NET_IF_H_
-#define        _NET_IF_H_
-
-/*
- * Structures defining a network interface, providing a packet
- * transport mechanism (ala level 0 of the PUP protocols).
- *
- * Each interface accepts output datagrams of a specified maximum
- * length, and provides higher level routines with input datagrams
- * received from its medium.
- *
- * Output occurs when the routine if_output is called, with three parameters:
- *     (*ifp->if_output)(ifp, m, dst, rt)
- * Here m is the mbuf chain to be sent and dst is the destination address.
- * The output routine encapsulates the supplied datagram if necessary,
- * and then transmits it on its medium.
- *
- * On input, each interface unwraps the data received by it, and either
- * places it on the input queue of a internetwork datagram routine
- * and posts the associated software interrupt, or passes the datagram to a raw
- * packet input routine.
- *
- * Routines exist for locating interfaces by their addresses
- * or for locating a interface on a certain network, as well as more general
- * routing and gateway routines maintaining information used to locate
- * interfaces.  These routines live in the files if.c and route.c
- */
-
-#include <sys/socket.h>                        /* for struct sockaddr */
-
-#ifndef _TIME_ /*  XXX fast fix for SNMP, going away soon */
-#include <sys/time.h>
-#endif
-
-#ifdef __STDC__
-/*
- * Forward structure declarations for function prototypes [sic].
- */
-struct mbuf;
-struct proc;
-struct rtentry;
-struct socket;
-struct ether_header;
-#endif
-/*
- * Structure describing information about an interface
- * which may be of interest to management entities.
- */
-/*
- * Structure defining a queue for a network interface.
- *
- * (Would like to call this struct ``if'', but C isn't PL/1.)
- */
-
-struct ifnet {
-       char    *if_name;               /* name, e.g. ``en'' or ``lo'' */
-       struct  ifnet *if_next;         /* all struct ifnets are chained */
-       struct  ifaddr *if_addrlist;    /* linked list of addresses per if */
-        int    if_pcount;              /* number of promiscuous listeners */
-       caddr_t if_bpf;                 /* packet filter structure */
-       u_short if_index;               /* numeric abbreviation for this if  */
-       short   if_unit;                /* sub-unit for lower level driver */
-       short   if_timer;               /* time 'til if_watchdog called */
-       short   if_flags;               /* up/down, broadcast, etc. */
-       struct  if_data {
-/* generic interface information */
-               u_char  ifi_type;       /* ethernet, tokenring, etc */
-               u_char  ifi_physical;   /* e.g., AUI, Thinnet, 10base-T, etc */
-               u_char  ifi_addrlen;    /* media address length */
-               u_char  ifi_hdrlen;     /* media header length */
-               u_long  ifi_mtu;        /* maximum transmission unit */
-               u_long  ifi_metric;     /* routing metric (external only) */
-               u_long  ifi_baudrate;   /* linespeed */
-/* volatile statistics */
-               u_long  ifi_ipackets;   /* packets received on interface */
-               u_long  ifi_ierrors;    /* input errors on interface */
-               u_long  ifi_opackets;   /* packets sent on interface */
-               u_long  ifi_oerrors;    /* output errors on interface */
-               u_long  ifi_collisions; /* collisions on csma interfaces */
-               u_long  ifi_ibytes;     /* total number of octets received */
-               u_long  ifi_obytes;     /* total number of octets sent */
-               u_long  ifi_imcasts;    /* packets received via multicast */
-               u_long  ifi_omcasts;    /* packets sent via multicast */
-               u_long  ifi_iqdrops;    /* dropped on input, this interface */
-               u_long  ifi_noproto;    /* destined for unsupported protocol */
-               struct  timeval ifi_lastchange;/* time of last administrative change */
-       }       if_data;
-/* procedure handles */
-       void    (*if_init)              /* init routine */
-               __P((int));
-       int     (*if_output)            /* output routine (enqueue) */
-               __P((struct ifnet *, struct mbuf *, struct sockaddr *,
-                    struct rtentry *));
-       void    (*if_start)             /* initiate output routine */
-               __P((struct ifnet *));
-       int     (*if_done)              /* output complete routine */
-               __P((struct ifnet *));  /* (XXX not used; fake prototype) */
-       int     (*if_ioctl)             /* ioctl routine */
-               __P((struct ifnet *, int, caddr_t));
-       void    (*if_reset)
-               __P((int));             /* new autoconfig will permit removal */
-       void    (*if_watchdog)          /* timer routine */
-               __P((int));
-       struct  ifqueue {
-               struct  mbuf *ifq_head;
-               struct  mbuf *ifq_tail;
-               int     ifq_len;
-               int     ifq_maxlen;
-               int     ifq_drops;
-       } if_snd;                       /* output queue */
-};
-#define        if_mtu          if_data.ifi_mtu
-#define        if_type         if_data.ifi_type
-#define if_physical    if_data.ifi_physical
-#define        if_addrlen      if_data.ifi_addrlen
-#define        if_hdrlen       if_data.ifi_hdrlen
-#define        if_metric       if_data.ifi_metric
-#define        if_baudrate     if_data.ifi_baudrate
-#define        if_ipackets     if_data.ifi_ipackets
-#define        if_ierrors      if_data.ifi_ierrors
-#define        if_opackets     if_data.ifi_opackets
-#define        if_oerrors      if_data.ifi_oerrors
-#define        if_collisions   if_data.ifi_collisions
-#define        if_ibytes       if_data.ifi_ibytes
-#define        if_obytes       if_data.ifi_obytes
-#define        if_imcasts      if_data.ifi_imcasts
-#define        if_omcasts      if_data.ifi_omcasts
-#define        if_iqdrops      if_data.ifi_iqdrops
-#define        if_noproto      if_data.ifi_noproto
-#define        if_lastchange   if_data.ifi_lastchange
-#define if_rawoutput(if, m, sa) if_output(if, m, sa, (struct rtentry *)0)
-
-#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 point-to-point link */
-#define        IFF_NOTRAILERS  0x20            /* avoid use of trailers */
-#define        IFF_RUNNING     0x40            /* resources allocated */
-#define        IFF_NOARP       0x80            /* no address resolution protocol */
-#define        IFF_PROMISC     0x100           /* receive all packets */
-#define        IFF_ALLMULTI    0x200           /* receive all multicast packets */
-#define        IFF_OACTIVE     0x400           /* transmission in progress */
-#define        IFF_SIMPLEX     0x800           /* can't hear own transmissions */
-#define        IFF_LINK0       0x1000          /* per link layer defined bit */
-#define        IFF_LINK1       0x2000          /* per link layer defined bit */
-#define        IFF_LINK2       0x4000          /* per link layer defined bit */
-#define        IFF_ALTPHYS     IFF_LINK2       /* use alternate physical connection */
-#define        IFF_MULTICAST   0x8000          /* supports multicast */
-
-/* flags set internally only: */
-#define        IFF_CANTCHANGE \
-       (IFF_BROADCAST|IFF_POINTOPOINT|IFF_RUNNING|IFF_OACTIVE|\
-           IFF_SIMPLEX|IFF_MULTICAST|IFF_ALLMULTI)
-
-
-/*
- * These really don't belong here, but there's no other obviously appropriate
- * location.
- */
-#define IFP_AUI                0
-#define IFP_10BASE2    1
-#define IFP_10BASET    2
-/* etc. */
-
-/*
- * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1)
- * input routines have queues of messages stored on ifqueue structures
- * (defined above).  Entries are added to and deleted from these structures
- * by these macros, which should be called with ipl raised to splimp().
- */
-#define        IF_QFULL(ifq)           ((ifq)->ifq_len >= (ifq)->ifq_maxlen)
-#define        IF_DROP(ifq)            ((ifq)->ifq_drops++)
-#define        IF_ENQUEUE(ifq, m) { \
-       (m)->m_nextpkt = 0; \
-       if ((ifq)->ifq_tail == 0) \
-               (ifq)->ifq_head = m; \
-       else \
-               (ifq)->ifq_tail->m_nextpkt = m; \
-       (ifq)->ifq_tail = m; \
-       (ifq)->ifq_len++; \
-}
-#define        IF_PREPEND(ifq, m) { \
-       (m)->m_nextpkt = (ifq)->ifq_head; \
-       if ((ifq)->ifq_tail == 0) \
-               (ifq)->ifq_tail = (m); \
-       (ifq)->ifq_head = (m); \
-       (ifq)->ifq_len++; \
-}
-#define        IF_DEQUEUE(ifq, m) { \
-       (m) = (ifq)->ifq_head; \
-       if (m) { \
-               if (((ifq)->ifq_head = (m)->m_nextpkt) == 0) \
-                       (ifq)->ifq_tail = 0; \
-               (m)->m_nextpkt = 0; \
-               (ifq)->ifq_len--; \
-       } \
-}
-
-#define        IFQ_MAXLEN      50
-#define        IFNET_SLOWHZ    1               /* granularity is 1 second */
-
-#ifndef __REACTOS__
-/*
- * 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 */
-       struct  sockaddr *ifa_dstaddr;  /* other end of p-to-p link */
-#define        ifa_broadaddr   ifa_dstaddr     /* broadcast address interface */
-       struct  sockaddr *ifa_netmask;  /* used to determine subnet */
-       struct  ifnet *ifa_ifp;         /* back-pointer to interface */
-       struct  ifaddr *ifa_next;       /* next address for interface */
-       void    (*ifa_rtrequest)        /* check or clean routes (+ or -)'d */
-               __P((int, struct rtentry *, struct sockaddr *));
-       u_short ifa_flags;              /* mostly rt_flags for cloning */
-       short   ifa_refcnt;             /* extra to malloc for link info */
-       int     ifa_metric;             /* cost of going out this interface */
-#ifdef notdef
-       struct  rtentry *ifa_rt;        /* XXXX for ROUTETOIF ????? */
-#endif
-};
-#define        IFA_ROUTE       RTF_UP          /* route installed */
-#endif
-
-/*
- * Message format for use in obtaining information about interfaces
- * from getkerninfo and the routing socket
- */
-struct if_msghdr {
-       u_short ifm_msglen;     /* to skip over non-understood messages */
-       u_char  ifm_version;    /* future binary compatability */
-       u_char  ifm_type;       /* message type */
-       int     ifm_addrs;      /* like rtm_addrs */
-       int     ifm_flags;      /* value of if_flags */
-       u_short ifm_index;      /* index for associated ifp */
-       struct  if_data ifm_data;/* statistics and other data about if */
-};
-
-/*
- * Message format for use in obtaining information about interface addresses
- * from getkerninfo and the routing socket
- */
-struct ifa_msghdr {
-       u_short ifam_msglen;    /* to skip over non-understood messages */
-       u_char  ifam_version;   /* future binary compatability */
-       u_char  ifam_type;      /* message type */
-       int     ifam_addrs;     /* like rtm_addrs */
-       int     ifam_flags;     /* value of ifa_flags */
-       u_short ifam_index;     /* index for associated ifp */
-       int     ifam_metric;    /* value of ifa_metric */
-};
-
-/*
- * 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        IFNAMSIZ        16
-       char    ifr_name[IFNAMSIZ];             /* if name, e.g. "en0" */
-       union {
-               struct  sockaddr ifru_addr;
-               struct  sockaddr ifru_dstaddr;
-               struct  sockaddr ifru_broadaddr;
-               short   ifru_flags;
-               int     ifru_metric;
-               int     ifru_mtu;
-               int     ifru_phys;
-               caddr_t ifru_data;
-       } ifr_ifru;
-#define        ifr_addr        ifr_ifru.ifru_addr      /* address */
-#define        ifr_dstaddr     ifr_ifru.ifru_dstaddr   /* other end of p-to-p link */
-#define        ifr_broadaddr   ifr_ifru.ifru_broadaddr /* broadcast address */
-#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_phys       ifr_ifru.ifru_phys      /* physical wire */
-#define        ifr_data        ifr_ifru.ifru_data      /* for use by interface */
-};
-
-struct ifaliasreq {
-       char    ifra_name[IFNAMSIZ];            /* if name, e.g. "en0" */
-       struct  sockaddr ifra_addr;
-       struct  sockaddr ifra_broadaddr;
-       struct  sockaddr ifra_mask;
-};
-
-/*
- * 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 associated 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 returned */
-};
-
-#include <net/if_arp.h>
-
-#ifdef KERNEL
-#define        IFAFREE(ifa) \
-       if ((ifa)->ifa_refcnt <= 0) \
-               ifafree(ifa); \
-       else \
-               (ifa)->ifa_refcnt--;
-
-extern struct  ifnet   *ifnet;
-extern struct  ifnet   loif[];
-
-void   ether_ifattach __P((struct ifnet *));
-void   ether_input __P((struct ifnet *, struct ether_header *, struct mbuf *));
-int    ether_output __P((struct ifnet *,
-          struct mbuf *, struct sockaddr *, struct rtentry *));
-char   *ether_sprintf __P((u_char *));
-
-void   if_attach __P((struct ifnet *));
-void   if_down __P((struct ifnet *));
-void   if_qflush __P((struct ifqueue *));
-void   if_slowtimo __P((void *));
-void   if_up __P((struct ifnet *));
-#ifdef vax
-void   ifubareset __P((int));
-#endif
-int    ifconf __P((int, caddr_t));
-/*void ifinit __P((void));*/ /* declared in systm.h for main() */
-int    ifioctl __P((struct socket *, int, caddr_t, struct proc *));
-int    ifpromisc __P((struct ifnet *, int));
-struct ifnet *ifunit __P((char *));
-
-int ifa_ifwithaddr __P((struct sockaddr *, struct ifaddr *));
-struct ifaddr *ifa_ifwithaf __P((int));
-struct ifaddr *ifa_ifwithdstaddr __P((struct sockaddr *, struct ifaddr *));
-int ifa_ifwithnet __P((struct sockaddr *, struct ifaddr *));
-struct ifaddr *ifa_ifwithroute __P((int, struct sockaddr *,
-                                       struct sockaddr *));
-struct ifaddr *ifaof_ifpforaddr __P((struct sockaddr *, struct ifnet *));
-void   ifafree __P((struct ifaddr *));
-void   link_rtrequest __P((int, struct rtentry *, struct sockaddr *));
-
-int    loioctl __P((struct ifnet *, int, caddr_t));
-void   loopattach __P((void));
-int    looutput __P((struct ifnet *,
-          struct mbuf *, struct sockaddr *, struct rtentry *));
-void   lortrequest __P((int, struct rtentry *, struct sockaddr *));
-#endif /* KERNEL */
-
-#endif /* !_NET_IF_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/net/if_arp.h b/reactos/lib/oskittcp/include/freebsd/src/sys/net/if_arp.h
deleted file mode 100644 (file)
index acac085..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)if_arp.h    8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NET_IF_ARP_H_
-#define        _NET_IF_ARP_H_
-
-#include <sys/socket.h>                /* for struct sockaddr */
-
-/*
- * Address Resolution Protocol.
- *
- * See RFC 826 for protocol description.  ARP packets are variable
- * in size; the arphdr structure defines the fixed-length portion.
- * Protocol type values are the same as those for 10 Mb/s Ethernet.
- * It is followed by the variable-sized fields ar_sha, arp_spa,
- * arp_tha and arp_tpa in that order, according to the lengths
- * specified.  Field names used correspond to RFC 826.
- */
-struct arphdr {
-       u_short ar_hrd;         /* format of hardware address */
-#define ARPHRD_ETHER   1       /* ethernet hardware format */
-#define ARPHRD_FRELAY  15      /* frame relay hardware format */
-       u_short ar_pro;         /* format of protocol address */
-       u_char  ar_hln;         /* length of hardware address */
-       u_char  ar_pln;         /* length of protocol address */
-       u_short ar_op;          /* one of: */
-#define        ARPOP_REQUEST   1       /* request to resolve address */
-#define        ARPOP_REPLY     2       /* response to previous request */
-#define        ARPOP_REVREQUEST 3      /* request protocol address given hardware */
-#define        ARPOP_REVREPLY  4       /* response giving protocol address */
-#define ARPOP_INVREQUEST 8     /* request to identify peer */
-#define ARPOP_INVREPLY 9       /* response identifying peer */
-/*
- * The remaining fields are variable in size,
- * according to the sizes above.
- */
-#ifdef COMMENT_ONLY
-       u_char  ar_sha[];       /* sender hardware address */
-       u_char  ar_spa[];       /* sender protocol address */
-       u_char  ar_tha[];       /* target hardware address */
-       u_char  ar_tpa[];       /* target protocol address */
-#endif
-};
-
-/*
- * ARP ioctl request
- */
-struct arpreq {
-       struct  sockaddr arp_pa;                /* protocol address */
-       struct  sockaddr arp_ha;                /* hardware address */
-       int     arp_flags;                      /* flags */
-};
-/*  arp_flags and at_flags field values */
-#define        ATF_INUSE       0x01    /* entry in use */
-#define ATF_COM                0x02    /* completed entry (enaddr valid) */
-#define        ATF_PERM        0x04    /* permanent entry */
-#define        ATF_PUBL        0x08    /* publish entry (respond for other host) */
-#define        ATF_USETRAILERS 0x10    /* has requested trailers */
-
-#endif /* !_NET_IF_ARP_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/net/netisr.h b/reactos/lib/oskittcp/include/freebsd/src/sys/net/netisr.h
deleted file mode 100644 (file)
index f212d63..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 1980, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)netisr.h    8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NET_NETISR_H_
-#define _NET_NETISR_H_
-
-/*
- * The networking code runs off software interrupts.
- *
- * You can switch into the network by doing splnet() and return by splx().
- * The software interrupt level for the network is higher than the software
- * level for the clock (so you can enter the network in routines called
- * at timeout time).
- */
-#if defined(vax) || defined(tahoe)
-#define        setsoftnet()    mtpr(SIRR, 12)
-#endif
-
-/*
- * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
- * word which is used to de-multiplex a single software
- * interrupt used for scheduling the network code to calls
- * on the lowest level routine of each protocol.
- */
-#define        NETISR_RAW      0               /* same as AF_UNSPEC */
-#define        NETISR_IP       2               /* same as AF_INET */
-#define        NETISR_IMP      3               /* same as AF_IMPLINK */
-#define        NETISR_NS       6               /* same as AF_NS */
-#define        NETISR_ISO      7               /* same as AF_ISO */
-#define        NETISR_CCITT    10              /* same as AF_CCITT */
-#define        NETISR_ARP      18              /* same as AF_LINK */
-#define        NETISR_ISDN     26              /* same as AF_E164 */
-
-#define        schednetisr(anisr)      { netisr |= 1<<(anisr); setsoftnet(); }
-
-#ifndef LOCORE
-#ifdef KERNEL
-extern volatile unsigned int   netisr; /* scheduling bits for network */
-
-typedef void netisr_t(void);
-
-struct netisrtab {
-       int nit_num;
-       netisr_t *nit_isr;
-};
-
-#define NETISR_SET(num, isr) \
-       static struct netisrtab mod_nit = { num, isr }; \
-       DATA_SET(netisr_set, mod_nit);
-
-#endif
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/net/radix.h b/reactos/lib/oskittcp/include/freebsd/src/sys/net/radix.h
deleted file mode 100644 (file)
index c37058b..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)radix.h     8.2 (Berkeley) 10/31/94
- */
-
-#ifndef _RADIX_H_
-#define        _RADIX_H_
-
-/*
- * Radix search tree node layout.
- */
-
-struct radix_node {
-       struct  radix_mask *rn_mklist;  /* list of masks contained in subtree */
-       struct  radix_node *rn_p;       /* parent */
-       short   rn_b;                   /* bit offset; -1-index(netmask) */
-       char    rn_bmask;               /* node: mask for bit test*/
-       u_char  rn_flags;               /* enumerated next */
-#define RNF_NORMAL     1               /* leaf contains normal route */
-#define RNF_ROOT       2               /* leaf is root leaf for tree */
-#define RNF_ACTIVE     4               /* This node is alive (for rtfree) */
-       union {
-               struct {                        /* leaf only data: */
-                       caddr_t rn_Key;         /* object of search */
-                       caddr_t rn_Mask;        /* netmask, if present */
-                       struct  radix_node *rn_Dupedkey;
-               } rn_leaf;
-               struct {                        /* node only data: */
-                       int     rn_Off;         /* where to start compare */
-                       struct  radix_node *rn_L;/* progeny */
-                       struct  radix_node *rn_R;/* progeny */
-               } rn_node;
-       }               rn_u;
-#ifdef RN_DEBUG
-       int rn_info;
-       struct radix_node *rn_twin;
-       struct radix_node *rn_ybro;
-#endif
-};
-
-#define rn_dupedkey rn_u.rn_leaf.rn_Dupedkey
-#define rn_key rn_u.rn_leaf.rn_Key
-#define rn_mask rn_u.rn_leaf.rn_Mask
-#define rn_off rn_u.rn_node.rn_Off
-#define rn_l rn_u.rn_node.rn_L
-#define rn_r rn_u.rn_node.rn_R
-
-/*
- * Annotations to tree concerning potential routes applying to subtrees.
- */
-
-extern struct radix_mask {
-       short   rm_b;                   /* bit offset; -1-index(netmask) */
-       char    rm_unused;              /* cf. rn_bmask */
-       u_char  rm_flags;               /* cf. rn_flags */
-       struct  radix_mask *rm_mklist;  /* more masks to try */
-       union   {
-               caddr_t rmu_mask;               /* the mask */
-               struct  radix_node *rmu_leaf;   /* for normal routes */
-       }       rm_rmu;
-       int     rm_refs;                /* # of references to this struct */
-} *rn_mkfreelist;
-
-#define rm_mask rm_rmu.rmu_mask
-#define rm_leaf rm_rmu.rmu_leaf                /* extra field would make 32 bytes */
-
-#define MKGet(m) {\
-       if (rn_mkfreelist) {\
-               m = rn_mkfreelist; \
-               rn_mkfreelist = (m)->rm_mklist; \
-       } else \
-               R_Malloc(m, struct radix_mask *, sizeof (*(m))); }\
-
-#define MKFree(m) { (m)->rm_mklist = rn_mkfreelist; rn_mkfreelist = (m);}
-
-typedef int walktree_f_t __P((struct radix_node *, void *));
-
-struct radix_node_head {
-       struct  radix_node *rnh_treetop;
-       int     rnh_addrsize;           /* permit, but not require fixed keys */
-       int     rnh_pktsize;            /* permit, but not require fixed keys */
-       struct  radix_node *(*rnh_addaddr)      /* add based on sockaddr */
-               __P((void *v, void *mask,
-                    struct radix_node_head *head, struct radix_node nodes[]));
-       struct  radix_node *(*rnh_addpkt)       /* add based on packet hdr */
-               __P((void *v, void *mask,
-                    struct radix_node_head *head, struct radix_node nodes[]));
-       struct  radix_node *(*rnh_deladdr)      /* remove based on sockaddr */
-               __P((void *v, void *mask, struct radix_node_head *head));
-       struct  radix_node *(*rnh_delpkt)       /* remove based on packet hdr */
-               __P((void *v, void *mask, struct radix_node_head *head));
-       struct  radix_node *(*rnh_matchaddr)    /* locate based on sockaddr */
-               __P((void *v, struct radix_node_head *head));
-       struct  radix_node *(*rnh_lookup)       /* locate based on sockaddr */
-               __P((void *v, void *mask, struct radix_node_head *head));
-       struct  radix_node *(*rnh_matchpkt)     /* locate based on packet hdr */
-               __P((void *v, struct radix_node_head *head));
-       int     (*rnh_walktree)                 /* traverse tree */
-               __P((struct radix_node_head *head, walktree_f_t *f, void *w));
-       int     (*rnh_walktree_from)            /* traverse tree below a */
-               __P((struct radix_node_head *head, void *a, void *m,
-                    walktree_f_t *f, void *w));
-       void    (*rnh_close)    /* do something when the last ref drops */
-               __P((struct radix_node *rn, struct radix_node_head *head));
-       struct  radix_node rnh_nodes[3];        /* empty tree for common case */
-};
-
-#ifndef KERNEL
-#define Bcmp(a, b, n) bcmp(((char *)(a)), ((char *)(b)), (n))
-#define Bcopy(a, b, n) bcopy(((char *)(a)), ((char *)(b)), (unsigned)(n))
-#define Bzero(p, n) bzero((char *)(p), (int)(n));
-#define R_Malloc(p, t, n) (p = (t) malloc((unsigned int)(n)))
-#define Free(p) free((char *)p);
-#else
-#define Bcmp(a, b, n) bcmp(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
-#define Bcopy(a, b, n) bcopy(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
-#define Bzero(p, n) bzero((caddr_t)(p), (unsigned)(n));
-#define R_Malloc(p, t, n) (p = (t) malloc((unsigned long)(n), M_RTABLE, M_DONTWAIT))
-#define Free(p) free((caddr_t)p, M_RTABLE);
-#endif /*KERNEL*/
-
-extern struct radix_node_head *mask_rnhead;
-
-void    rn_init __P((void));
-int     rn_inithead __P((void **, int));
-int     rn_refines __P((void *, void *));
-int     rn_walktree __P((struct radix_node_head *, walktree_f_t *, void *));
-struct radix_node
-        *rn_addmask __P((void *, int, int)),
-        *rn_addroute __P((void *, void *, struct radix_node_head *,
-                       struct radix_node [2])),
-        *rn_delete __P((void *, void *, struct radix_node_head *)),
-        *rn_insert __P((void *, struct radix_node_head *, int *,
-                       struct radix_node [2])),
-        *rn_match __P((void *, struct radix_node_head *)),
-        *rn_newpair __P((void *, int, struct radix_node[2])),
-        *rn_search __P((void *, struct radix_node *)),
-        *rn_search_m __P((void *, struct radix_node *, void *));
-
-#endif /* _RADIX_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/net/raw_cb.h b/reactos/lib/oskittcp/include/freebsd/src/sys/net/raw_cb.h
deleted file mode 100644 (file)
index c127319..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1980, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)raw_cb.h    8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NET_RAW_CB_H_
-#define _NET_RAW_CB_H_
-
-/*
- * Raw protocol interface control block.  Used
- * to tie a socket to the generic raw interface.
- */
-struct rawcb {
-       struct  rawcb *rcb_next;        /* doubly linked list */
-       struct  rawcb *rcb_prev;
-       struct  socket *rcb_socket;     /* back pointer to socket */
-       struct  sockaddr *rcb_faddr;    /* destination address */
-       struct  sockaddr *rcb_laddr;    /* socket's address */
-       struct  sockproto rcb_proto;    /* protocol family, protocol */
-};
-
-#define        sotorawcb(so)           ((struct rawcb *)(so)->so_pcb)
-
-/*
- * Nominal space allocated to a raw socket.
- */
-#define        RAWSNDQ         8192
-#define        RAWRCVQ         8192
-
-#ifdef KERNEL
-struct rawcb rawcb;                    /* head of list */
-
-int     raw_attach __P((struct socket *, int));
-void    raw_ctlinput __P((int, struct sockaddr *));
-void    raw_detach __P((struct rawcb *));
-void    raw_disconnect __P((struct rawcb *));
-void    raw_init __P((void));
-void    raw_input __P((struct mbuf *,
-           struct sockproto *, struct sockaddr *, struct sockaddr *));
-int     raw_usrreq __P((struct socket *,
-           int, struct mbuf *, struct mbuf *, struct mbuf *));
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/net/route.h b/reactos/lib/oskittcp/include/freebsd/src/sys/net/route.h
deleted file mode 100644 (file)
index ef78cbb..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (c) 1980, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)route.h     8.3 (Berkeley) 4/19/94
- */
-
-#ifndef _NET_ROUTE_H_
-#define _NET_ROUTE_H_
-
-#include <oskittypes.h>
-
-/*
- * Kernel resident routing tables.
- *
- * The routing tables are initialized when interface addresses
- * are set by making entries for all directly connected interfaces.
- */
-
-/*
- * A route consists of a destination address and a reference
- * to a routing entry.  These are often held by protocols
- * in their control blocks, e.g. inpcb.
- */
-struct route {
-       struct  rtentry ro_rt;
-       struct  sockaddr ro_dst;
-};
-
-/*
- * rmx_rtt and rmx_rttvar are stored as microseconds;
- * RTTTOPRHZ(rtt) converts to a value suitable for use
- * by a protocol slowtimo counter.
- */
-#define        RTM_RTTUNIT     1000000 /* units for rtt, rttvar, as units per sec */
-#define        RTTTOPRHZ(r)    ((r) / (RTM_RTTUNIT / PR_SLOWHZ))
-
-/*
- * XXX kernel function pointer `rt_output' is visible to applications.
- */
-struct mbuf;
-
-/*
- * We distinguish between routes to hosts and routes to networks,
- * preferring the former if available.  For each route we infer
- * the interface to use from the gateway address supplied when
- * the route was entered.  Routes that forward packets through
- * gateways are marked so that the output routines know to address the
- * gateway rather than the ultimate destination.
- */
-#ifndef RNF_NORMAL
-#include <net/radix.h>
-#endif
-
-#include <oskittcp.h>
-
-#ifndef __REACTOS__
-/*
- * Following structure necessary for 4.3 compatibility;
- * We should eventually move it to a compat file.
- */
-struct rtentry {
-       u_long  rt_hash;                /* to speed lookups */
-       struct  sockaddr rt_dst;        /* key */
-       struct  sockaddr rt_gateway;    /* value */
-       short   rt_flags;               /* up/down?, host/net */
-       short   rt_refcnt;              /* # held references */
-       u_long  rt_use;                 /* raw # packets forwarded */
-       struct  ifnet *rt_ifp;          /* the answer: interface to use */
-};
-#endif
-
-#define rt_use rt_rmx.rmx_pksent
-
-#define        RTF_UP          0x1             /* route usable */
-#define        RTF_GATEWAY     0x2             /* destination is a gateway */
-#define        RTF_HOST        0x4             /* host entry (net otherwise) */
-#define        RTF_REJECT      0x8             /* host or net unreachable */
-#define        RTF_DYNAMIC     0x10            /* created dynamically (by redirect) */
-#define        RTF_MODIFIED    0x20            /* modified dynamically (by redirect) */
-#define RTF_DONE       0x40            /* message confirmed */
-#define RTF_MASK       0x80            /* subnet mask present */
-#define RTF_CLONING    0x100           /* generate new routes on use */
-#define RTF_XRESOLVE   0x200           /* external daemon resolves name */
-#define RTF_LLINFO     0x400           /* generated by ARP or ESIS */
-#define RTF_STATIC     0x800           /* manually added */
-#define RTF_BLACKHOLE  0x1000          /* just discard pkts (during updates) */
-#define RTF_PROTO2     0x4000          /* protocol specific routing flag */
-#define RTF_PROTO1     0x8000          /* protocol specific routing flag */
-
-#define RTF_PRCLONING  0x10000         /* protocol requires cloning */
-#define RTF_WASCLONED  0x20000         /* route generated through cloning */
-#define RTF_PROTO3     0x40000         /* protocol specific routing flag */
-#define RTF_CHAINDELETE        0x80000         /* chain is being deleted (internal) */
-#define RTF_PINNED     0x100000        /* future use */
-                                       /* 0x200000 and up unassigned */
-
-/*
- * Routing statistics.
- */
-struct rtstat {
-       short   rts_badredirect;        /* bogus redirect calls */
-       short   rts_dynamic;            /* routes created by redirects */
-       short   rts_newgateway;         /* routes modified by redirects */
-       short   rts_unreach;            /* lookups which failed */
-       short   rts_wildcard;           /* lookups satisfied by a wildcard */
-};
-/*
- * Structures for routing messages.
- */
-struct rt_msghdr {
-       u_short rtm_msglen;     /* to skip over non-understood messages */
-       u_char  rtm_version;    /* future binary compatibility */
-       u_char  rtm_type;       /* message type */
-       u_short rtm_index;      /* index for associated ifp */
-       int     rtm_flags;      /* flags, incl. kern & message, e.g. DONE */
-       int     rtm_addrs;      /* bitmask identifying sockaddrs in msg */
-       pid_t   rtm_pid;        /* identify sender */
-       int     rtm_seq;        /* for sender to identify action */
-       int     rtm_errno;      /* why failed */
-       int     rtm_use;        /* from rtentry */
-       u_long  rtm_inits;      /* which metrics we are initializing */
-       struct  rt_metrics rtm_rmx; /* metrics themselves */
-};
-
-#define RTM_VERSION    5       /* Up the ante and ignore older versions */
-
-#define RTM_ADD                0x1     /* Add Route */
-#define RTM_DELETE     0x2     /* Delete Route */
-#define RTM_CHANGE     0x3     /* Change Metrics or flags */
-#define RTM_GET                0x4     /* Report Metrics */
-#define RTM_LOSING     0x5     /* Kernel Suspects Partitioning */
-#define RTM_REDIRECT   0x6     /* Told to use different route */
-#define RTM_MISS       0x7     /* Lookup failed on this address */
-#define RTM_LOCK       0x8     /* fix specified metrics */
-#define RTM_OLDADD     0x9     /* caused by SIOCADDRT */
-#define RTM_OLDDEL     0xa     /* caused by SIOCDELRT */
-#define RTM_RESOLVE    0xb     /* req to resolve dst to LL addr */
-#define RTM_NEWADDR    0xc     /* address being added to iface */
-#define RTM_DELADDR    0xd     /* address being removed from iface */
-#define RTM_IFINFO     0xe     /* iface going up/down etc. */
-
-#define RTV_MTU                0x1     /* init or lock _mtu */
-#define RTV_HOPCOUNT   0x2     /* init or lock _hopcount */
-#define RTV_EXPIRE     0x4     /* init or lock _hopcount */
-#define RTV_RPIPE      0x8     /* init or lock _recvpipe */
-#define RTV_SPIPE      0x10    /* init or lock _sendpipe */
-#define RTV_SSTHRESH   0x20    /* init or lock _ssthresh */
-#define RTV_RTT                0x40    /* init or lock _rtt */
-#define RTV_RTTVAR     0x80    /* init or lock _rttvar */
-
-/*
- * Bitmask values for rtm_addr.
- */
-#define RTA_DST                0x1     /* destination sockaddr present */
-#define RTA_GATEWAY    0x2     /* gateway sockaddr present */
-#define RTA_NETMASK    0x4     /* netmask sockaddr present */
-#define RTA_GENMASK    0x8     /* cloning mask sockaddr present */
-#define RTA_IFP                0x10    /* interface name sockaddr present */
-#define RTA_IFA                0x20    /* interface addr sockaddr present */
-#define RTA_AUTHOR     0x40    /* sockaddr for author of redirect */
-#define RTA_BRD                0x80    /* for NEWADDR, broadcast or p-p dest addr */
-
-/*
- * Index offsets for sockaddr array for alternate internal encoding.
- */
-#define RTAX_DST       0       /* destination sockaddr present */
-#define RTAX_GATEWAY   1       /* gateway sockaddr present */
-#define RTAX_NETMASK   2       /* netmask sockaddr present */
-#define RTAX_GENMASK   3       /* cloning mask sockaddr present */
-#define RTAX_IFP       4       /* interface name sockaddr present */
-#define RTAX_IFA       5       /* interface addr sockaddr present */
-#define RTAX_AUTHOR    6       /* sockaddr for author of redirect */
-#define RTAX_BRD       7       /* for NEWADDR, broadcast or p-p dest addr */
-#define RTAX_MAX       8       /* size of array to allocate */
-
-struct rt_addrinfo {
-       int     rti_addrs;
-       struct  sockaddr *rti_info[RTAX_MAX];
-};
-
-struct route_cb {
-       int     ip_count;
-       int     ns_count;
-       int     iso_count;
-       int     any_count;
-};
-
-#ifdef KERNEL
-#ifndef __REACTOS__
-#define        RTFREE(rt) \
-       if ((rt)->rt_refcnt <= 1) \
-               rtfree(rt); \
-       else \
-               (rt)->rt_refcnt--;
-#else
-#define RTFREE(rt) rtfree(rt)
-#endif
-
-struct route_cb route_cb;
-struct rtstat  rtstat;
-struct radix_node_head *rt_tables[AF_MAX+1];
-
-void    route_init __P((void));
-int     route_output __P((struct mbuf *, struct socket *));
-int     route_usrreq __P((struct socket *,
-           int, struct mbuf *, struct mbuf *, struct mbuf *));
-void    rt_ifmsg __P((struct ifnet *));
-void    rt_maskedcopy __P((struct sockaddr *,
-           struct sockaddr *, struct sockaddr *));
-void    rt_missmsg __P((int, struct rt_addrinfo *, int, int));
-void    rt_newaddrmsg __P((int, struct ifaddr *, int, struct rtentry *));
-int     rt_setgate __P((struct rtentry *,
-           struct sockaddr *, struct sockaddr *));
-void    rt_setmetrics __P((u_long, struct rt_metrics *, struct rt_metrics *));
-void    rtable_init __P((void **));
-void    rtalloc __P((struct route *));
-void    rtalloc_ign __P((struct route *, unsigned long));
-struct rtentry *
-        rtalloc1 __P((struct sockaddr *, int, unsigned long));
-void    rtfree __P((struct rtentry *));
-int     rtinit __P((struct ifaddr *, int, int));
-int     rtioctl __P((int, caddr_t, struct proc *));
-void    rtredirect __P((struct sockaddr *, struct sockaddr *,
-           struct sockaddr *, int, struct sockaddr *, struct rtentry **));
-int     rtrequest __P((int, struct sockaddr *,
-           struct sockaddr *, struct sockaddr *, int, struct rtentry **));
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/if_ether.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/if_ether.h
deleted file mode 100644 (file)
index 057878f..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)if_ether.h  8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_IF_ETHER_H_
-#define _NETINET_IF_ETHER_H_
-
-#include <arpa/inet.h>
-
-/*
- * Structure of a 10Mb/s Ethernet header.
- */
-struct ether_header {
-       u_char  ether_dhost[6];
-       u_char  ether_shost[6];
-       u_short ether_type;
-};
-
-/*
- * Structure of a 48-bit Ethernet address.
- */
-struct ether_addr {
-       u_char octet[6];
-};
-
-#define        ETHERTYPE_PUP           0x0200  /* PUP protocol */
-#define        ETHERTYPE_IP            0x0800  /* IP protocol */
-#define ETHERTYPE_ARP          0x0806  /* Addr. resolution protocol */
-#define ETHERTYPE_REVARP       0x8035  /* reverse Addr. resolution protocol */
-
-/*
- * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
- * (type-ETHERTYPE_TRAIL)*512 bytes of data followed
- * by an ETHER type (as given above) and then the (variable-length) header.
- */
-#define        ETHERTYPE_TRAIL         0x1000          /* Trailer packet */
-#define        ETHERTYPE_NTRAILER      16
-
-#define        ETHERMTU        1500
-#define        ETHERMIN        (60-14)
-
-#ifdef KERNEL
-/*
- * Macro to map an IP multicast address to an Ethernet multicast address.
- * The high-order 25 bits of the Ethernet address are statically assigned,
- * and the low-order 23 bits are taken from the low end of the IP address.
- */
-#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \
-       /* struct in_addr *ipaddr; */ \
-       /* u_char enaddr[6];       */ \
-{ \
-       (enaddr)[0] = 0x01; \
-       (enaddr)[1] = 0x00; \
-       (enaddr)[2] = 0x5e; \
-       (enaddr)[3] = ((u_char *)ipaddr)[1] & 0x7f; \
-       (enaddr)[4] = ((u_char *)ipaddr)[2]; \
-       (enaddr)[5] = ((u_char *)ipaddr)[3]; \
-}
-#endif
-
-/*
- * Ethernet Address Resolution Protocol.
- *
- * See RFC 826 for protocol description.  Structure below is adapted
- * to resolving internet addresses.  Field names used correspond to
- * RFC 826.
- */
-struct ether_arp {
-       struct  arphdr ea_hdr;  /* fixed-size header */
-       u_char  arp_sha[6];     /* sender hardware address */
-       u_char  arp_spa[4];     /* sender protocol address */
-       u_char  arp_tha[6];     /* target hardware address */
-       u_char  arp_tpa[4];     /* target protocol address */
-};
-#define        arp_hrd ea_hdr.ar_hrd
-#define        arp_pro ea_hdr.ar_pro
-#define        arp_hln ea_hdr.ar_hln
-#define        arp_pln ea_hdr.ar_pln
-#define        arp_op  ea_hdr.ar_op
-
-
-/*
- * Structure shared between the ethernet driver modules and
- * the address resolution code.  For example, each ec_softc or il_softc
- * begins with this structure.
- */
-struct arpcom {
-       struct  ifnet ac_if;            /* network-visible interface */
-       u_char  ac_enaddr[6];           /* ethernet hardware address */
-       struct  in_addr ac_ipaddr;      /* copy of ip address- XXX */
-       struct  ether_multi *ac_multiaddrs; /* list of ether multicast addrs */
-       int     ac_multicnt;            /* length of ac_multiaddrs list */
-};
-
-struct llinfo_arp {
-       struct  llinfo_arp *la_next;
-       struct  llinfo_arp *la_prev;
-       struct  rtentry *la_rt;
-       struct  mbuf *la_hold;          /* last packet until resolved/timeout */
-       long    la_asked;               /* last time we QUERIED for this addr */
-#define la_timer la_rt->rt_rmx.rmx_expire /* deletion time in seconds */
-};
-
-struct sockaddr_inarp {
-       u_char  sin_len;
-       u_char  sin_family;
-       u_short sin_port;
-       struct  in_addr sin_addr;
-       struct  in_addr sin_srcaddr;
-       u_short sin_tos;
-       u_short sin_other;
-#define SIN_PROXY 1
-};
-/*
- * IP and ethernet specific routing flags
- */
-#define        RTF_USETRAILERS RTF_PROTO1      /* use trailers */
-#define RTF_ANNOUNCE   RTF_PROTO2      /* announce new arp entry */
-
-#ifdef KERNEL
-extern u_char  etherbroadcastaddr[6];
-extern u_char  ether_ipmulticast_min[6];
-extern u_char  ether_ipmulticast_max[6];
-extern struct  ifqueue arpintrq;
-
-struct llinfo_arp *arptnew __P((struct in_addr *));
-extern struct  llinfo_arp llinfo_arp;          /* head of the llinfo queue */
-
-void   arpwhohas __P((struct arpcom *, struct in_addr *));
-void   arpintr __P((void));
-int    arpresolve __P((struct arpcom *, struct rtentry *, struct mbuf *,
-                       struct sockaddr *, u_char *, struct rtentry *));
-void   arp_ifinit __P((struct arpcom *, struct ifaddr *));
-
-int    ether_addmulti __P((struct ifreq *, struct arpcom *));
-int    ether_delmulti __P((struct ifreq *, struct arpcom *));
-
-/*
- * Ethernet multicast address structure.  There is one of these for each
- * multicast address or range of multicast addresses that we are supposed
- * to listen to on a particular interface.  They are kept in a linked list,
- * rooted in the interface's arpcom structure.  (This really has nothing to
- * do with ARP, or with the Internet address family, but this appears to be
- * the minimally-disrupting place to put it.)
- */
-struct ether_multi {
-       u_char  enm_addrlo[6];          /* low  or only address of range */
-       u_char  enm_addrhi[6];          /* high or only address of range */
-       struct  arpcom *enm_ac;         /* back pointer to arpcom */
-       u_int   enm_refcount;           /* no. claims to this addr/range */
-       struct  ether_multi *enm_next;  /* ptr to next ether_multi */
-};
-
-/*
- * Structure used by macros below to remember position when stepping through
- * all of the ether_multi records.
- */
-struct ether_multistep {
-       struct ether_multi  *e_enm;
-};
-
-/*
- * Macro for looking up the ether_multi record for a given range of Ethernet
- * multicast addresses connected to a given arpcom structure.  If no matching
- * record is found, "enm" returns NULL.
- */
-#define ETHER_LOOKUP_MULTI(addrlo, addrhi, ac, enm) \
-       /* u_char addrlo[6]; */ \
-       /* u_char addrhi[6]; */ \
-       /* struct arpcom *ac; */ \
-       /* struct ether_multi *enm; */ \
-{ \
-       for ((enm) = (ac)->ac_multiaddrs; \
-           (enm) != NULL && \
-           (bcmp((enm)->enm_addrlo, (addrlo), 6) != 0 || \
-            bcmp((enm)->enm_addrhi, (addrhi), 6) != 0); \
-               (enm) = (enm)->enm_next); \
-}
-
-/*
- * Macro to step through all of the ether_multi records, one at a time.
- * The current position is remembered in "step", which the caller must
- * provide.  ETHER_FIRST_MULTI(), below, must be called to initialize "step"
- * and get the first record.  Both macros return a NULL "enm" when there
- * are no remaining records.
- */
-#define ETHER_NEXT_MULTI(step, enm) \
-       /* struct ether_multistep step; */  \
-       /* struct ether_multi *enm; */  \
-{ \
-       if (((enm) = (step).e_enm) != NULL) \
-               (step).e_enm = (enm)->enm_next; \
-}
-
-#define ETHER_FIRST_MULTI(step, ac, enm) \
-       /* struct ether_multistep step; */ \
-       /* struct arpcom *ac; */ \
-       /* struct ether_multi *enm; */ \
-{ \
-       (step).e_enm = (ac)->ac_multiaddrs; \
-       ETHER_NEXT_MULTI((step), (enm)); \
-}
-
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/igmp_var.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/igmp_var.h
deleted file mode 100644 (file)
index fee5e43..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1988 Stephen Deering.
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Stephen Deering of Stanford University.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)igmp_var.h  8.1 (Berkeley) 7/19/93
- */
-
-#ifndef _NETINET_IGMP_VAR_H_
-#define _NETINET_IGMP_VAR_H_
-
-/*
- * Internet Group Management Protocol (IGMP),
- * implementation-specific definitions.
- *
- * Written by Steve Deering, Stanford, May 1988.
- *
- * MULTICAST Revisiob: 3.3.1.1
- */
-
-struct igmpstat {
-       u_int   igps_rcv_total;         /* total IGMP messages received */
-       u_int   igps_rcv_tooshort;      /* received with too few bytes */
-       u_int   igps_rcv_badsum;        /* received with bad checksum */
-       u_int   igps_rcv_queries;       /* received membership queries */
-       u_int   igps_rcv_badqueries;    /* received invalid queries */
-       u_int   igps_rcv_reports;       /* received membership reports */
-       u_int   igps_rcv_badreports;    /* received invalid reports */
-       u_int   igps_rcv_ourreports;    /* received reports for our groups */
-       u_int   igps_snd_reports;       /* sent membership reports */
-};
-
-#ifdef KERNEL
-extern struct igmpstat igmpstat;
-
-#define IGMP_RANDOM_DELAY(X) (random() % (X) + 1)
-
-void   igmp_init __P((void));
-void   igmp_input __P((struct mbuf *, int));
-void   igmp_joingroup __P((struct in_multi *));
-void   igmp_leavegroup __P((struct in_multi *));
-void   igmp_fasttimo __P((void));
-void   igmp_slowtimo __P((void));
-int    igmp_sysctl(int *, u_int, void *, size_t *, void *, size_t);
-#endif
-
-/*
- * Names for IGMP sysctl objects
- */
-#define IGMPCTL_STATS          1       /* statistics (read-only) */
-#define IGMPCTL_MAXID          2
-
-#define IGMPCTL_NAMES { \
-       { 0, 0 }, \
-       { "stats", CTLTYPE_STRUCT }, \
-}
-
-#endif
-
-
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in.h
deleted file mode 100644 (file)
index 39fe967..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)in.h        8.3 (Berkeley) 1/3/94
- */
-
-#ifndef _NETINET_IN_H_
-#define _NETINET_IN_H_
-
-/*
- * Constants and structures defined by the internet system,
- * Per RFC 790, September 1981, and numerous additions.
- */
-
-/*
- * Protocols
- */
-#define        IPPROTO_IP              0               /* dummy for IP */
-#define        IPPROTO_ICMP            1               /* control message protocol */
-#define        IPPROTO_IGMP            2               /* group mgmt protocol */
-#define        IPPROTO_GGP             3               /* gateway^2 (deprecated) */
-#define IPPROTO_IPIP           4               /* IP encapsulation in IP */
-#define        IPPROTO_TCP             6               /* tcp */
-#define        IPPROTO_EGP             8               /* exterior gateway protocol */
-#define        IPPROTO_PUP             12              /* pup */
-#define        IPPROTO_UDP             17              /* user datagram protocol */
-#define        IPPROTO_IDP             22              /* xns idp */
-#define        IPPROTO_TP              29              /* tp-4 w/ class negotiation */
-#define IPPROTO_RSVP           46              /* resource reservation */
-#define        IPPROTO_EON             80              /* ISO cnlp */
-#define        IPPROTO_ENCAP           98              /* encapsulation header */
-
-#define        IPPROTO_RAW             255             /* raw IP packet */
-#define        IPPROTO_MAX             256
-
-
-/*
- * Local port number conventions:
- * Ports < IPPORT_RESERVED are reserved for
- * privileged processes (e.g. root).
- * Ports > IPPORT_USERRESERVED are reserved
- * for servers, not necessarily privileged.
- */
-#define        IPPORT_RESERVED         1024
-#define        IPPORT_USERRESERVED     5000
-
-/*
- * Internet address (a structure for historical reasons)
- */
-struct in_addr {
-       u_long s_addr;
-};
-
-/*
- * Definitions of bits in internet address integers.
- * On subnets, the decomposition of addresses to host and net parts
- * is done according to subnet mask, not the masks here.
- */
-#define        IN_CLASSA(i)            (((long)(i) & 0x80000000) == 0)
-#define        IN_CLASSA_NET           0xff000000
-#define        IN_CLASSA_NSHIFT        24
-#define        IN_CLASSA_HOST          0x00ffffff
-#define        IN_CLASSA_MAX           128
-
-#define        IN_CLASSB(i)            (((long)(i) & 0xc0000000) == 0x80000000)
-#define        IN_CLASSB_NET           0xffff0000
-#define        IN_CLASSB_NSHIFT        16
-#define        IN_CLASSB_HOST          0x0000ffff
-#define        IN_CLASSB_MAX           65536
-
-#define        IN_CLASSC(i)            (((long)(i) & 0xe0000000) == 0xc0000000)
-#define        IN_CLASSC_NET           0xffffff00
-#define        IN_CLASSC_NSHIFT        8
-#define        IN_CLASSC_HOST          0x000000ff
-
-#define        IN_CLASSD(i)            (((long)(i) & 0xf0000000) == 0xe0000000)
-#define        IN_CLASSD_NET           0xf0000000      /* These ones aren't really */
-#define        IN_CLASSD_NSHIFT        28              /* net and host fields, but */
-#define        IN_CLASSD_HOST          0x0fffffff      /* routing needn't know.    */
-#define        IN_MULTICAST(i)         IN_CLASSD(i)
-
-#define        IN_EXPERIMENTAL(i)      (((long)(i) & 0xf0000000) == 0xf0000000)
-#define        IN_BADCLASS(i)          (((long)(i) & 0xf0000000) == 0xf0000000)
-
-#define        INADDR_ANY              (u_long)0x00000000
-#define        INADDR_BROADCAST        (u_long)0xffffffff      /* must be masked */
-#ifndef KERNEL
-#define        INADDR_NONE             0xffffffff              /* -1 return */
-#endif
-
-#define        INADDR_UNSPEC_GROUP     (u_long)0xe0000000      /* 224.0.0.0 */
-#define        INADDR_ALLHOSTS_GROUP   (u_long)0xe0000001      /* 224.0.0.1 */
-#define        INADDR_MAX_LOCAL_GROUP  (u_long)0xe00000ff      /* 224.0.0.255 */
-
-#define        IN_LOOPBACKNET          127                     /* official! */
-
-/*
- * Socket address, internet style.
- */
-struct sockaddr_in {
-       u_char  sin_len;
-       u_char  sin_family;
-       u_short sin_port;
-       struct  in_addr sin_addr;
-       char    sin_zero[8];
-};
-
-/*
- * Structure used to describe IP options.
- * Used to store options internally, to pass them to a process,
- * or to restore options retrieved earlier.
- * The ip_dst is used for the first-hop gateway when using a source route
- * (this gets put into the header proper).
- */
-struct ip_opts {
-       struct  in_addr ip_dst;         /* first hop, 0 w/o src rt */
-       char    ip_opts[40];            /* actually variable in size */
-};
-
-/*
- * Options for use with [gs]etsockopt at the IP level.
- * First word of comment is data type; bool is stored in int.
- */
-#define        IP_OPTIONS              1    /* buf/ip_opts; set/get IP options */
-#define        IP_HDRINCL              2    /* int; header is included with data */
-#define        IP_TOS                  3    /* int; IP type of service and preced. */
-#define        IP_TTL                  4    /* int; IP time to live */
-#define        IP_RECVOPTS             5    /* bool; receive all IP opts w/dgram */
-#define        IP_RECVRETOPTS          6    /* bool; receive IP opts for response */
-#define        IP_RECVDSTADDR          7    /* bool; receive IP dst addr w/dgram */
-#define        IP_RETOPTS              8    /* ip_opts; set/get IP options */
-#define        IP_MULTICAST_IF         9    /* u_char; set/get IP multicast i/f  */
-#define        IP_MULTICAST_TTL        10   /* u_char; set/get IP multicast ttl */
-#define        IP_MULTICAST_LOOP       11   /* u_char; set/get IP multicast loopback */
-#define        IP_ADD_MEMBERSHIP       12   /* ip_mreq; add an IP group membership */
-#define        IP_DROP_MEMBERSHIP      13   /* ip_mreq; drop an IP group membership */
-#define IP_MULTICAST_VIF       14   /* set/get IP mcast virt. iface */
-#define IP_RSVP_ON             15   /* enable RSVP in kernel */
-#define IP_RSVP_OFF            16   /* disable RSVP in kernel */
-#define IP_RSVP_VIF_ON         17   /* set RSVP per-vif socket */
-#define IP_RSVP_VIF_OFF                18   /* unset RSVP per-vif socket */
-
-/*
- * Defaults and limits for options
- */
-#define        IP_DEFAULT_MULTICAST_TTL  1     /* normally limit m'casts to 1 hop  */
-#define        IP_DEFAULT_MULTICAST_LOOP 1     /* normally hear sends if a member  */
-#define        IP_MAX_MEMBERSHIPS      20      /* per socket */
-
-/*
- * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
- */
-struct ip_mreq {
-       struct  in_addr imr_multiaddr;  /* IP multicast address of group */
-       struct  in_addr imr_interface;  /* local IP address of interface */
-};
-
-/*
- * Definitions for inet sysctl operations.
- *
- * Third level is protocol number.
- * Fourth level is desired variable within that protocol.
- */
-#define        IPPROTO_MAXID   (IPPROTO_IDP + 1)       /* don't list to IPPROTO_MAX */
-
-#define        CTL_IPPROTO_NAMES { \
-       { "ip", CTLTYPE_NODE }, \
-       { "icmp", CTLTYPE_NODE }, \
-       { "igmp", CTLTYPE_NODE }, \
-       { "ggp", CTLTYPE_NODE }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { "tcp", CTLTYPE_NODE }, \
-       { 0, 0 }, \
-       { "egp", CTLTYPE_NODE }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { "pup", CTLTYPE_NODE }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { "udp", CTLTYPE_NODE }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { 0, 0 }, \
-       { "idp", CTLTYPE_NODE }, \
-}
-
-/*
- * Names for IP sysctl objects
- */
-#define        IPCTL_FORWARDING        1       /* act as router */
-#define        IPCTL_SENDREDIRECTS     2       /* may send redirects when forwarding */
-#define        IPCTL_DEFTTL            3       /* default TTL */
-#ifdef notyet
-#define        IPCTL_DEFMTU            4       /* default MTU */
-#define IPCTL_RTEXPIRE         5       /* cloned route expiration time */
-#define IPCTL_RTMINEXPIRE      6       /* min value for expiration time */
-#define IPCTL_RTMAXCACHE       7       /* trigger level for dynamic expire */
-#define        IPCTL_SOURCEROUTE       8       /* may perform source routes */
-#define        IPCTL_MAXID             9
-#endif
-
-#define        IPCTL_NAMES { \
-       { 0, 0 }, \
-       { "forwarding", CTLTYPE_INT }, \
-       { "redirect", CTLTYPE_INT }, \
-       { "ttl", CTLTYPE_INT }, \
-       { "mtu", CTLTYPE_INT }, \
-       { "rtexpire", CTLTYPE_INT }, \
-       { "rtminexpire", CTLTYPE_INT }, \
-       { "rtmaxcache", CTLTYPE_INT }, \
-       { "sourceroute", CTLTYPE_INT }, \
-}
-
-
-#ifdef KERNEL
-struct ifnet; struct mbuf;     /* forward declarations for Standard C */
-
-int     in_broadcast __P((struct in_addr, struct ifnet *));
-int     in_canforward __P((struct in_addr));
-int     in_cksum __P((struct mbuf *, int));
-int     in_localaddr __P((struct in_addr));
-u_long  in_netof __P((struct in_addr));
-void    in_socktrim __P((struct sockaddr_in *));
-char   *inet_ntoa __P((struct in_addr)); /* in libkern */
-#endif
-
-#endif
-
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_pcb.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_pcb.h
deleted file mode 100644 (file)
index f40058a..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)in_pcb.h    8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_IN_PCB_H_
-#define _NETINET_IN_PCB_H_
-
-/*
- * Common structure pcb for internet protocol implementation.
- * Here are stored pointers to local and foreign host table
- * entries, local and foreign socket numbers, and pointers
- * up (to a socket structure) and down (to a protocol-specific)
- * control block.
- */
-LIST_HEAD(inpcbhead, inpcb);
-
-struct inpcb {
-       LIST_ENTRY(inpcb) inp_list;             /* list for all PCBs of this proto */
-       LIST_ENTRY(inpcb) inp_hash;             /* hash list */
-       struct  inpcbinfo *inp_pcbinfo;
-       struct  in_addr inp_faddr;      /* foreign host table entry */
-       u_short inp_fport;              /* foreign port */
-       struct  in_addr inp_laddr;      /* local host table entry */
-       u_short inp_lport;              /* local port */
-       struct  socket *inp_socket;     /* back pointer to socket */
-       caddr_t inp_ppcb;               /* pointer to per-protocol pcb */
-       struct  route inp_route;        /* placeholder for routing entry */
-       int     inp_flags;              /* generic IP/datagram flags */
-       struct  ip inp_ip;              /* header prototype; should have more */
-       struct  mbuf *inp_options;      /* IP options */
-       struct  ip_moptions *inp_moptions; /* IP multicast options */
-};
-
-struct inpcbinfo {
-       struct inpcbhead *listhead;
-       struct inpcbhead *hashbase;
-       unsigned long hashsize;
-       unsigned short lastport;
-};
-
-/* flags in inp_flags: */
-#define        INP_RECVOPTS            0x01    /* receive incoming IP options */
-#define        INP_RECVRETOPTS         0x02    /* receive IP options for reply */
-#define        INP_RECVDSTADDR         0x04    /* receive IP dst address */
-#define        INP_CONTROLOPTS         (INP_RECVOPTS|INP_RECVRETOPTS|INP_RECVDSTADDR)
-#define        INP_HDRINCL             0x08    /* user supplies entire IP header */
-
-#define        INPLOOKUP_WILDCARD      1
-
-#define        sotoinpcb(so)   ((struct inpcb *)(so)->so_pcb)
-
-#ifdef KERNEL
-void    in_losing __P((struct inpcb *));
-int     in_pcballoc __P((struct socket *, struct inpcbinfo *));
-int     in_pcbbind __P((struct inpcb *, struct mbuf *));
-int     in_pcbconnect __P((struct inpcb *, struct mbuf *));
-void    in_pcbdetach __P((struct inpcb *));
-void    in_pcbdisconnect __P((struct inpcb *));
-void    in_pcbinshash __P((struct inpcb *));
-int     in_pcbladdr __P((struct inpcb *, struct mbuf *,
-                         struct sockaddr_in *)); /* XXX Reactos * <- ** */
-struct inpcb *
-        in_pcblookup __P((struct inpcbhead *,
-           struct in_addr, u_int, struct in_addr, u_int, int));
-struct inpcb *
-        in_pcblookuphash __P((struct inpcbinfo *,
-           struct in_addr, u_int, struct in_addr, u_int));
-void    in_pcbnotify __P((struct inpcbhead *, struct sockaddr *,
-           u_int, struct in_addr, u_int, int, void (*)(struct inpcb *, int)));
-void    in_pcbrehash __P((struct inpcb *));
-void    in_rtchange __P((struct inpcb *, int));
-void    in_setpeeraddr __P((struct inpcb *, struct mbuf *));
-void    in_setsockaddr __P((struct inpcb *, struct mbuf *));
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_systm.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_systm.h
deleted file mode 100644 (file)
index 6c75203..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)in_systm.h  8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_IN_SYSTM_H_
-#define _NETINET_IN_SYSTM_H_
-
-/*
- * Miscellaneous internetwork
- * definitions for kernel.
- */
-
-/*
- * Network types.
- *
- * Internally the system keeps counters in the headers with the bytes
- * swapped so that VAX instructions will work on them.  It reverses
- * the bytes before transmission at each protocol level.  The n_ types
- * represent the types with the bytes in ``high-ender'' order.
- */
-typedef u_short n_short;               /* short as received from the net */
-typedef u_long n_long;                 /* long as received from the net */
-
-typedef        u_long  n_time;                 /* ms since 00:00 GMT, byte rev */
-
-#ifdef KERNEL
-n_time  iptime __P((void));
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_var.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/in_var.h
deleted file mode 100644 (file)
index bb6c9cc..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (c) 1985, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)in_var.h    8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_IN_VAR_H_
-#define _NETINET_IN_VAR_H_
-
-#include <sys/queue.h>
-/*
- * Interface address, Internet version.  One of these structures
- * is allocated for each interface with an Internet address.
- * The ifaddr structure contains the protocol-independent part
- * of the structure and is assumed to be first.
- */
-struct in_ifaddr {
-       struct  ifaddr ia_ifa;          /* protocol-independent info */
-#define        ia_ifp          ia_ifa.ifa_ifp
-#define ia_flags       ia_ifa.ifa_flags
-                                       /* ia_{,sub}net{,mask} in host order */
-       u_long  ia_net;                 /* network number of interface */
-       u_long  ia_netmask;             /* mask of net part */
-       u_long  ia_subnet;              /* subnet number, including net */
-       u_long  ia_subnetmask;          /* mask of subnet part */
-       struct  in_addr ia_netbroadcast; /* to recognize net broadcasts */
-       struct  in_ifaddr *ia_next;     /* next in list of internet addresses */
-       struct  sockaddr_in ia_addr;    /* reserve space for interface name */
-       struct  sockaddr_in ia_dstaddr; /* reserve space for broadcast addr */
-#define        ia_broadaddr    ia_dstaddr
-       struct  sockaddr_in ia_sockmask; /* reserve space for general netmask */
-       LIST_HEAD(in_multihead, in_multi) ia_multiaddrs;
-                                       /* list of multicast addresses */
-};
-
-struct in_aliasreq {
-       char    ifra_name[IFNAMSIZ];            /* if name, e.g. "en0" */
-       struct  sockaddr_in ifra_addr;
-       struct  sockaddr_in ifra_broadaddr;
-#define ifra_dstaddr ifra_broadaddr
-       struct  sockaddr_in ifra_mask;
-};
-/*
- * Given a pointer to an in_ifaddr (ifaddr),
- * return a pointer to the addr as a sockaddr_in.
- */
-#define IA_SIN(ia)    (&(((struct in_ifaddr *)(ia))->ia_addr))
-#define IA_DSTSIN(ia) (&(((struct in_ifaddr *)(ia))->ia_dstaddr))
-
-#define IN_LNAOF(in, ifa) \
-       ((ntohl((in).s_addr) & ~((struct in_ifaddr *)(ifa)->ia_subnetmask))
-
-
-#ifdef KERNEL
-extern struct  in_ifaddr *in_ifaddr;
-extern struct  ifqueue ipintrq;                /* ip packet input queue */
-extern struct  in_addr zeroin_addr;
-extern u_char  inetctlerrmap[];
-extern int rtq_reallyold;      /* XXX */
-extern int rtq_minreallyold;   /* XXX */
-extern int rtq_toomany;        /* XXX */
-
-/*
- * Macro for finding the interface (ifnet structure) corresponding to one
- * of our IP addresses.
- */
-#define INADDR_TO_IFP(addr, ifp) \
-       /* struct in_addr addr; */ \
-       /* struct ifnet *ifp; */ \
-{ \
-       register struct in_ifaddr *ia; \
-\
-       for (ia = in_ifaddr; \
-           ia != NULL && ((ia->ia_ifp->if_flags & IFF_POINTOPOINT)? \
-               IA_DSTSIN(ia):IA_SIN(ia))->sin_addr.s_addr != (addr).s_addr; \
-           ia = ia->ia_next) \
-                continue; \
-       if (ia == NULL) \
-           for (ia = in_ifaddr; \
-               ia != NULL; \
-               ia = ia->ia_next) \
-                   if (ia->ia_ifp->if_flags & IFF_POINTOPOINT && \
-                       IA_SIN(ia)->sin_addr.s_addr == (addr).s_addr) \
-                           break; \
-       (ifp) = (ia == NULL) ? NULL : ia->ia_ifp; \
-}
-
-/*
- * Macro for finding the internet address structure (in_ifaddr) corresponding
- * to a given interface (ifnet structure).
- */
-#define IFP_TO_IA(ifp, ia) \
-       /* struct ifnet *ifp; */ \
-       /* struct in_ifaddr *ia; */ \
-{ \
-       for ((ia) = in_ifaddr; \
-           (ia) != NULL && (ia)->ia_ifp != (ifp); \
-           (ia) = (ia)->ia_next) \
-               continue; \
-}
-#endif
-
-/*
- * This information should be part of the ifnet structure but we don't wish
- * to change that - as it might break a number of things
- */
-
-struct router_info {
-       struct ifnet *ifp;
-       int    type; /* type of router which is querier on this interface */
-       int    time; /* # of slow timeouts since last old query */
-       struct router_info *next;
-};
-
-/*
- * Internet multicast address structure.  There is one of these for each IP
- * multicast group to which this host belongs on a given network interface.
- * They are kept in a linked list, rooted in the interface's in_ifaddr
- * structure.
- */
-struct in_multi {
-       LIST_ENTRY(in_multi) inm_entry; /* list glue */
-       struct  in_addr inm_addr;       /* IP multicast address */
-       struct  ifnet *inm_ifp;         /* back pointer to ifnet */
-       struct  in_ifaddr *inm_ia;      /* back pointer to in_ifaddr */
-       u_int   inm_refcount;           /* no. membership claims by sockets */
-       u_int   inm_timer;              /* IGMP membership report timer */
-       u_int   inm_state;              /*  state of the membership */
-       struct  router_info *inm_rti;   /* router info*/
-};
-
-#ifdef KERNEL
-/*
- * Structure used by macros below to remember position when stepping through
- * all of the in_multi records.
- */
-struct in_multistep {
-       struct in_ifaddr *i_ia;
-       struct in_multi *i_inm;
-};
-
-/*
- * Macro for looking up the in_multi record for a given IP multicast address
- * on a given interface.  If no matching record is found, "inm" returns NULL.
- */
-#define IN_LOOKUP_MULTI(addr, ifp, inm) \
-       /* struct in_addr addr; */ \
-       /* struct ifnet *ifp; */ \
-       /* struct in_multi *inm; */ \
-{ \
-       register struct in_ifaddr *ia; \
-\
-       IFP_TO_IA((ifp), ia); \
-       if (ia == NULL) \
-               (inm) = NULL; \
-       else \
-               for ((inm) = ia->ia_multiaddrs.lh_first; \
-                   (inm) != NULL && (inm)->inm_addr.s_addr != (addr).s_addr; \
-                    (inm) = inm->inm_entry.le_next) \
-                        continue; \
-}
-
-/*
- * Macro to step through all of the in_multi records, one at a time.
- * The current position is remembered in "step", which the caller must
- * provide.  IN_FIRST_MULTI(), below, must be called to initialize "step"
- * and get the first record.  Both macros return a NULL "inm" when there
- * are no remaining records.
- */
-#define IN_NEXT_MULTI(step, inm) \
-       /* struct in_multistep  step; */ \
-       /* struct in_multi *inm; */ \
-{ \
-       if (((inm) = (step).i_inm) != NULL) \
-               (step).i_inm = (inm)->inm_entry.le_next; \
-       else \
-               while ((step).i_ia != NULL) { \
-                       (inm) = (step).i_ia->ia_multiaddrs.lh_first; \
-                       (step).i_ia = (step).i_ia->ia_next; \
-                       if ((inm) != NULL) { \
-                               (step).i_inm = (inm)->inm_entry.le_next; \
-                               break; \
-                       } \
-               } \
-}
-
-#define IN_FIRST_MULTI(step, inm) \
-       /* struct in_multistep step; */ \
-       /* struct in_multi *inm; */ \
-{ \
-       (step).i_ia = in_ifaddr; \
-       (step).i_inm = NULL; \
-       IN_NEXT_MULTI((step), (inm)); \
-}
-
-int    in_ifinit __P((struct ifnet *,
-           struct in_ifaddr *, struct sockaddr_in *, int));
-struct in_multi *in_addmulti __P((struct in_addr *, struct ifnet *));
-void   in_delmulti __P((struct in_multi *));
-void   in_ifscrub __P((struct ifnet *, struct in_ifaddr *));
-int    in_control __P((struct socket *, int, caddr_t, struct ifnet *));
-
-#endif
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip.h
deleted file mode 100644 (file)
index 6b216de..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ip.h        8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_IP_H_
-#define _NETINET_IP_H_
-
-/*
- * Definitions for internet protocol version 4.
- * Per RFC 791, September 1981.
- */
-#define        IPVERSION       4
-
-/*
- * Structure of an internet header, naked of options.
- *
- * We declare ip_len and ip_off to be short, rather than u_short
- * pragmatically since otherwise unsigned comparisons can result
- * against negative integers quite easily, and fail in subtle ways.
- */
-struct ip {
-#if BYTE_ORDER == LITTLE_ENDIAN
-       u_char  ip_hl:4,                /* header length */
-               ip_v:4;                 /* version */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
-       u_char  ip_v:4,                 /* version */
-               ip_hl:4;                /* header length */
-#endif
-       u_char  ip_tos;                 /* type of service */
-       short   ip_len;                 /* total length */
-       u_short ip_id;                  /* identification */
-       short   ip_off;                 /* fragment offset field */
-#define        IP_DF 0x4000                    /* dont fragment flag */
-#define        IP_MF 0x2000                    /* more fragments flag */
-#define        IP_OFFMASK 0x1fff               /* mask for fragmenting bits */
-       u_char  ip_ttl;                 /* time to live */
-       u_char  ip_p;                   /* protocol */
-       u_short ip_sum;                 /* checksum */
-       struct  in_addr ip_src,ip_dst;  /* source and dest address */
-};
-
-#define        IP_MAXPACKET    65535           /* maximum packet size */
-
-/*
- * Definitions for IP type of service (ip_tos)
- */
-#define        IPTOS_LOWDELAY          0x10
-#define        IPTOS_THROUGHPUT        0x08
-#define        IPTOS_RELIABILITY       0x04
-#define        IPTOS_MINCOST           0x02
-
-/*
- * Definitions for IP precedence (also in ip_tos) (hopefully unused)
- */
-#define        IPTOS_PREC_NETCONTROL           0xe0
-#define        IPTOS_PREC_INTERNETCONTROL      0xc0
-#define        IPTOS_PREC_CRITIC_ECP           0xa0
-#define        IPTOS_PREC_FLASHOVERRIDE        0x80
-#define        IPTOS_PREC_FLASH                0x60
-#define        IPTOS_PREC_IMMEDIATE            0x40
-#define        IPTOS_PREC_PRIORITY             0x20
-#define        IPTOS_PREC_ROUTINE              0x00
-
-/*
- * Definitions for options.
- */
-#define        IPOPT_COPIED(o)         ((o)&0x80)
-#define        IPOPT_CLASS(o)          ((o)&0x60)
-#define        IPOPT_NUMBER(o)         ((o)&0x1f)
-
-#define        IPOPT_CONTROL           0x00
-#define        IPOPT_RESERVED1         0x20
-#define        IPOPT_DEBMEAS           0x40
-#define        IPOPT_RESERVED2         0x60
-
-#define        IPOPT_EOL               0               /* end of option list */
-#define        IPOPT_NOP               1               /* no operation */
-
-#define        IPOPT_RR                7               /* record packet route */
-#define        IPOPT_TS                68              /* timestamp */
-#define        IPOPT_SECURITY          130             /* provide s,c,h,tcc */
-#define        IPOPT_LSRR              131             /* loose source route */
-#define        IPOPT_SATID             136             /* satnet id */
-#define        IPOPT_SSRR              137             /* strict source route */
-
-/*
- * Offsets to fields in options other than EOL and NOP.
- */
-#define        IPOPT_OPTVAL            0               /* option ID */
-#define        IPOPT_OLEN              1               /* option length */
-#define IPOPT_OFFSET           2               /* offset within option */
-#define        IPOPT_MINOFF            4               /* min value of above */
-
-/*
- * Time stamp option structure.
- */
-struct ip_timestamp {
-       u_char  ipt_code;               /* IPOPT_TS */
-       u_char  ipt_len;                /* size of structure (variable) */
-       u_char  ipt_ptr;                /* index of current entry */
-#if BYTE_ORDER == LITTLE_ENDIAN
-       u_char  ipt_flg:4,              /* flags, see below */
-               ipt_oflw:4;             /* overflow counter */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
-       u_char  ipt_oflw:4,             /* overflow counter */
-               ipt_flg:4;              /* flags, see below */
-#endif
-       union ipt_timestamp {
-               n_long  ipt_time[1];
-               struct  ipt_ta {
-                       struct in_addr ipt_addr;
-                       n_long ipt_time;
-               } ipt_ta[1];
-       } ipt_timestamp;
-};
-
-/* flag bits for ipt_flg */
-#define        IPOPT_TS_TSONLY         0               /* timestamps only */
-#define        IPOPT_TS_TSANDADDR      1               /* timestamps and addresses */
-#define        IPOPT_TS_PRESPEC        3               /* specified modules only */
-
-/* bits for security (not byte swapped) */
-#define        IPOPT_SECUR_UNCLASS     0x0000
-#define        IPOPT_SECUR_CONFID      0xf135
-#define        IPOPT_SECUR_EFTO        0x789a
-#define        IPOPT_SECUR_MMMM        0xbc4d
-#define        IPOPT_SECUR_RESTR       0xaf13
-#define        IPOPT_SECUR_SECRET      0xd788
-#define        IPOPT_SECUR_TOPSECRET   0x6bc5
-
-/*
- * Internet implementation parameters.
- */
-#define        MAXTTL          255             /* maximum time to live (seconds) */
-#define        IPDEFTTL        64              /* default ttl, from RFC 1340 */
-#define        IPFRAGTTL       60              /* time to live for frags, slowhz */
-#define        IPTTLDEC        1               /* subtracted when forwarding */
-
-#define        IP_MSS          576             /* default maximum segment size */
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_fw.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_fw.h
deleted file mode 100644 (file)
index e102a86..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * 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
- *
- * fw_src, fw_dst, fw_smsk, fw_dmsk are always stored in network byte order.
- * fw_flg and fw_n*p 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 {
-    u_long fw_pcnt,fw_bcnt;            /* Packet and byte counters */
-    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 */
-    union {
-       struct in_addr fu_via_ip;
-       struct {
-#define FW_IFNLEN      6               /* To keep structure on 2^x boundary */
-               char  fu_via_name[FW_IFNLEN];
-               short fu_via_unit;
-       } fu_via_if;
-    } fu_via_un;
-#define fw_via_ip      fu_via_un.fu_via_ip
-#define fw_via_name    fu_via_un.fu_via_if.fu_via_name
-#define fw_via_unit    fu_via_un.fu_via_if.fu_via_unit
-    u_short fw_number;
-    u_short fw_flg;                    /* Flags word */
-    u_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 */
-    u_short fw_pts[IP_FW_MAX_PORTS];    /* Array of port numbers to match */
-    u_char fw_ipopt,fw_ipnopt;         /* IP options set/unset */
-    u_char fw_tcpf,fw_tcpnf;           /* TCP flags set/unset */
-#define IP_FW_ICMPTYPES_DIM (256 / (sizeof(unsigned) * 8))
-    unsigned fw_icmptypes[IP_FW_ICMPTYPES_DIM]; /* ICMP types bitmap */
-    long timestamp;                    /* timestamp (tv_sec) of last match */
-};
-
-struct ip_fw_chain {
-        LIST_ENTRY(ip_fw_chain) chain;
-        struct ip_fw    *rule;
-};
-
-/*
- * Values for "flags" field .
- */
-
-#define IP_FW_F_ALL    0x0000  /* This is a universal packet rule    */
-#define IP_FW_F_TCP    0x0001  /* This is a TCP packet rule          */
-#define IP_FW_F_UDP    0x0002  /* This is a UDP packet rule          */
-#define IP_FW_F_ICMP   0x0003  /* This is a ICMP packet rule         */
-#define IP_FW_F_KIND   0x0003  /* Mask to isolate rule kind          */
-
-#define IP_FW_F_IN     0x0004  /* Inbound                            */
-#define IP_FW_F_OUT    0x0008  /* Outbound                           */
-
-#define IP_FW_F_ACCEPT 0x0010  /* This is an accept rule             */
-#define IP_FW_F_COUNT  0x0020  /* This is an accept rule             */
-#define IP_FW_F_PRN    0x0040  /* Print if this rule matches         */
-#define IP_FW_F_ICMPRPL        0x0080  /* Send back icmp unreachable packet  */
-                                
-#define IP_FW_F_SRNG   0x0100  /* The first two src ports are a min  *
-                                * and max range (stored in host byte *
-                                * order).                            */
-
-#define IP_FW_F_DRNG   0x0200  /* The first two dst ports are a min  *
-                                * and max range (stored in host byte *
-                                * order).                            */
-
-#define IP_FW_F_IFNAME 0x0400  /* Use interface name/unit (not IP)   */
-
-#define IP_FW_F_FRAG   0x0800  /* Fragment                           */
-
-#define IP_FW_F_ICMPBIT 0x1000 /* ICMP type bitmap is valid          */
-
-#define IP_FW_F_IFUWILD        0x2000  /* Match all interface units          */
-
-#define IP_FW_F_MASK   0x3FFF  /* All possible flag bits mask        */
-
-/*
- * Definitions for IP option names.
- */
-#define IP_FW_IPOPT_LSRR       0x01
-#define IP_FW_IPOPT_SSRR       0x02
-#define IP_FW_IPOPT_RR         0x04
-#define IP_FW_IPOPT_TS         0x08
-
-/*
- * Definitions for TCP flags.
- */
-#define IP_FW_TCPF_FIN         TH_FIN
-#define IP_FW_TCPF_SYN         TH_SYN
-#define IP_FW_TCPF_RST         TH_RST
-#define IP_FW_TCPF_PSH         TH_PUSH
-#define IP_FW_TCPF_ACK         TH_ACK
-#define IP_FW_TCPF_URG         TH_URG
-#define IP_FW_TCPF_ESTAB       0x40
-
-/*
- * New IP firewall options for [gs]etsockopt at the RAW IP level.
- */
-#define IP_FW_BASE_CTL 50
-
-#define IP_FW_ADD     (IP_FW_BASE_CTL+0)
-#define IP_FW_DEL     (IP_FW_BASE_CTL+1)
-#define IP_FW_FLUSH   (IP_FW_BASE_CTL+2)
-#define IP_FW_ZERO    (IP_FW_BASE_CTL+3)
-#define IP_FW_GET     (IP_FW_BASE_CTL+4)
-
-/*
- * Main firewall chains definitions and global var's definitions.
- */
-#ifdef KERNEL
-
-/*
- * Function pointers.
- */
-extern int (*ip_fw_chk_ptr)(struct mbuf *, struct ip *,struct ifnet *, int dir);
-extern int (*ip_fw_ctl_ptr)(int,struct mbuf **);
-
-/*
- * Function definitions.
- */
-void ip_fw_init(void);
-
-#endif /* KERNEL */
-
-#endif /* _IP_FW_H */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_icmp.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_icmp.h
deleted file mode 100644 (file)
index a4b49c3..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ip_icmp.h   8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_IP_ICMP_H_
-#define _NETINET_IP_ICMP_H_
-
-/*
- * Interface Control Message Protocol Definitions.
- * Per RFC 792, September 1981.
- */
-
-/*
- * Internal of an ICMP Router Advertisement
- */
-struct icmp_ra_addr {
-       u_int32_t ira_addr;
-       u_int32_t ira_preference;
-};
-
-/*
- * Structure of an icmp header.
- */
-struct icmp {
-       u_char  icmp_type;              /* type of message, see below */
-       u_char  icmp_code;              /* type sub code */
-       u_short icmp_cksum;             /* ones complement cksum of struct */
-       union {
-               u_char ih_pptr;                 /* ICMP_PARAMPROB */
-               struct in_addr ih_gwaddr;       /* ICMP_REDIRECT */
-               struct ih_idseq {
-                       n_short icd_id;
-                       n_short icd_seq;
-               } ih_idseq;
-               int ih_void;
-
-               /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */
-               struct ih_pmtu {
-                       n_short ipm_void;
-                       n_short ipm_nextmtu;
-               } ih_pmtu;
-
-               struct ih_rtradv {
-                       u_char irt_num_addrs;
-                       u_char irt_wpa;
-                       u_int16_t irt_lifetime;
-               } ih_rtradv;
-       } icmp_hun;
-#define        icmp_pptr       icmp_hun.ih_pptr
-#define        icmp_gwaddr     icmp_hun.ih_gwaddr
-#define        icmp_id         icmp_hun.ih_idseq.icd_id
-#define        icmp_seq        icmp_hun.ih_idseq.icd_seq
-#define        icmp_void       icmp_hun.ih_void
-#define        icmp_pmvoid     icmp_hun.ih_pmtu.ipm_void
-#define        icmp_nextmtu    icmp_hun.ih_pmtu.ipm_nextmtu
-#define        icmp_num_addrs  icmp_hun.ih_rtradv.irt_num_addrs
-#define        icmp_wpa        icmp_hun.ih_rtradv.irt_wpa
-#define        icmp_lifetime   icmp_hun.ih_rtradv.irt_lifetime
-       union {
-               struct id_ts {
-                       n_time its_otime;
-                       n_time its_rtime;
-                       n_time its_ttime;
-               } id_ts;
-               struct id_ip  {
-                       struct ip idi_ip;
-                       /* options and then 64 bits of data */
-               } id_ip;
-               struct icmp_ra_addr id_radv;
-               u_long  id_mask;
-               char    id_data[1];
-       } icmp_dun;
-#define        icmp_otime      icmp_dun.id_ts.its_otime
-#define        icmp_rtime      icmp_dun.id_ts.its_rtime
-#define        icmp_ttime      icmp_dun.id_ts.its_ttime
-#define        icmp_ip         icmp_dun.id_ip.idi_ip
-#define        icmp_radv       icmp_dun.id_radv
-#define        icmp_mask       icmp_dun.id_mask
-#define        icmp_data       icmp_dun.id_data
-};
-
-/*
- * Lower bounds on packet lengths for various types.
- * For the error advice packets must first insure that the
- * packet is large enough to contain the returned ip header.
- * Only then can we do the check to see if 64 bits of packet
- * data have been returned, since we need to check the returned
- * ip header length.
- */
-#define        ICMP_MINLEN     8                               /* abs minimum */
-#define        ICMP_TSLEN      (8 + 3 * sizeof (n_time))       /* timestamp */
-#define        ICMP_MASKLEN    12                              /* address mask */
-#define        ICMP_ADVLENMIN  (8 + sizeof (struct ip) + 8)    /* min */
-#define        ICMP_ADVLEN(p)  (8 + ((p)->icmp_ip.ip_hl << 2) + 8)
-       /* N.B.: must separately check that ip_hl >= 5 */
-
-/*
- * Definition of type and code field values.
- */
-#define        ICMP_ECHOREPLY          0               /* echo reply */
-#define        ICMP_UNREACH            3               /* dest unreachable, codes: */
-#define                ICMP_UNREACH_NET        0               /* bad net */
-#define                ICMP_UNREACH_HOST       1               /* bad host */
-#define                ICMP_UNREACH_PROTOCOL   2               /* bad protocol */
-#define                ICMP_UNREACH_PORT       3               /* bad port */
-#define                ICMP_UNREACH_NEEDFRAG   4               /* IP_DF caused drop */
-#define                ICMP_UNREACH_SRCFAIL    5               /* src route failed */
-#define                ICMP_UNREACH_NET_UNKNOWN 6              /* unknown net */
-#define                ICMP_UNREACH_HOST_UNKNOWN 7             /* unknown host */
-#define                ICMP_UNREACH_ISOLATED   8               /* src host isolated */
-#define                ICMP_UNREACH_NET_PROHIB 9               /* prohibited access */
-#define                ICMP_UNREACH_HOST_PROHIB 10             /* ditto */
-#define                ICMP_UNREACH_TOSNET     11              /* bad tos for net */
-#define                ICMP_UNREACH_TOSHOST    12              /* bad tos for host */
-#define        ICMP_SOURCEQUENCH       4               /* packet lost, slow down */
-#define        ICMP_REDIRECT           5               /* shorter route, codes: */
-#define                ICMP_REDIRECT_NET       0               /* for network */
-#define                ICMP_REDIRECT_HOST      1               /* for host */
-#define                ICMP_REDIRECT_TOSNET    2               /* for tos and net */
-#define                ICMP_REDIRECT_TOSHOST   3               /* for tos and host */
-#define        ICMP_ECHO               8               /* echo service */
-#define        ICMP_ROUTERADVERT       9               /* router advertisement */
-#define        ICMP_ROUTERSOLICIT      10              /* router solicitation */
-#define        ICMP_TIMXCEED           11              /* time exceeded, code: */
-#define                ICMP_TIMXCEED_INTRANS   0               /* ttl==0 in transit */
-#define                ICMP_TIMXCEED_REASS     1               /* ttl==0 in reass */
-#define        ICMP_PARAMPROB          12              /* ip header bad */
-#define                ICMP_PARAMPROB_OPTABSENT 1              /* req. opt. absent */
-#define        ICMP_TSTAMP             13              /* timestamp request */
-#define        ICMP_TSTAMPREPLY        14              /* timestamp reply */
-#define        ICMP_IREQ               15              /* information request */
-#define        ICMP_IREQREPLY          16              /* information reply */
-#define        ICMP_MASKREQ            17              /* address mask request */
-#define        ICMP_MASKREPLY          18              /* address mask reply */
-
-#define        ICMP_MAXTYPE            18
-
-#define        ICMP_INFOTYPE(type) \
-       ((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \
-       (type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT || \
-       (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \
-       (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \
-       (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY)
-
-#ifdef KERNEL
-void   icmp_error __P((struct mbuf *, int, int, n_long, struct ifnet *));
-void   icmp_input __P((struct mbuf *, int));
-void   icmp_reflect __P((struct mbuf *));
-void   icmp_send __P((struct mbuf *, struct mbuf *));
-int    icmp_sysctl __P((int *, u_int, void *, size_t *, void *, size_t));
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_var.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/ip_var.h
deleted file mode 100644 (file)
index 351ebf1..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ip_var.h    8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_IP_VAR_H_
-#define _NETINET_IP_VAR_H_
-
-/*
- * Overlay for ip header used by other protocols (tcp, udp).
- */
-struct ipovly {
-       caddr_t ih_next, ih_prev;       /* for protocol sequence q's */
-       u_char  ih_x1;                  /* (unused) */
-       u_char  ih_pr;                  /* protocol */
-       short   ih_len;                 /* protocol length */
-       struct  in_addr ih_src;         /* source internet address */
-       struct  in_addr ih_dst;         /* destination internet address */
-};
-
-/*
- * Ip reassembly queue structure.  Each fragment
- * being reassembled is attached to one of these structures.
- * They are timed out after ipq_ttl drops to 0, and may also
- * be reclaimed if memory becomes tight.
- */
-struct ipq {
-       struct  ipq *next,*prev;        /* to other reass headers */
-       u_char  ipq_ttl;                /* time for reass q to live */
-       u_char  ipq_p;                  /* protocol of this fragment */
-       u_short ipq_id;                 /* sequence id for reassembly */
-       struct  ipasfrag *ipq_next,*ipq_prev;
-                                       /* to ip headers of fragments */
-       struct  in_addr ipq_src,ipq_dst;
-};
-
-/*
- * Ip header, when holding a fragment.
- *
- * Note: ipf_next must be at same offset as ipq_next above
- */
-struct ipasfrag {
-#if BYTE_ORDER == LITTLE_ENDIAN 
-       u_char  ip_hl:4,
-               ip_v:4;
-#endif
-#if BYTE_ORDER == BIG_ENDIAN 
-       u_char  ip_v:4,
-               ip_hl:4;
-#endif
-       u_char  ipf_mff;                /* XXX overlays ip_tos: use low bit
-                                        * to avoid destroying tos;
-                                        * copied from (ip_off&IP_MF) */
-       short   ip_len;
-       u_short ip_id;
-       short   ip_off;
-       u_char  ip_ttl;
-       u_char  ip_p;
-       u_short ip_sum;
-       struct  ipasfrag *ipf_next;     /* next fragment */
-       struct  ipasfrag *ipf_prev;     /* previous fragment */
-};
-
-/*
- * Structure stored in mbuf in inpcb.ip_options
- * and passed to ip_output when ip options are in use.
- * The actual length of the options (including ipopt_dst)
- * is in m_len.
- */
-#define MAX_IPOPTLEN   40
-
-struct ipoption {
-       struct  in_addr ipopt_dst;      /* first-hop dst if source routed */
-       char    ipopt_list[MAX_IPOPTLEN];       /* options proper */
-};
-
-/*
- * Structure attached to inpcb.ip_moptions and
- * passed to ip_output when IP multicast options are in use.
- */
-struct ip_moptions {
-       struct  ifnet *imo_multicast_ifp; /* ifp for outgoing multicasts */
-       u_char  imo_multicast_ttl;      /* TTL for outgoing multicasts */
-       u_char  imo_multicast_loop;     /* 1 => hear sends if a member */
-       u_short imo_num_memberships;    /* no. memberships this socket */
-       struct  in_multi *imo_membership[IP_MAX_MEMBERSHIPS];
-       u_long  imo_multicast_vif;      /* vif num outgoing multicasts */
-};
-
-struct ipstat {
-       u_long  ips_total;              /* total packets received */
-       u_long  ips_badsum;             /* checksum bad */
-       u_long  ips_tooshort;           /* packet too short */
-       u_long  ips_toosmall;           /* not enough data */
-       u_long  ips_badhlen;            /* ip header length < data size */
-       u_long  ips_badlen;             /* ip length < ip header length */
-       u_long  ips_fragments;          /* fragments received */
-       u_long  ips_fragdropped;        /* frags dropped (dups, out of space) */
-       u_long  ips_fragtimeout;        /* fragments timed out */
-       u_long  ips_forward;            /* packets forwarded */
-       u_long  ips_cantforward;        /* packets rcvd for unreachable dest */
-       u_long  ips_redirectsent;       /* packets forwarded on same net */
-       u_long  ips_noproto;            /* unknown or unsupported protocol */
-       u_long  ips_delivered;          /* datagrams delivered to upper level*/
-       u_long  ips_localout;           /* total ip packets generated here */
-       u_long  ips_odropped;           /* lost packets due to nobufs, etc. */
-       u_long  ips_reassembled;        /* total packets reassembled ok */
-       u_long  ips_fragmented;         /* datagrams sucessfully fragmented */
-       u_long  ips_ofragments;         /* output fragments created */
-       u_long  ips_cantfrag;           /* don't fragment flag was set, etc. */
-       u_long  ips_badoptions;         /* error in option processing */
-       u_long  ips_noroute;            /* packets discarded due to no route */
-       u_long  ips_badvers;            /* ip version != 4 */
-       u_long  ips_rawout;             /* total raw ip packets generated */
-};
-
-#ifdef KERNEL
-/* flags passed to ip_output as last parameter */
-#define        IP_FORWARDING           0x1             /* most of ip header exists */
-#define        IP_RAWOUTPUT            0x2             /* raw ip header exists */
-#define        IP_ROUTETOIF            SO_DONTROUTE    /* bypass routing tables */
-#define        IP_ALLOWBROADCAST       SO_BROADCAST    /* can send broadcast packets */
-
-extern struct  ipstat  ipstat;
-extern struct  ipq     ipq;                    /* ip reass. queue */
-extern u_short ip_id;                          /* ip packet ctr, for ids */
-extern int     ip_defttl;                      /* default IP ttl */
-extern u_char  ip_protox[];
-extern struct socket *ip_rsvpd;        /* reservation protocol daemon */
-extern struct socket *ip_mrouter; /* multicast routing daemon */
-extern int     (*legal_vif_num) __P((int));
-extern u_long  (*ip_mcast_src) __P((int));
-extern int rsvp_on;
-
-int     ip_ctloutput __P((int, struct socket *, int, int, struct mbuf **));
-void    ip_deq __P((struct ipasfrag *));
-int     ip_dooptions __P((struct mbuf *));
-void    ip_drain __P((void));
-void    ip_enq __P((struct ipasfrag *, struct ipasfrag *));
-void    ip_forward __P((struct mbuf *, int));
-void    ip_freef __P((struct ipq *));
-void    ip_freemoptions __P((struct ip_moptions *));
-int     ip_getmoptions __P((int, struct ip_moptions *, struct mbuf **));
-void    ip_init __P((void));
-extern int      (*ip_mforward) __P((struct ip *, struct ifnet *, struct mbuf *,
-                         struct ip_moptions *));
-int     ip_next_mtu __P((int, int));
-int     ip_optcopy __P((struct ip *, struct ip *));
-int     ip_output __P((struct socket *so, struct mbuf *,
-           struct mbuf *, struct route *, int, struct ip_moptions *));
-int     ip_pcbopts __P((struct mbuf **, struct mbuf *));
-struct ip *
-        ip_reass __P((struct ipasfrag *, struct ipq *));
-struct in_ifaddr *
-        ip_rtaddr __P((struct in_addr));
-int     ip_setmoptions __P((int, struct ip_moptions **, struct mbuf *));
-void    ip_slowtimo __P((void));
-struct mbuf *
-        ip_srcroute __P((void));
-void    ip_stripoptions __P((struct mbuf *, struct mbuf *));
-int     ip_sysctl __P((int *, u_int, void *, size_t *, void *, size_t));
-void    ipintr __P((void));
-int     rip_ctloutput __P((int, struct socket *, int, int, struct mbuf **));
-void    rip_init __P((void));
-void    rip_input __P((struct mbuf *));
-int     rip_output __P((struct mbuf *, struct socket *, u_long));
-int     rip_usrreq __P((struct socket *,
-           int, struct mbuf *, struct mbuf *, struct mbuf *));
-int    ip_rsvp_init __P((struct socket *));
-int    ip_rsvp_done __P((void));
-int    ip_rsvp_vif_init __P((struct socket *, struct mbuf *));
-int    ip_rsvp_vif_done __P((struct socket *, struct mbuf *));
-void   ip_rsvp_force_done __P((struct socket *));
-
-void  rip_ip_input __P((struct mbuf *mm,
-          register struct socket *ip_mrouter, struct sockaddr *src));
-
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp.h
deleted file mode 100644 (file)
index d8af2c6..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp.h       8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_TCP_H_
-#define _NETINET_TCP_H_
-
-typedef        u_long  tcp_seq;
-typedef u_long tcp_cc;                 /* connection count per rfc1644 */
-
-/*
- * TCP header.
- * Per RFC 793, September, 1981.
- */
-struct tcphdr {
-       u_short th_sport;               /* source port */
-       u_short th_dport;               /* destination port */
-       tcp_seq th_seq;                 /* sequence number */
-       tcp_seq th_ack;                 /* acknowledgement number */
-#if BYTE_ORDER == LITTLE_ENDIAN
-       u_char  th_x2:4,                /* (unused) */
-               th_off:4;               /* data offset */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
-       u_char  th_off:4,               /* data offset */
-               th_x2:4;                /* (unused) */
-#endif
-       u_char  th_flags;
-#define        TH_FIN  0x01
-#define        TH_SYN  0x02
-#define        TH_RST  0x04
-#define        TH_PUSH 0x08
-#define        TH_ACK  0x10
-#define        TH_URG  0x20
-#define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG)
-
-       u_short th_win;                 /* window */
-       u_short th_sum;                 /* checksum */
-       u_short th_urp;                 /* urgent pointer */
-};
-
-#define        TCPOPT_EOL              0
-#define        TCPOPT_NOP              1
-#define        TCPOPT_MAXSEG           2
-#define    TCPOLEN_MAXSEG              4
-#define TCPOPT_WINDOW          3
-#define    TCPOLEN_WINDOW              3
-#define TCPOPT_SACK_PERMITTED  4               /* Experimental */
-#define    TCPOLEN_SACK_PERMITTED      2
-#define TCPOPT_SACK            5               /* Experimental */
-#define TCPOPT_TIMESTAMP       8
-#define    TCPOLEN_TIMESTAMP           10
-#define    TCPOLEN_TSTAMP_APPA         (TCPOLEN_TIMESTAMP+2) /* appendix A */
-#define    TCPOPT_TSTAMP_HDR           \
-    (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)
-
-#define        TCPOPT_CC               11              /* CC options: RFC-1644 */
-#define TCPOPT_CCNEW           12
-#define TCPOPT_CCECHO          13
-#define           TCPOLEN_CC                   6
-#define           TCPOLEN_CC_APPA              (TCPOLEN_CC+2)
-#define           TCPOPT_CC_HDR(ccopt)         \
-    (TCPOPT_NOP<<24|TCPOPT_NOP<<16|(ccopt)<<8|TCPOLEN_CC)
-
-/*
- * Default maximum segment size for TCP.
- * With an IP MSS of 576, this is 536,
- * but 512 is probably more convenient.
- * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)).
- */
-#define        TCP_MSS 512
-
-#define        TCP_MAXWIN      65535   /* largest value for (unscaled) window */
-#define        TTCP_CLIENT_SND_WND     4096    /* dflt send window for T/TCP client */
-
-#define TCP_MAX_WINSHIFT       14      /* maximum window shift */
-
-#define TCP_MAXHLEN    (0xf<<2)        /* max length of header in bytes */
-#define TCP_MAXOLEN    (TCP_MAXHLEN - sizeof(struct tcphdr))
-                                       /* max space left for options */
-
-/*
- * User-settable options (used with setsockopt).
- */
-#define        TCP_NODELAY     0x01    /* don't delay send to coalesce packets */
-#define        TCP_MAXSEG      0x02    /* set maximum segment size */
-#define TCP_NOPUSH     0x04    /* don't push last block of write */
-#define TCP_NOOPT      0x08    /* don't use TCP options */
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_debug.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_debug.h
deleted file mode 100644 (file)
index 5266eeb..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_debug.h 8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_TCP_DEBUG_H_
-#define _NETINET_TCP_DEBUG_H_
-
-struct tcp_debug {
-       n_time  td_time;
-       short   td_act;
-       short   td_ostate;
-       caddr_t td_tcb;
-       struct  tcpiphdr td_ti;
-       short   td_req;
-       struct  tcpcb td_cb;
-};
-
-#define        TA_INPUT        0
-#define        TA_OUTPUT       1
-#define        TA_USER         2
-#define        TA_RESPOND      3
-#define        TA_DROP         4
-
-#ifdef TANAMES
-char   *tanames[] =
-    { "input", "output", "user", "respond", "drop" };
-#endif
-
-#define        TCP_NDEBUG 100
-struct tcp_debug tcp_debug[TCP_NDEBUG];
-int    tcp_debx;
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_fsm.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_fsm.h
deleted file mode 100644 (file)
index 5cbb3ec..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_fsm.h   8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_TCP_FSM_H_
-#define _NETINET_TCP_FSM_H_
-
-/*
- * TCP FSM state definitions.
- * Per RFC793, September, 1981.
- */
-
-#define        TCP_NSTATES     11
-
-#define        TCPS_CLOSED             0       /* closed */
-#define        TCPS_LISTEN             1       /* listening for connection */
-#define        TCPS_SYN_SENT           2       /* active, have sent syn */
-#define        TCPS_SYN_RECEIVED       3       /* have send and received syn */
-/* states < TCPS_ESTABLISHED are those where connections not established */
-#define        TCPS_ESTABLISHED        4       /* established */
-#define        TCPS_CLOSE_WAIT         5       /* rcvd fin, waiting for close */
-/* states > TCPS_CLOSE_WAIT are those where user has closed */
-#define        TCPS_FIN_WAIT_1         6       /* have closed, sent fin */
-#define        TCPS_CLOSING            7       /* closed xchd FIN; await FIN ACK */
-#define        TCPS_LAST_ACK           8       /* had fin and close; await FIN ACK */
-/* states > TCPS_CLOSE_WAIT && < TCPS_FIN_WAIT_2 await ACK of FIN */
-#define        TCPS_FIN_WAIT_2         9       /* have closed, fin is acked */
-#define        TCPS_TIME_WAIT          10      /* in 2*msl quiet wait after close */
-
-#define        TCPS_HAVERCVDSYN(s)     ((s) >= TCPS_SYN_RECEIVED)
-#define TCPS_HAVEESTABLISHED(s)        ((s) >= TCPS_ESTABLISHED)
-#define        TCPS_HAVERCVDFIN(s)     ((s) >= TCPS_TIME_WAIT)
-
-#ifdef TCPOUTFLAGS
-/*
- * Flags used when sending segments in tcp_output.
- * Basic flags (TH_RST,TH_ACK,TH_SYN,TH_FIN) are totally
- * determined by state, with the proviso that TH_FIN is sent only
- * if all data queued for output is included in the segment.
- */
-u_char tcp_outflags[TCP_NSTATES] = {
-    TH_RST|TH_ACK, 0, TH_SYN, TH_SYN|TH_ACK,
-    TH_ACK, TH_ACK,
-    TH_FIN|TH_ACK, TH_FIN|TH_ACK, TH_FIN|TH_ACK, TH_ACK, TH_ACK,
-};
-#endif
-
-#ifdef KPROF
-int    tcp_acounts[TCP_NSTATES][PRU_NREQ];
-#endif
-
-#ifdef TCPSTATES
-char *tcpstates[] = {
-       "CLOSED",       "LISTEN",       "SYN_SENT",     "SYN_RCVD",
-       "ESTABLISHED",  "CLOSE_WAIT",   "FIN_WAIT_1",   "CLOSING",
-       "LAST_ACK",     "FIN_WAIT_2",   "TIME_WAIT",
-};
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_seq.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_seq.h
deleted file mode 100644 (file)
index 9baf72e..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_seq.h   8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_TCP_SEQ_H_
-#define _NETINET_TCP_SEQ_H_
-/*
- * TCP sequence numbers are 32 bit integers operated
- * on with modular arithmetic.  These macros can be
- * used to compare such integers.
- */
-#define        SEQ_LT(a,b)     ((int)((a)-(b)) < 0)
-#define        SEQ_LEQ(a,b)    ((int)((a)-(b)) <= 0)
-#define        SEQ_GT(a,b)     ((int)((a)-(b)) > 0)
-#define        SEQ_GEQ(a,b)    ((int)((a)-(b)) >= 0)
-
-/* for modulo comparisons of timestamps */
-#define TSTMP_LT(a,b)  ((int)((a)-(b)) < 0)
-#define TSTMP_GEQ(a,b) ((int)((a)-(b)) >= 0)
-
-/*
- * TCP connection counts are 32 bit integers operated
- * on with modular arithmetic.  These macros can be
- * used to compare such integers.
- */
-#define        CC_LT(a,b)      ((int)((a)-(b)) < 0)
-#define        CC_LEQ(a,b)     ((int)((a)-(b)) <= 0)
-#define        CC_GT(a,b)      ((int)((a)-(b)) > 0)
-#define        CC_GEQ(a,b)     ((int)((a)-(b)) >= 0)
-
-/* Macro to increment a CC: skip 0 which has a special meaning */
-#define CC_INC(c)      (++(c) == 0 ? ++(c) : (c))
-
-/*
- * Macros to initialize tcp sequence numbers for
- * send and receive from initial send and receive
- * sequence numbers.
- */
-#define        tcp_rcvseqinit(tp) \
-       (tp)->rcv_adv = (tp)->rcv_nxt = (tp)->irs + 1
-
-#define        tcp_sendseqinit(tp) \
-       (tp)->snd_una = (tp)->snd_nxt = (tp)->snd_max = (tp)->snd_up = \
-           (tp)->iss
-
-#define        TCP_ISSINCR     (125*1024)      /* increment for tcp_iss each second */
-
-#define TCP_PAWS_IDLE  (24 * 24 * 60 * 60 * PR_SLOWHZ)
-                                       /* timestamp wrap-around time */
-
-#ifdef KERNEL
-extern tcp_seq tcp_iss;                /* tcp initial send seq # */
-extern tcp_cc  tcp_ccgen;              /* global connection count */
-#endif
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_timer.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_timer.h
deleted file mode 100644 (file)
index dd96dc9..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_timer.h 8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_TCP_TIMER_H_
-#define _NETINET_TCP_TIMER_H_
-
-/*
- * Definitions of the TCP timers.  These timers are counted
- * down PR_SLOWHZ times a second.
- */
-#define        TCPT_NTIMERS    4
-
-#define        TCPT_REXMT      0               /* retransmit */
-#define        TCPT_PERSIST    1               /* retransmit persistance */
-#define        TCPT_KEEP       2               /* keep alive */
-#define        TCPT_2MSL       3               /* 2*msl quiet time timer */
-
-/*
- * The TCPT_REXMT timer is used to force retransmissions.
- * The TCP has the TCPT_REXMT timer set whenever segments
- * have been sent for which ACKs are expected but not yet
- * received.  If an ACK is received which advances tp->snd_una,
- * then the retransmit timer is cleared (if there are no more
- * outstanding segments) or reset to the base value (if there
- * are more ACKs expected).  Whenever the retransmit timer goes off,
- * we retransmit one unacknowledged segment, and do a backoff
- * on the retransmit timer.
- *
- * The TCPT_PERSIST timer is used to keep window size information
- * flowing even if the window goes shut.  If all previous transmissions
- * have been acknowledged (so that there are no retransmissions in progress),
- * and the window is too small to bother sending anything, then we start
- * the TCPT_PERSIST timer.  When it expires, if the window is nonzero,
- * we go to transmit state.  Otherwise, at intervals send a single byte
- * into the peer's window to force him to update our window information.
- * We do this at most as often as TCPT_PERSMIN time intervals,
- * but no more frequently than the current estimate of round-trip
- * packet time.  The TCPT_PERSIST timer is cleared whenever we receive
- * a window update from the peer.
- *
- * The TCPT_KEEP timer is used to keep connections alive.  If an
- * connection is idle (no segments received) for TCPTV_KEEP_INIT amount of time,
- * but not yet established, then we drop the connection.  Once the connection
- * is established, if the connection is idle for TCPTV_KEEP_IDLE time
- * (and keepalives have been enabled on the socket), we begin to probe
- * the connection.  We force the peer to send us a segment by sending:
- *     <SEQ=SND.UNA-1><ACK=RCV.NXT><CTL=ACK>
- * This segment is (deliberately) outside the window, and should elicit
- * an ack segment in response from the peer.  If, despite the TCPT_KEEP
- * initiated segments we cannot elicit a response from a peer in TCPT_MAXIDLE
- * amount of time probing, then we drop the connection.
- */
-
-/*
- * Time constants.
- */
-#define        TCPTV_MSL       ( 30*PR_SLOWHZ)         /* max seg lifetime (hah!) */
-#define        TCPTV_SRTTBASE  0                       /* base roundtrip time;
-                                                  if 0, no idea yet */
-#define        TCPTV_SRTTDFLT  (  3*PR_SLOWHZ)         /* assumed RTT if no info */
-
-#define        TCPTV_PERSMIN   (  5*PR_SLOWHZ)         /* retransmit persistance */
-#define        TCPTV_PERSMAX   ( 60*PR_SLOWHZ)         /* maximum persist interval */
-
-#define        TCPTV_KEEP_INIT ( 75*PR_SLOWHZ)         /* initial connect keep alive */
-#define        TCPTV_KEEP_IDLE (120*60*PR_SLOWHZ)      /* dflt time before probing */
-#define        TCPTV_KEEPINTVL ( 75*PR_SLOWHZ)         /* default probe interval */
-#define        TCPTV_KEEPCNT   8                       /* max probes before drop */
-
-#define        TCPTV_MIN       (  1*PR_SLOWHZ)         /* minimum allowable value */
-#define        TCPTV_REXMTMAX  ( 64*PR_SLOWHZ)         /* max allowable REXMT value */
-
-#define TCPTV_TWTRUNC  8                       /* RTO factor to truncate TW */
-
-#define        TCP_LINGERTIME  120                     /* linger at most 2 minutes */
-
-#define        TCP_MAXRXTSHIFT 12                      /* maximum retransmits */
-
-#ifdef TCPTIMERS
-char *tcptimers[] =
-    { "REXMT", "PERSIST", "KEEP", "2MSL" };
-#endif
-
-/*
- * Force a time value to be in a certain range.
- */
-#define        TCPT_RANGESET(tv, value, tvmin, tvmax) { \
-       (tv) = (value); \
-       if ((u_long)(tv) < (u_long)(tvmin)) \
-               (tv) = (tvmin); \
-       else if ((u_long)(tv) > (u_long)(tvmax)) \
-               (tv) = (tvmax); \
-}
-
-#ifdef KERNEL
-extern int tcp_keepinit;               /* time to establish connection */
-extern int tcp_keepidle;               /* time before keepalive probes begin */
-extern int tcp_keepintvl;              /* time between keepalive probes */
-extern int tcp_maxidle;                        /* time to drop after starting probes */
-extern int tcp_ttl;                    /* time to live for TCP segs */
-extern int tcp_backoff[];
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_var.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcp_var.h
deleted file mode 100644 (file)
index a7eb3e2..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_var.h   8.3 (Berkeley) 4/10/94
- */
-
-#ifndef _NETINET_TCP_VAR_H_
-#define _NETINET_TCP_VAR_H_
-/*
- * Kernel variables for tcp.
- */
-
-/*
- * Tcp control block, one per tcp; fields:
- */
-struct tcpcb {
-       struct  tcpiphdr *seg_next;     /* sequencing queue */
-       struct  tcpiphdr *seg_prev;
-       int     t_state;                /* state of this connection */
-       int     t_timer[TCPT_NTIMERS];  /* tcp timers */
-       int     t_rxtshift;             /* log(2) of rexmt exp. backoff */
-       int     t_rxtcur;               /* current retransmit value */
-       int     t_dupacks;              /* consecutive dup acks recd */
-       u_int   t_maxseg;               /* maximum segment size */
-       u_int   t_maxopd;               /* mss plus options */
-       int     t_force;                /* 1 if forcing out a byte */
-       u_int   t_flags;
-#define        TF_ACKNOW       0x0001          /* ack peer immediately */
-#define        TF_DELACK       0x0002          /* ack, but try to delay it */
-#define        TF_NODELAY      0x0004          /* don't delay packets to coalesce */
-#define        TF_NOOPT        0x0008          /* don't use tcp options */
-#define        TF_SENTFIN      0x0010          /* have sent FIN */
-#define        TF_REQ_SCALE    0x0020          /* have/will request window scaling */
-#define        TF_RCVD_SCALE   0x0040          /* other side has requested scaling */
-#define        TF_REQ_TSTMP    0x0080          /* have/will request timestamps */
-#define        TF_RCVD_TSTMP   0x0100          /* a timestamp was received in SYN */
-#define        TF_SACK_PERMIT  0x0200          /* other side said I could SACK */
-#define TF_NEEDSYN     0x0400          /* send SYN (implicit state) */
-#define TF_NEEDFIN     0x0800          /* send FIN (implicit state) */
-#define TF_NOPUSH      0x1000          /* don't push */
-#define TF_REQ_CC      0x2000          /* have/will request CC */
-#define        TF_RCVD_CC      0x4000          /* a CC was received in SYN */
-#define TF_SENDCCNEW   0x8000          /* send CCnew instead of CC in SYN */
-
-       struct  tcpiphdr *t_template;   /* skeletal packet for transmit */
-       struct  inpcb *t_inpcb;         /* back pointer to internet pcb */
-/*
- * The following fields are used as in the protocol specification.
- * See RFC783, Dec. 1981, page 21.
- */
-/* send sequence variables */
-       tcp_seq snd_una;                /* send unacknowledged */
-       tcp_seq snd_nxt;                /* send next */
-       tcp_seq snd_up;                 /* send urgent pointer */
-       tcp_seq snd_wl1;                /* window update seg seq number */
-       tcp_seq snd_wl2;                /* window update seg ack number */
-       tcp_seq iss;                    /* initial send sequence number */
-       u_long  snd_wnd;                /* send window */
-/* receive sequence variables */
-       u_long  rcv_wnd;                /* receive window */
-       tcp_seq rcv_nxt;                /* receive next */
-       tcp_seq rcv_up;                 /* receive urgent pointer */
-       tcp_seq irs;                    /* initial receive sequence number */
-/*
- * Additional variables for this implementation.
- */
-/* receive variables */
-       tcp_seq rcv_adv;                /* advertised window */
-/* retransmit variables */
-       tcp_seq snd_max;                /* highest sequence number sent;
-                                        * used to recognize retransmits
-                                        */
-/* congestion control (for slow start, source quench, retransmit after loss) */
-       u_long  snd_cwnd;               /* congestion-controlled window */
-       u_long  snd_ssthresh;           /* snd_cwnd size threshhold for
-                                        * for slow start exponential to
-                                        * linear switch
-                                        */
-/*
- * transmit timing stuff.  See below for scale of srtt and rttvar.
- * "Variance" is actually smoothed difference.
- */
-       u_int   t_idle;                 /* inactivity time */
-       int     t_rtt;                  /* round trip time */
-       tcp_seq t_rtseq;                /* sequence number being timed */
-       int     t_srtt;                 /* smoothed round-trip time */
-       int     t_rttvar;               /* variance in round-trip time */
-       u_int   t_rttmin;               /* minimum rtt allowed */
-       u_long  max_sndwnd;             /* largest window peer has offered */
-
-/* out-of-band data */
-       char    t_oobflags;             /* have some */
-       char    t_iobc;                 /* input character */
-#define        TCPOOB_HAVEDATA 0x01
-#define        TCPOOB_HADDATA  0x02
-       int     t_softerror;            /* possible error not yet reported */
-
-/* RFC 1323 variables */
-       u_char  snd_scale;              /* window scaling for send window */
-       u_char  rcv_scale;              /* window scaling for recv window */
-       u_char  request_r_scale;        /* pending window scaling */
-       u_char  requested_s_scale;
-       u_long  ts_recent;              /* timestamp echo data */
-       u_long  ts_recent_age;          /* when last updated */
-       tcp_seq last_ack_sent;
-/* RFC 1644 variables */
-       tcp_cc  cc_send;                /* send connection count */
-       tcp_cc  cc_recv;                /* receive connection count */
-       u_long  t_duration;             /* connection duration */
-
-/* TUBA stuff */
-       caddr_t t_tuba_pcb;             /* next level down pcb for TCP over z */
-/* More RTT stuff */
-       u_long  t_rttupdated;           /* number of times rtt sampled */
-};
-
-/*
- * Structure to hold TCP options that are only used during segment
- * processing (in tcp_input), but not held in the tcpcb.
- * It's basically used to reduce the number of parameters
- * to tcp_dooptions.
- */
-struct tcpopt {
-       u_long  to_flag;                /* which options are present */
-#define TOF_TS         0x0001          /* timestamp */
-#define TOF_CC         0x0002          /* CC and CCnew are exclusive */
-#define TOF_CCNEW      0x0004
-#define        TOF_CCECHO      0x0008
-       u_long  to_tsval;
-       u_long  to_tsecr;
-       tcp_cc  to_cc;          /* holds CC or CCnew */
-       tcp_cc  to_ccecho;
-};
-
-/*
- * The TAO cache entry which is stored in the protocol family specific
- * portion of the route metrics.
- */
-struct rmxp_tao {
-       tcp_cc  tao_cc;                 /* latest CC in valid SYN */
-       tcp_cc  tao_ccsent;             /* latest CC sent to peer */
-       u_short tao_mssopt;             /* peer's cached MSS */
-#ifdef notyet
-       u_short tao_flags;              /* cache status flags */
-#define        TAOF_DONT       0x0001          /* peer doesn't understand rfc1644 */
-#define        TAOF_OK         0x0002          /* peer does understand rfc1644 */
-#define        TAOF_UNDEF      0               /* we don't know yet */
-#endif /* notyet */
-};
-#define rmx_taop(r)    ((struct rmxp_tao *)(r).rmx_filler)
-
-#define        intotcpcb(ip)   ((struct tcpcb *)(ip)->inp_ppcb)
-#define        sototcpcb(so)   (intotcpcb(sotoinpcb(so)))
-
-/*
- * The smoothed round-trip time and estimated variance
- * are stored as fixed point numbers scaled by the values below.
- * For convenience, these scales are also used in smoothing the average
- * (smoothed = (1/scale)sample + ((scale-1)/scale)smoothed).
- * With these scales, srtt has 3 bits to the right of the binary point,
- * and thus an "ALPHA" of 0.875.  rttvar has 2 bits to the right of the
- * binary point, and is smoothed with an ALPHA of 0.75.
- */
-#define        TCP_RTT_SCALE           8       /* multiplier for srtt; 3 bits frac. */
-#define        TCP_RTT_SHIFT           3       /* shift for srtt; 3 bits frac. */
-#define        TCP_RTTVAR_SCALE        4       /* multiplier for rttvar; 2 bits */
-#define        TCP_RTTVAR_SHIFT        2       /* shift for rttvar; 2 bits */
-
-/*
- * The initial retransmission should happen at rtt + 4 * rttvar.
- * Because of the way we do the smoothing, srtt and rttvar
- * will each average +1/2 tick of bias.  When we compute
- * the retransmit timer, we want 1/2 tick of rounding and
- * 1 extra tick because of +-1/2 tick uncertainty in the
- * firing of the timer.  The bias will give us exactly the
- * 1.5 tick we need.  But, because the bias is
- * statistical, we have to test that we don't drop below
- * the minimum feasible timer (which is 2 ticks).
- * This macro assumes that the value of TCP_RTTVAR_SCALE
- * is the same as the multiplier for rttvar.
- */
-#define        TCP_REXMTVAL(tp) \
-       (((tp)->t_srtt >> TCP_RTT_SHIFT) + (tp)->t_rttvar)
-
-/* XXX
- * We want to avoid doing m_pullup on incoming packets but that
- * means avoiding dtom on the tcp reassembly code.  That in turn means
- * keeping an mbuf pointer in the reassembly queue (since we might
- * have a cluster).  As a quick hack, the source & destination
- * port numbers (which are no longer needed once we've located the
- * tcpcb) are overlayed with an mbuf pointer.
- */
-#define REASS_MBUF(ti) (*(struct mbuf **)&((ti)->ti_t))
-
-/*
- * TCP statistics.
- * Many of these should be kept per connection,
- * but that's inconvenient at the moment.
- */
-struct tcpstat {
-       u_long  tcps_connattempt;       /* connections initiated */
-       u_long  tcps_accepts;           /* connections accepted */
-       u_long  tcps_connects;          /* connections established */
-       u_long  tcps_drops;             /* connections dropped */
-       u_long  tcps_conndrops;         /* embryonic connections dropped */
-       u_long  tcps_closed;            /* conn. closed (includes drops) */
-       u_long  tcps_segstimed;         /* segs where we tried to get rtt */
-       u_long  tcps_rttupdated;        /* times we succeeded */
-       u_long  tcps_delack;            /* delayed acks sent */
-       u_long  tcps_timeoutdrop;       /* conn. dropped in rxmt timeout */
-       u_long  tcps_rexmttimeo;        /* retransmit timeouts */
-       u_long  tcps_persisttimeo;      /* persist timeouts */
-       u_long  tcps_keeptimeo;         /* keepalive timeouts */
-       u_long  tcps_keepprobe;         /* keepalive probes sent */
-       u_long  tcps_keepdrops;         /* connections dropped in keepalive */
-
-       u_long  tcps_sndtotal;          /* total packets sent */
-       u_long  tcps_sndpack;           /* data packets sent */
-       u_long  tcps_sndbyte;           /* data bytes sent */
-       u_long  tcps_sndrexmitpack;     /* data packets retransmitted */
-       u_long  tcps_sndrexmitbyte;     /* data bytes retransmitted */
-       u_long  tcps_sndacks;           /* ack-only packets sent */
-       u_long  tcps_sndprobe;          /* window probes sent */
-       u_long  tcps_sndurg;            /* packets sent with URG only */
-       u_long  tcps_sndwinup;          /* window update-only packets sent */
-       u_long  tcps_sndctrl;           /* control (SYN|FIN|RST) packets sent */
-
-       u_long  tcps_rcvtotal;          /* total packets received */
-       u_long  tcps_rcvpack;           /* packets received in sequence */
-       u_long  tcps_rcvbyte;           /* bytes received in sequence */
-       u_long  tcps_rcvbadsum;         /* packets received with ccksum errs */
-       u_long  tcps_rcvbadoff;         /* packets received with bad offset */
-       u_long  tcps_rcvshort;          /* packets received too short */
-       u_long  tcps_rcvduppack;        /* duplicate-only packets received */
-       u_long  tcps_rcvdupbyte;        /* duplicate-only bytes received */
-       u_long  tcps_rcvpartduppack;    /* packets with some duplicate data */
-       u_long  tcps_rcvpartdupbyte;    /* dup. bytes in part-dup. packets */
-       u_long  tcps_rcvoopack;         /* out-of-order packets received */
-       u_long  tcps_rcvoobyte;         /* out-of-order bytes received */
-       u_long  tcps_rcvpackafterwin;   /* packets with data after window */
-       u_long  tcps_rcvbyteafterwin;   /* bytes rcvd after window */
-       u_long  tcps_rcvafterclose;     /* packets rcvd after "close" */
-       u_long  tcps_rcvwinprobe;       /* rcvd window probe packets */
-       u_long  tcps_rcvdupack;         /* rcvd duplicate acks */
-       u_long  tcps_rcvacktoomuch;     /* rcvd acks for unsent data */
-       u_long  tcps_rcvackpack;        /* rcvd ack packets */
-       u_long  tcps_rcvackbyte;        /* bytes acked by rcvd acks */
-       u_long  tcps_rcvwinupd;         /* rcvd window update packets */
-       u_long  tcps_pawsdrop;          /* segments dropped due to PAWS */
-       u_long  tcps_predack;           /* times hdr predict ok for acks */
-       u_long  tcps_preddat;           /* times hdr predict ok for data pkts */
-       u_long  tcps_pcbcachemiss;
-       u_long  tcps_cachedrtt;         /* times cached RTT in route updated */
-       u_long  tcps_cachedrttvar;      /* times cached rttvar updated */
-       u_long  tcps_cachedssthresh;    /* times cached ssthresh updated */
-       u_long  tcps_usedrtt;           /* times RTT initialized from route */
-       u_long  tcps_usedrttvar;        /* times RTTVAR initialized from rt */
-       u_long  tcps_usedssthresh;      /* times ssthresh initialized from rt*/
-       u_long  tcps_persistdrop;       /* timeout in persist state */
-       u_long  tcps_badsyn;            /* bogus SYN, e.g. premature ACK */
-       u_long  tcps_mturesent;         /* resends due to MTU discovery */
-       u_long  tcps_listendrop;        /* listen queue overflows */
-};
-
-/*
- * Names for TCP sysctl objects
- */
-#define        TCPCTL_DO_RFC1323       1       /* use RFC-1323 extensions */
-#define        TCPCTL_DO_RFC1644       2       /* use RFC-1644 extensions */
-#define        TCPCTL_MSSDFLT          3       /* MSS default */
-#define TCPCTL_STATS           4       /* statistics (read-only) */
-#define        TCPCTL_RTTDFLT          5       /* default RTT estimate */
-#define        TCPCTL_KEEPIDLE         6       /* keepalive idle timer */
-#define        TCPCTL_KEEPINTVL        7       /* interval to send keepalives */
-#define        TCPCTL_SENDSPACE        8       /* send buffer space */
-#define        TCPCTL_RECVSPACE        9       /* receive buffer space */
-#define        TCPCTL_KEEPINIT         10      /* interval to wait for established */
-#define TCPCTL_MAXID           11
-
-#define TCPCTL_NAMES { \
-       { 0, 0 }, \
-       { "rfc1323", CTLTYPE_INT }, \
-       { "rfc1644", CTLTYPE_INT }, \
-       { "mssdflt", CTLTYPE_INT }, \
-       { "stats", CTLTYPE_STRUCT }, \
-       { "rttdflt", CTLTYPE_INT }, \
-       { "keepidle", CTLTYPE_INT }, \
-       { "keepintvl", CTLTYPE_INT }, \
-       { "sendspace", CTLTYPE_INT }, \
-       { "recvspace", CTLTYPE_INT }, \
-       { "keepinit", CTLTYPE_INT }, \
-}
-
-#ifdef KERNEL
-extern struct inpcbhead tcb;           /* head of queue of active tcpcb's */
-extern struct inpcbinfo tcbinfo;
-extern struct tcpstat tcpstat; /* tcp statistics */
-extern int tcp_do_rfc1323;     /* XXX */
-extern int tcp_do_rfc1644;     /* XXX */
-extern int tcp_mssdflt;        /* XXX */
-extern u_long tcp_now;         /* for RFC 1323 timestamps */
-extern int tcp_rttdflt;        /* XXX */
-extern  u_short tcp_lastport;  /* last assigned port */
-
-int     tcp_attach __P((struct socket *));
-void    tcp_canceltimers __P((struct tcpcb *));
-struct tcpcb *
-        tcp_close __P((struct tcpcb *));
-int     tcp_connect __P((struct tcpcb *, struct mbuf *));
-void    tcp_ctlinput __P((int, struct sockaddr *, struct ip *));
-int     tcp_ctloutput __P((int, struct socket *, int, int, struct mbuf **));
-struct tcpcb *
-        tcp_disconnect __P((struct tcpcb *));
-struct tcpcb *
-        tcp_drop __P((struct tcpcb *, int));
-void    tcp_dooptions __P((struct tcpcb *,
-           u_char *, int, struct tcpiphdr *, struct tcpopt *));
-void    tcp_drain __P((void));
-void    tcp_fasttimo __P((void));
-struct rmxp_tao *
-        tcp_gettaocache __P((struct inpcb *));
-void    tcp_init __P((void));
-void    tcp_input __P((struct mbuf *, int));
-void    tcp_mss __P((struct tcpcb *, int));
-int     tcp_mssopt __P((struct tcpcb *));
-void    tcp_mtudisc __P((struct inpcb *, int));
-struct tcpcb *
-        tcp_newtcpcb __P((struct inpcb *));
-void    tcp_notify __P((struct inpcb *, int));
-int     tcp_output __P((struct tcpcb *));
-void    tcp_pulloutofband __P((struct socket *,
-           struct tcpiphdr *, struct mbuf *));
-void    tcp_quench __P((struct inpcb *, int));
-int     tcp_reass __P((struct tcpcb *, struct tcpiphdr *, struct mbuf *));
-void    tcp_respond __P((struct tcpcb *,
-           struct tcpiphdr *, struct mbuf *, u_long, u_long, int));
-struct rtentry *
-        tcp_rtlookup __P((struct inpcb *));
-void    tcp_setpersist __P((struct tcpcb *));
-void    tcp_slowtimo __P((void));
-int     tcp_sysctl __P((int *, u_int, void *, size_t *, void *, size_t));
-struct tcpiphdr *
-        tcp_template __P((struct tcpcb *));
-struct tcpcb *
-        tcp_timers __P((struct tcpcb *, int));
-void    tcp_trace __P((int, int, struct tcpcb *, struct tcpiphdr *, int));
-struct tcpcb *
-        tcp_usrclosed __P((struct tcpcb *));
-int     tcp_usrreq __P((struct socket *,
-           int, struct mbuf *, struct mbuf *, struct mbuf *));
-void    tcp_xmit_timer __P((struct tcpcb *, int));
-
-extern u_long tcp_sendspace;
-extern u_long tcp_recvspace;
-
-#endif /* KERNEL */
-
-#endif /* _NETINET_TCP_VAR_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcpip.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/tcpip.h
deleted file mode 100644 (file)
index 45c115c..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcpip.h     8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_TCPIP_H_
-#define _NETINET_TCPIP_H_
-
-/*
- * Tcp+ip header, after ip options removed.
- */
-struct tcpiphdr {
-       struct  ipovly ti_i;            /* overlaid ip structure */
-       struct  tcphdr ti_t;            /* tcp header */
-};
-#ifdef notyet
-/*
- * Tcp+ip header, after ip options removed but including TCP options.
- */
-struct full_tcpiphdr {
-       struct  ipovly ti_i;            /* overlaid ip structure */
-       struct  tcphdr ti_t;            /* tcp header */
-       char    ti_o[TCP_MAXOLEN];      /* space for tcp options */
-};
-#endif /* notyet */
-#define        ti_next         ti_i.ih_next
-#define        ti_prev         ti_i.ih_prev
-#define        ti_x1           ti_i.ih_x1
-#define        ti_pr           ti_i.ih_pr
-#define        ti_len          ti_i.ih_len
-#define        ti_src          ti_i.ih_src
-#define        ti_dst          ti_i.ih_dst
-#define        ti_sport        ti_t.th_sport
-#define        ti_dport        ti_t.th_dport
-#define        ti_seq          ti_t.th_seq
-#define        ti_ack          ti_t.th_ack
-#define        ti_x2           ti_t.th_x2
-#define        ti_off          ti_t.th_off
-#define        ti_flags        ti_t.th_flags
-#define        ti_win          ti_t.th_win
-#define        ti_sum          ti_t.th_sum
-#define        ti_urp          ti_t.th_urp
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/udp.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/udp.h
deleted file mode 100644 (file)
index b05e19b..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)udp.h       8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_UDP_H_
-#define _NETINET_UDP_H_
-
-/*
- * Udp protocol header.
- * Per RFC 768, September, 1981.
- */
-struct udphdr {
-       u_short uh_sport;               /* source port */
-       u_short uh_dport;               /* destination port */
-       short   uh_ulen;                /* udp length */
-       u_short uh_sum;                 /* udp checksum */
-};
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/udp_var.h b/reactos/lib/oskittcp/include/freebsd/src/sys/netinet/udp_var.h
deleted file mode 100644 (file)
index fc808e5..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)udp_var.h   8.1 (Berkeley) 6/10/93
- */
-
-#ifndef _NETINET_UDP_VAR_H_
-#define _NETINET_UDP_VAR_H_
-
-/*
- * UDP kernel structures and variables.
- */
-struct udpiphdr {
-       struct  ipovly ui_i;            /* overlaid ip structure */
-       struct  udphdr ui_u;            /* udp header */
-};
-#define        ui_next         ui_i.ih_next
-#define        ui_prev         ui_i.ih_prev
-#define        ui_x1           ui_i.ih_x1
-#define        ui_pr           ui_i.ih_pr
-#define        ui_len          ui_i.ih_len
-#define        ui_src          ui_i.ih_src
-#define        ui_dst          ui_i.ih_dst
-#define        ui_sport        ui_u.uh_sport
-#define        ui_dport        ui_u.uh_dport
-#define        ui_ulen         ui_u.uh_ulen
-#define        ui_sum          ui_u.uh_sum
-
-struct udpstat {
-                               /* input statistics: */
-       u_long  udps_ipackets;          /* total input packets */
-       u_long  udps_hdrops;            /* packet shorter than header */
-       u_long  udps_badsum;            /* checksum error */
-       u_long  udps_badlen;            /* data length larger than packet */
-       u_long  udps_noport;            /* no socket on port */
-       u_long  udps_noportbcast;       /* of above, arrived as broadcast */
-       u_long  udps_fullsock;          /* not delivered, input socket full */
-       u_long  udpps_pcbcachemiss;     /* input packets missing pcb cache */
-       u_long  udpps_pcbhashmiss;      /* input packets not for hashed pcb */
-                               /* output statistics: */
-       u_long  udps_opackets;          /* total output packets */
-};
-
-/*
- * Names for UDP sysctl objects
- */
-#define        UDPCTL_CHECKSUM         1       /* checksum UDP packets */
-#define UDPCTL_STATS           2       /* statistics (read-only) */
-#define        UDPCTL_MAXDGRAM         3       /* max datagram size */
-#define        UDPCTL_RECVSPACE        4       /* default receive buffer space */
-#define UDPCTL_MAXID           5
-
-#define UDPCTL_NAMES { \
-       { 0, 0 }, \
-       { "checksum", CTLTYPE_INT }, \
-       { "stats", CTLTYPE_STRUCT }, \
-       { "maxdgram", CTLTYPE_INT }, \
-       { "recvspace", CTLTYPE_INT }, \
-}
-
-#ifdef KERNEL
-extern struct  inpcbhead udb;
-extern struct  inpcbinfo udbinfo;
-extern struct  udpstat udpstat;
-
-void    udp_ctlinput __P((int, struct sockaddr *, struct ip *));
-void    udp_init __P((void));
-void    udp_input __P((struct mbuf *, int));
-int     udp_output __P((struct inpcb *,
-           struct mbuf *, struct mbuf *, struct mbuf *));
-int     udp_sysctl __P((int *, u_int, void *, size_t *, void *, size_t));
-int     udp_usrreq __P((struct socket *,
-           int, struct mbuf *, struct mbuf *, struct mbuf *));
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/buf.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/buf.h
deleted file mode 100644 (file)
index 3523331..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)buf.h       8.7 (Berkeley) 1/21/94
- */
-
-#ifndef _SYS_BUF_H_
-#define        _SYS_BUF_H_
-#include <sys/queue.h>
-
-#define NOLIST ((struct buf *)0x87654321)
-
-struct buf;
-
-struct iodone_chain {
-       long    ic_prev_flags;
-       void    (*ic_prev_iodone) __P((struct buf *));
-       void    *ic_prev_iodone_chain;
-       struct {
-               long    ia_long;
-               void    *ia_ptr;
-       }       ic_args[5];
-};
-
-/*
- * The buffer header describes an I/O operation in the kernel.
- */
-struct buf {
-       LIST_ENTRY(buf) b_hash;         /* Hash chain. */
-       LIST_ENTRY(buf) b_vnbufs;       /* Buffer's associated vnode. */
-       TAILQ_ENTRY(buf) b_freelist;    /* Free list position if not active. */
-       struct  buf *b_actf, **b_actb;  /* Device driver queue when active. */
-       struct  proc *b_proc;           /* Associated proc; NULL if kernel. */
-       volatile long   b_flags;        /* B_* flags. */
-       int     b_qindex;               /* buffer queue index */
-       int     b_error;                /* Errno value. */
-       long    b_bufsize;              /* Allocated buffer size. */
-       long    b_bcount;               /* Valid bytes in buffer. */
-       long    b_resid;                /* Remaining I/O. */
-       dev_t   b_dev;                  /* Device associated with buffer. */
-       struct {
-               caddr_t b_addr;         /* Memory, superblocks, indirect etc. */
-       } b_un;
-       void    *b_saveaddr;            /* Original b_addr for physio. */
-       daddr_t b_lblkno;               /* Logical block number. */
-       daddr_t b_blkno;                /* Underlying physical block number. */
-                                       /* Function to call upon completion. */
-       void    (*b_iodone) __P((struct buf *));
-                                       /* For nested b_iodone's. */
-       struct  iodone_chain *b_iodone_chain;
-       struct  vnode *b_vp;            /* Device vnode. */
-       int     b_pfcent;               /* Center page when swapping cluster. */
-       int     b_dirtyoff;             /* Offset in buffer of dirty region. */
-       int     b_dirtyend;             /* Offset of end of dirty region. */
-       struct  ucred *b_rcred;         /* Read credentials reference. */
-       struct  ucred *b_wcred;         /* Write credentials reference. */
-       int     b_validoff;             /* Offset in buffer of valid region. */
-       int     b_validend;             /* Offset of end of valid region. */
-       daddr_t b_pblkno;               /* physical block number */
-       caddr_t b_savekva;              /* saved kva for transfer while bouncing */
-       void    *b_driver1;             /* for private use by the driver */
-       void    *b_driver2;             /* for private use by the driver */
-       void    *b_spc;
-       struct  vm_page *b_pages[(MAXPHYS + PAGE_SIZE - 1)/PAGE_SIZE];
-       int             b_npages;
-};
-
-/* Device driver compatibility definitions. */
-#define        b_active b_bcount               /* Driver queue head: drive active. */
-#define        b_data   b_un.b_addr            /* b_un.b_addr is not changeable. */
-#define        b_errcnt b_resid                /* Retry count while I/O in progress. */
-#define        iodone   biodone                /* Old name for biodone. */
-#define        iowait   biowait                /* Old name for biowait. */
-
-/*
- * These flags are kept in b_flags.
- */
-#define        B_AGE           0x00000001      /* Move to age queue when I/O done. */
-#define        B_APPENDWRITE   0x00000002      /* Append-write in progress. */
-#define        B_ASYNC         0x00000004      /* Start I/O, do not wait. */
-#define        B_BAD           0x00000008      /* Bad block revectoring in progress. */
-#define        B_BUSY          0x00000010      /* I/O in progress. */
-#define        B_CACHE         0x00000020      /* Bread found us in the cache. */
-#define        B_CALL          0x00000040      /* Call b_iodone from biodone. */
-#define        B_DELWRI        0x00000080      /* Delay I/O until buffer reused. */
-#define        B_DIRTY         0x00000100      /* Dirty page to be pushed out async. */
-#define        B_DONE          0x00000200      /* I/O completed. */
-#define        B_EINTR         0x00000400      /* I/O was interrupted */
-#define        B_ERROR         0x00000800      /* I/O error occurred. */
-#define        B_GATHERED      0x00001000      /* LFS: already in a segment. */
-#define        B_INVAL         0x00002000      /* Does not contain valid info. */
-#define        B_LOCKED        0x00004000      /* Locked in core (not reusable). */
-#define        B_NOCACHE       0x00008000      /* Do not cache block after use. */
-#define        B_MALLOC        0x00010000      /* malloced b_data */
-#define        B_CLUSTEROK             0x00020000      /* Pagein op, so swap() can count it. */
-#define        B_PHYS          0x00040000      /* I/O to user memory. */
-#define        B_RAW           0x00080000      /* Set by physio for raw transfers. */
-#define        B_READ          0x00100000      /* Read buffer. */
-#define        B_TAPE          0x00200000      /* Magnetic tape I/O. */
-#define        B_RELBUF        0x00400000      /* Release VMIO buffer. */
-#define        B_WANTED        0x00800000      /* Process wants this buffer. */
-#define        B_WRITE         0x00000000      /* Write buffer (pseudo flag). */
-#define        B_WRITEINPROG   0x01000000      /* Write in progress. */
-#define        B_XXX           0x02000000      /* Debugging flag. */
-#define        B_PAGING        0x04000000      /* volatile paging I/O -- bypass VMIO */
-#define B_VMIO         0x20000000      /* VMIO flag */
-#define B_CLUSTER      0x40000000      /* pagein op, so swap() can count it */
-#define B_BOUNCE       0x80000000      /* bounce buffer flag */
-
-/*
- * This structure describes a clustered I/O.  It is stored in the b_saveaddr
- * field of the buffer on which I/O is done.  At I/O completion, cluster
- * callback uses the structure to parcel I/O's to individual buffers, and
- * then free's this structure.
- */
-struct cluster_save {
-       long    bs_bcount;              /* Saved b_bcount. */
-       long    bs_bufsize;             /* Saved b_bufsize. */
-       void    *bs_saveaddr;           /* Saved b_addr. */
-       int     bs_nchildren;           /* Number of associated buffers. */
-       struct buf **bs_children;       /* List of associated buffers. */
-};
-
-/*
- * number of buffer hash entries
- */
-#define BUFHSZ 512
-
-/*
- * buffer hash table calculation, originally by David Greenman
- */
-#define BUFHASH(vnp, bn)        \
-       (&bufhashtbl[(((unsigned long)(vnp) >> 7)+(int)(bn)) % BUFHSZ])
-
-/*
- * Definitions for the buffer free lists.
- */
-#define BUFFER_QUEUES  6       /* number of free buffer queues */
-
-LIST_HEAD(bufhashhdr, buf) bufhashtbl[BUFHSZ], invalhash;
-TAILQ_HEAD(bqueues, buf) bufqueues[BUFFER_QUEUES];
-
-#define QUEUE_NONE     0       /* on no queue */
-#define QUEUE_LOCKED   1       /* locked buffers */
-#define QUEUE_LRU      2       /* useful buffers */
-#define QUEUE_VMIO     3       /* VMIO buffers */
-#define QUEUE_AGE      4       /* not-useful buffers */
-#define QUEUE_EMPTY    5       /* empty buffer headers*/
-
-/*
- * Zero out the buffer's data area.
- */
-#define        clrbuf(bp) {                                                    \
-       blkclr((bp)->b_data, (u_int)(bp)->b_bcount);                    \
-       (bp)->b_resid = 0;                                              \
-}
-
-/* Flags to low-level allocation routines. */
-#define B_CLRBUF       0x01    /* Request allocated buffer be cleared. */
-#define B_SYNC         0x02    /* Do all allocations synchronously. */
-
-#ifdef KERNEL
-extern int     nbuf;                   /* The number of buffer headers */
-extern struct  buf *buf;               /* The buffer headers. */
-extern char    *buffers;               /* The buffer contents. */
-extern int     bufpages;               /* Number of memory pages in the buffer pool. */
-extern struct  buf *swbuf;             /* Swap I/O buffer headers. */
-extern int     nswbuf;                 /* Number of swap I/O buffer headers. */
-extern TAILQ_HEAD(swqueue, buf) bswlist;
-
-__BEGIN_DECLS
-void   bufinit __P((void));
-void   bremfree __P((struct buf *));
-int    bread __P((struct vnode *, daddr_t, int,
-           struct ucred *, struct buf **));
-int    breadn __P((struct vnode *, daddr_t, int, daddr_t *, int *, int,
-           struct ucred *, struct buf **));
-int    bwrite __P((struct buf *));
-void   bdwrite __P((struct buf *));
-void   bawrite __P((struct buf *));
-void   brelse __P((struct buf *));
-void   vfs_bio_awrite __P((struct buf *));
-struct buf *     getpbuf __P((void));
-struct buf *incore __P((struct vnode *, daddr_t));
-int    inmem __P((struct vnode *, daddr_t));
-struct buf *getblk __P((struct vnode *, daddr_t, int, int, int));
-struct buf *geteblk __P((int));
-int allocbuf __P((struct buf *, int));
-int    biowait __P((struct buf *));
-void   biodone __P((struct buf *));
-
-void   cluster_callback __P((struct buf *));
-int    cluster_read __P((struct vnode *, u_quad_t, daddr_t, long,
-           struct ucred *, struct buf **));
-void   cluster_wbuild __P((struct vnode *, struct buf *, long, daddr_t, int,
-           daddr_t));
-void   cluster_write __P((struct buf *, u_quad_t));
-int    physio __P((void (*)(), struct buf *, dev_t, int, u_int (*)(),
-           struct uio *));
-u_int  minphys __P((struct buf *));
-void   vfs_bio_clrbuf __P((struct buf *));
-void   vfs_busy_pages __P((struct buf *, int clear_modify));
-void   vfs_unbusy_pages(struct buf *);
-void   vwakeup __P((struct buf *));
-void   vmapbuf __P((struct buf *));
-void   vunmapbuf __P((struct buf *));
-void   relpbuf __P((struct buf *));
-void   brelvp __P((struct buf *));
-void   bgetvp __P((struct vnode *, struct buf *));
-void   pbgetvp __P((struct vnode *, struct buf *));
-void   pbrelvp __P((struct buf *));
-void   reassignbuf __P((struct buf *, struct vnode *));
-struct buf *trypbuf __P((void));
-void   vm_bounce_alloc __P((struct buf *));
-void   vm_bounce_free __P((struct buf *));
-vm_offset_t    vm_bounce_kva_alloc __P((int));
-void   vm_bounce_kva_alloc_free __P((vm_offset_t, int));
-__END_DECLS
-#endif
-#endif /* !_SYS_BUF_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/callout.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/callout.h
deleted file mode 100644 (file)
index 76d7519..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)callout.h   8.2 (Berkeley) 1/21/94
- */
-
-#ifndef _SYS_CALLOUT_H_
-#define _SYS_CALLOUT_H_
-
-struct callout {
-       struct  callout *c_next;                /* next callout in queue */
-       void    *c_arg;                         /* function argument */
-       void    (*c_func) __P((void *));        /* function to call */
-       int     c_time;                         /* ticks to the event */
-};
-
-#ifdef KERNEL
-extern struct  callout *callfree, *callout, calltodo;
-extern int     ncallout;
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/cdefs.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/cdefs.h
deleted file mode 100644 (file)
index 99d44c7..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Berkeley Software Design, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)cdefs.h     8.7 (Berkeley) 1/21/94
- */
-
-#ifndef        _SYS_CDEFS_H_
-#define        _SYS_CDEFS_H_
-
-#if defined(__cplusplus)
-#define        __BEGIN_DECLS   extern "C" {
-#define        __END_DECLS     };
-#else
-#define        __BEGIN_DECLS
-#define        __END_DECLS
-#endif
-
-/*
- * The __CONCAT macro is used to concatenate parts of symbol names, e.g.
- * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
- * The __CONCAT macro is a bit tricky -- make sure you don't put spaces
- * in between its arguments.  __CONCAT can also concatenate double-quoted
- * strings produced by the __STRING macro, but this only works with ANSI C.
- */
-#if defined(__STDC__) || defined(__cplusplus)
-#define        __P(protos)     protos          /* full-blown ANSI C */
-#define        __CONCAT1(x,y)  x ## y
-#define        __CONCAT(x,y)   __CONCAT1(x,y)
-#define        __STRING(x)     #x
-
-#define        __const         const           /* define reserved names to standard */
-#define        __signed        signed
-#define        __volatile      volatile
-#if defined(__cplusplus)
-#define        __inline        inline          /* convert to C++ keyword */
-#else
-#ifndef __GNUC__
-#define        __inline                        /* delete GCC keyword */
-#endif /* !__GNUC__ */
-#endif /* !__cplusplus */
-
-#else  /* !(__STDC__ || __cplusplus) */
-#define        __P(protos)     ()              /* traditional C preprocessor */
-#define        __CONCAT(x,y)   x/**/y
-#define        __STRING(x)     "x"
-
-#ifndef __GNUC__
-#define        __const                         /* delete pseudo-ANSI C keywords */
-#define        __inline
-#define        __signed
-#define        __volatile
-/*
- * In non-ANSI C environments, new programs will want ANSI-only C keywords
- * deleted from the program and old programs will want them left alone.
- * When using a compiler other than gcc, programs using the ANSI C keywords
- * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
- * When using "gcc -traditional", we assume that this is the intent; if
- * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
- */
-#ifndef        NO_ANSI_KEYWORDS
-#define        const                           /* delete ANSI C keywords */
-#define        inline
-#define        signed
-#define        volatile
-#endif
-#endif /* !NO_ANSI_KEYWORDS */
-#endif /* !(__STDC__ || __cplusplus) */
-
-/*
- * GCC1 and some versions of GCC2 declare dead (non-returning) and
- * pure (no side effects) functions using "volatile" and "const";
- * unfortunately, these then cause warnings under "-ansi -pedantic".
- * GCC2.5 uses a new, peculiar __attribute__((attrs)) style.  All of
- * these work for GNU C++ (modulo a slight glitch in the C++ grammar
- * in the distribution version of 2.5.5).
- */
-#if __GNUC__ < 2
-#define __dead
-#define __dead2
-#define __pure
-#define __pure2
-#define        __attribute__(x)
-#endif
-#if __GNUC__ == 2 && __GNUC_MINOR__ < 5
-#define        __dead          __volatile
-#define __dead2
-#define        __pure          __const
-#define __pure2
-#endif
-#if __GNUC__ == 2 && __GNUC_MINOR__ > 5 || __GNUC__ >= 3
-#define __dead
-#define __dead2                __attribute__((noreturn))
-#define __pure
-#define __pure2                __attribute__((const))
-#endif
-
-#ifdef __GNUC__
-#ifdef __STDC__
-#define __weak_reference(sym,alias)    \
-       __asm__(".stabs \"_" #alias "\",11,0,0,0");     \
-       __asm__(".stabs \"_" #sym "\",1,0,0,0")
-#define __warn_references(sym,msg)     \
-       __asm__(".stabs \"" msg "\",30,0,0,0");         \
-       __asm__(".stabs \"_" #sym "\",1,0,0,0")
-#else
-#define __weak_reference(sym,alias)    \
-       __asm__(".stabs \"_/**/alias\",11,0,0,0");      \
-       __asm__(".stabs \"_/**/sym\",1,0,0,0")
-#define __warn_references(sym,msg)     \
-       __asm__(".stabs msg,30,0,0,0");                 \
-       __asm__(".stabs \"_/**/sym\",1,0,0,0")
-#endif
-#endif
-
-#endif /* !_SYS_CDEFS_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/domain.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/domain.h
deleted file mode 100644 (file)
index 5c8e441..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)domain.h    8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_DOMAIN_H_
-#define _SYS_DOMAIN_H_
-
-/*
- * Structure per communications domain.
- */
-
-/*
- * Forward structure declarations for function prototypes [sic].
- */
-struct mbuf;
-
-struct domain {
-       int     dom_family;             /* AF_xxx */
-       char    *dom_name;
-       void    (*dom_init)             /* initialize domain data structures */
-               __P((void));
-       int     (*dom_externalize)      /* externalize access rights */
-               __P((struct mbuf *));
-       int     (*dom_dispose)          /* dispose of internalized rights */
-               __P((struct mbuf *));
-       struct  protosw *dom_protosw, *dom_protoswNPROTOSW;
-       struct  domain *dom_next;
-       int     (*dom_rtattach)         /* initialize routing table */
-               __P((void **, int));
-       int     dom_rtoffset;           /* an arg to rtattach, in bits */
-       int     dom_maxrtkey;           /* for routing layer */
-};
-
-#ifdef KERNEL
-extern struct  domain *domains;
-
-#define DOMAIN_SET(name) \
-       DATA_SET(domain_set, name ## domain);
-
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/errno.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/errno.h
deleted file mode 100644 (file)
index 0fd2fd7..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)errno.h     8.5 (Berkeley) 1/21/94
- */
-
-#ifndef _SYS_ERRNO_H_
-#define _SYS_ERRNO_H_
-
-#ifndef KERNEL
-extern int errno;                      /* global error number */
-#endif
-
-#define        EPERM           1               /* Operation not permitted */
-#define        ENOENT          2               /* No such file or directory */
-#define        ESRCH           3               /* No such process */
-#define        EINTR           4               /* Interrupted system call */
-#define        EIO             5               /* Input/output error */
-#define        ENXIO           6               /* Device not configured */
-#define        E2BIG           7               /* Argument list too long */
-#define        ENOEXEC         8               /* Exec format error */
-#define        EBADF           9               /* Bad file descriptor */
-#define        ECHILD          10              /* No child processes */
-#define        EDEADLK         11              /* Resource deadlock avoided */
-                                       /* 11 was EAGAIN */
-#define        ENOMEM          12              /* Cannot allocate memory */
-#define        EACCES          13              /* Permission denied */
-#define        EFAULT          14              /* Bad address */
-#ifndef _POSIX_SOURCE
-#define        ENOTBLK         15              /* Block device required */
-#endif
-#define        EBUSY           16              /* Device busy */
-#define        EEXIST          17              /* File exists */
-#define        EXDEV           18              /* Cross-device link */
-#define        ENODEV          19              /* Operation not supported by device */
-#define        ENOTDIR         20              /* Not a directory */
-#define        EISDIR          21              /* Is a directory */
-#define        EINVAL          22              /* Invalid argument */
-#define        ENFILE          23              /* Too many open files in system */
-#define        EMFILE          24              /* Too many open files */
-#define        ENOTTY          25              /* Inappropriate ioctl for device */
-#ifndef _POSIX_SOURCE
-#define        ETXTBSY         26              /* Text file busy */
-#endif
-#define        EFBIG           27              /* File too large */
-#define        ENOSPC          28              /* No space left on device */
-#define        ESPIPE          29              /* Illegal seek */
-#define        EROFS           30              /* Read-only file system */
-#define        EMLINK          31              /* Too many links */
-#define        EPIPE           32              /* Broken pipe */
-
-/* math software */
-#define        EDOM            33              /* Numerical argument out of domain */
-#define        ERANGE          34              /* Result too large */
-
-/* non-blocking and interrupt i/o */
-#define        EAGAIN          35              /* Resource temporarily unavailable */
-#ifndef _POSIX_SOURCE
-#define        EWOULDBLOCK     EAGAIN          /* Operation would block */
-#define        EINPROGRESS     36              /* Operation now in progress */
-#define        EALREADY        37              /* Operation already in progress */
-
-/* ipc/network software -- argument errors */
-#define        ENOTSOCK        38              /* Socket operation on non-socket */
-#define        EDESTADDRREQ    39              /* Destination address required */
-#define        EMSGSIZE        40              /* Message too long */
-#define        EPROTOTYPE      41              /* Protocol wrong type for socket */
-#define        ENOPROTOOPT     42              /* Protocol not available */
-#define        EPROTONOSUPPORT 43              /* Protocol not supported */
-#define        ESOCKTNOSUPPORT 44              /* Socket type not supported */
-#define        EOPNOTSUPP      45              /* Operation not supported */
-#define        EPFNOSUPPORT    46              /* Protocol family not supported */
-#define        EAFNOSUPPORT    47              /* Address family not supported by protocol family */
-#define        EADDRINUSE      48              /* Address already in use */
-#define        EADDRNOTAVAIL   49              /* Can't assign requested address */
-
-/* ipc/network software -- operational errors */
-#define        ENETDOWN        50              /* Network is down */
-#define        ENETUNREACH     51              /* Network is unreachable */
-#define        ENETRESET       52              /* Network dropped connection on reset */
-#define        ECONNABORTED    53              /* Software caused connection abort */
-#define        ECONNRESET      54              /* Connection reset by peer */
-#define        ENOBUFS         55              /* No buffer space available */
-#define        EISCONN         56              /* Socket is already connected */
-#define        ENOTCONN        57              /* Socket is not connected */
-#define        ESHUTDOWN       58              /* Can't send after socket shutdown */
-#define        ETOOMANYREFS    59              /* Too many references: can't splice */
-#define        ETIMEDOUT       60              /* Operation timed out */
-#define        ECONNREFUSED    61              /* Connection refused */
-
-#define        ELOOP           62              /* Too many levels of symbolic links */
-#endif /* _POSIX_SOURCE */
-#define        ENAMETOOLONG    63              /* File name too long */
-
-/* should be rearranged */
-#ifndef _POSIX_SOURCE
-#define        EHOSTDOWN       64              /* Host is down */
-#define        EHOSTUNREACH    65              /* No route to host */
-#endif /* _POSIX_SOURCE */
-#define        ENOTEMPTY       66              /* Directory not empty */
-
-/* quotas & mush */
-#ifndef _POSIX_SOURCE
-#define        EPROCLIM        67              /* Too many processes */
-#define        EUSERS          68              /* Too many users */
-#define        EDQUOT          69              /* Disc quota exceeded */
-
-/* Network File System */
-#define        ESTALE          70              /* Stale NFS file handle */
-#define        EREMOTE         71              /* Too many levels of remote in path */
-#define        EBADRPC         72              /* RPC struct is bad */
-#define        ERPCMISMATCH    73              /* RPC version wrong */
-#define        EPROGUNAVAIL    74              /* RPC prog. not avail */
-#define        EPROGMISMATCH   75              /* Program version wrong */
-#define        EPROCUNAVAIL    76              /* Bad procedure for program */
-#endif /* _POSIX_SOURCE */
-
-#define        ENOLCK          77              /* No locks available */
-#define        ENOSYS          78              /* Function not implemented */
-
-#ifndef _POSIX_SOURCE
-#define        EFTYPE          79              /* Inappropriate file type or format */
-#define        EAUTH           80              /* Authentication error */
-#define        ENEEDAUTH       81              /* Need authenticator */
-#define        ELAST           81              /* Must be equal largest errno */
-#endif /* _POSIX_SOURCE */
-
-#ifdef KERNEL
-/* pseudo-errors returned inside kernel to modify return to process */
-#define        ERESTART        -1              /* restart syscall */
-#define        EJUSTRETURN     -2              /* don't modify regs, just return */
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/fcntl.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/fcntl.h
deleted file mode 100644 (file)
index 62762f3..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*-
- * Copyright (c) 1983, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)fcntl.h     8.3 (Berkeley) 1/21/94
- */
-
-#ifndef _SYS_FCNTL_H_
-#define        _SYS_FCNTL_H_
-
-/*
- * This file includes the definitions for open and fcntl
- * described by POSIX for <fcntl.h>; it also includes
- * related kernel definitions.
- */
-
-#ifndef KERNEL
-#include <sys/types.h>
-#endif
-
-/*
- * File status flags: these are used by open(2), fcntl(2).
- * They are also used (indirectly) in the kernel file structure f_flags,
- * which is a superset of the open/fcntl flags.  Open flags and f_flags
- * are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags).
- * Open/fcntl flags begin with O_; kernel-internal flags begin with F.
- */
-/* open-only flags */
-#define        O_RDONLY        0x0000          /* open for reading only */
-#define        O_WRONLY        0x0001          /* open for writing only */
-#define        O_RDWR          0x0002          /* open for reading and writing */
-#define        O_ACCMODE       0x0003          /* mask for above modes */
-
-/*
- * Kernel encoding of open mode; separate read and write bits that are
- * independently testable: 1 greater than the above.
- *
- * XXX
- * FREAD and FWRITE are excluded from the #ifdef KERNEL so that TIOCFLUSH,
- * which was documented to use FREAD/FWRITE, continues to work.
- */
-#ifndef _POSIX_SOURCE
-#define        FREAD           0x0001
-#define        FWRITE          0x0002
-#endif
-#define        O_NONBLOCK      0x0004          /* no delay */
-#define        O_APPEND        0x0008          /* set append mode */
-#ifndef _POSIX_SOURCE
-#define        O_SHLOCK        0x0010          /* open with shared file lock */
-#define        O_EXLOCK        0x0020          /* open with exclusive file lock */
-#define        O_ASYNC         0x0040          /* signal pgrp when data ready */
-#define        O_FSYNC         0x0080          /* synchronous writes */
-#endif
-#define        O_CREAT         0x0200          /* create if nonexistant */
-#define        O_TRUNC         0x0400          /* truncate to zero length */
-#define        O_EXCL          0x0800          /* error if already exists */
-#ifdef KERNEL
-#define        FMARK           0x1000          /* mark during gc() */
-#define        FDEFER          0x2000          /* defer for next gc pass */
-#define        FHASLOCK        0x4000          /* descriptor holds advisory lock */
-#endif
-
-/* defined by POSIX 1003.1; BSD default, so no bit required */
-#define        O_NOCTTY        0               /* don't assign controlling terminal */
-
-#ifdef KERNEL
-/* convert from open() flags to/from fflags; convert O_RD/WR to FREAD/FWRITE */
-#define        FFLAGS(oflags)  ((oflags) + 1)
-#define        OFLAGS(fflags)  ((fflags) - 1)
-
-/* bits to save after open */
-#define        FMASK           (FREAD|FWRITE|FAPPEND|FASYNC|FFSYNC|FNONBLOCK)
-/* bits settable by fcntl(F_SETFL, ...) */
-#define        FCNTLFLAGS      (FAPPEND|FASYNC|FFSYNC|FNONBLOCK)
-#endif
-
-/*
- * The O_* flags used to have only F* names, which were used in the kernel
- * and by fcntl.  We retain the F* names for the kernel f_flags field
- * and for backward compatibility for fcntl.
- */
-#ifndef _POSIX_SOURCE
-#define        FAPPEND         O_APPEND        /* kernel/compat */
-#define        FASYNC          O_ASYNC         /* kernel/compat */
-#define        FFSYNC          O_FSYNC         /* kernel */
-#define        FNONBLOCK       O_NONBLOCK      /* kernel */
-#define        FNDELAY         O_NONBLOCK      /* compat */
-#define        O_NDELAY        O_NONBLOCK      /* compat */
-#endif
-
-/*
- * Constants used for fcntl(2)
- */
-
-/* command values */
-#define        F_DUPFD         0               /* duplicate file descriptor */
-#define        F_GETFD         1               /* get file descriptor flags */
-#define        F_SETFD         2               /* set file descriptor flags */
-#define        F_GETFL         3               /* get file status flags */
-#define        F_SETFL         4               /* set file status flags */
-#ifndef _POSIX_SOURCE
-#define        F_GETOWN        5               /* get SIGIO/SIGURG proc/pgrp */
-#define F_SETOWN       6               /* set SIGIO/SIGURG proc/pgrp */
-#endif
-#define        F_GETLK         7               /* get record locking information */
-#define        F_SETLK         8               /* set record locking information */
-#define        F_SETLKW        9               /* F_SETLK; wait if blocked */
-
-/* file descriptor flags (F_GETFD, F_SETFD) */
-#define        FD_CLOEXEC      1               /* close-on-exec flag */
-
-/* record locking flags (F_GETLK, F_SETLK, F_SETLKW) */
-#define        F_RDLCK         1               /* shared or read lock */
-#define        F_UNLCK         2               /* unlock */
-#define        F_WRLCK         3               /* exclusive or write lock */
-#ifdef KERNEL
-#define        F_WAIT          0x010           /* Wait until lock is granted */
-#define        F_FLOCK         0x020           /* Use flock(2) semantics for lock */
-#define        F_POSIX         0x040           /* Use POSIX semantics for lock */
-#endif
-
-/*
- * Advisory file segment locking data type -
- * information passed to system by user
- */
-struct flock {
-       off_t   l_start;        /* starting offset */
-       off_t   l_len;          /* len = 0 means until end of file */
-       pid_t   l_pid;          /* lock owner */
-       short   l_type;         /* lock type: read/write, etc. */
-       short   l_whence;       /* type of l_start */
-};
-
-
-#ifndef _POSIX_SOURCE
-/* lock operations for flock(2) */
-#define        LOCK_SH         0x01            /* shared file lock */
-#define        LOCK_EX         0x02            /* exclusive file lock */
-#define        LOCK_NB         0x04            /* don't block when locking */
-#define        LOCK_UN         0x08            /* unlock file */
-#endif
-
-
-#ifndef KERNEL
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int    open __P((const char *, int, ...));
-int    creat __P((const char *, mode_t));
-int    fcntl __P((int, int, ...));
-#ifndef _POSIX_SOURCE
-int    flock __P((int, int));
-#endif /* !_POSIX_SOURCE */
-__END_DECLS
-#endif
-
-#endif /* !_SYS_FCNTL_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/file.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/file.h
deleted file mode 100644 (file)
index 6f12260..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)file.h      8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_FILE_H_
-#define _SYS_FILE_H_
-
-#include <sys/fcntl.h>
-#include <sys/unistd.h>
-
-#ifdef KERNEL
-struct proc;
-struct uio;
-
-/*
- * Kernel descriptor table.
- * One entry for each open kernel vnode and socket.
- */
-struct file {
-       struct  file *f_filef;  /* list of active files */
-       struct  file **f_fileb; /* list of active files */
-       short   f_flag;         /* see fcntl.h */
-#define        DTYPE_VNODE     1       /* file */
-#define        DTYPE_SOCKET    2       /* communications endpoint */
-       short   f_type;         /* descriptor type */
-       short   f_count;        /* reference count */
-       short   f_msgcount;     /* references from message queue */
-       struct  ucred *f_cred;  /* credentials associated with descriptor */
-       struct  fileops {
-               int     (*fo_read)      __P((struct file *fp, struct uio *uio,
-                                           struct ucred *cred));
-               int     (*fo_write)     __P((struct file *fp, struct uio *uio,
-                                           struct ucred *cred));
-               int     (*fo_ioctl)     __P((struct file *fp, int com,
-                                           caddr_t data, struct proc *p));
-               int     (*fo_select)    __P((struct file *fp, int which,
-                                           struct proc *p));
-               int     (*fo_close)     __P((struct file *fp, struct proc *p));
-       } *f_ops;
-       off_t   f_offset;
-       caddr_t f_data;         /* vnode or socket */
-};
-
-extern struct file *filehead;  /* head of list of open files */
-extern struct fileops vnops;
-extern int maxfiles;           /* kernel limit on number of open files */
-extern int maxfilesperproc;    /* per process limit on number of open files */
-extern int nfiles;             /* actual number of open files */
-
-#endif /* KERNEL */
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/filedesc.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/filedesc.h
deleted file mode 100644 (file)
index 4b0dec7..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)filedesc.h  8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_FILEDESC_H_
-#define _SYS_FILEDESC_H_
-
-/*
- * This structure is used for the management of descriptors.  It may be
- * shared by multiple processes.
- *
- * A process is initially started out with NDFILE descriptors stored within
- * this structure, selected to be enough for typical applications based on
- * the historical limit of 20 open files (and the usage of descriptors by
- * shells).  If these descriptors are exhausted, a larger descriptor table
- * may be allocated, up to a process' resource limit; the internal arrays
- * are then unused.  The initial expansion is set to NDEXTENT; each time
- * it runs out, it is doubled until the resource limit is reached. NDEXTENT
- * should be selected to be the biggest multiple of OFILESIZE (see below)
- * that will fit in a power-of-two sized piece of memory.
- */
-#define NDFILE         20
-#define NDEXTENT       50              /* 250 bytes in 256-byte alloc. */
-
-struct filedesc {
-       struct  file **fd_ofiles;       /* file structures for open files */
-       char    *fd_ofileflags;         /* per-process open file flags */
-       struct  vnode *fd_cdir;         /* current directory */
-       struct  vnode *fd_rdir;         /* root directory */
-       int     fd_nfiles;              /* number of open files allocated */
-       u_short fd_lastfile;            /* high-water mark of fd_ofiles */
-       u_short fd_freefile;            /* approx. next free file */
-       u_short fd_cmask;               /* mask for file creation */
-       u_short fd_refcnt;              /* reference count */
-};
-
-/*
- * Basic allocation of descriptors:
- * one of the above, plus arrays for NDFILE descriptors.
- */
-struct filedesc0 {
-       struct  filedesc fd_fd;
-       /*
-        * These arrays are used when the number of open files is
-        * <= NDFILE, and are then pointed to by the pointers above.
-        */
-       struct  file *fd_dfiles[NDFILE];
-       char    fd_dfileflags[NDFILE];
-};
-
-/*
- * Per-process open flags.
- */
-#define        UF_EXCLOSE      0x01            /* auto-close on exec */
-#define        UF_MAPPED       0x02            /* mapped from device */
-
-/*
- * Storage required per open file descriptor.
- */
-#define OFILESIZE (sizeof(struct file *) + sizeof(char))
-
-#ifdef KERNEL
-/*
- * Kernel global variables and routines.
- */
-int    dupfdopen __P((struct filedesc *, int, int, int, int));
-int    fdalloc __P((struct proc *p, int want, int *result));
-int    fdavail __P((struct proc *p, int n));
-int    falloc __P((struct proc *p, struct file **resultfp, int *resultfd));
-void   ffree __P((struct file *));
-struct filedesc *fdcopy __P((struct proc *p));
-void   fdfree __P((struct proc *p));
-int    closef __P((struct file *fp,struct proc *p));
-void   fdcloseexec __P((struct proc *p));
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/filio.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/filio.h
deleted file mode 100644 (file)
index c1566c2..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)filio.h     8.1 (Berkeley) 3/28/94
- */
-
-#ifndef        _SYS_FILIO_H_
-#define        _SYS_FILIO_H_
-
-#ifndef __REACTOS__
-#include <sys/ioccom.h>
-
-/* Generic file-descriptor ioctl's. */
-#define        FIOCLEX          _IO('f', 1)            /* set close on exec on fd */
-#define        FIONCLEX         _IO('f', 2)            /* remove close on exec */
-#define        FIONREAD        _IOR('f', 127, int)     /* get # bytes to read */
-#define        FIONBIO         _IOW('f', 126, int)     /* set/clear non-blocking i/o */
-#define        FIOASYNC        _IOW('f', 125, int)     /* set/clear async i/o */
-#define        FIOSETOWN       _IOW('f', 124, int)     /* set owner */
-#define        FIOGETOWN       _IOR('f', 123, int)     /* get owner */
-#endif
-
-#endif /* !_SYS_FILIO_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/ioccom.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/ioccom.h
deleted file mode 100644 (file)
index 355df44..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ioccom.h    8.2 (Berkeley) 3/28/94
- */
-
-#ifndef        _SYS_IOCCOM_H_
-#define        _SYS_IOCCOM_H_
-
-/*
- * Ioctl's have the command encoded in the lower word, and the size of
- * any in or out parameters in the upper word.  The high 3 bits of the
- * upper word are used to encode the in/out status of the parameter.
- */
-#ifndef __REACTOS__
-#define        IOCPARM_MASK    0x1fff          /* parameter length, at most 13 bits */
-#define        IOCPARM_LEN(x)  (((x) >> 16) & IOCPARM_MASK)
-#define        IOCBASECMD(x)   ((x) & ~(IOCPARM_MASK << 16))
-#define        IOCGROUP(x)     (((x) >> 8) & 0xff)
-#endif
-
-#define        IOCPARM_MAX     NBPG            /* max size of ioctl, mult. of NBPG */
-#define        IOC_VOID        0x20000000      /* no parameters */
-#define        IOC_OUT         0x40000000      /* copy out parameters */
-#define        IOC_IN          0x80000000      /* copy in parameters */
-#define        IOC_INOUT       (IOC_IN|IOC_OUT)
-#define        IOC_DIRMASK     0xe0000000      /* mask for IN/OUT/VOID */
-
-#ifndef __REACTOS__
-#define        _IOC(inout,group,num,len) \
-       (inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num))
-#define        _IO(g,n)        _IOC(IOC_VOID,  (g), (n), 0)
-#define        _IOR(g,n,t)     _IOC(IOC_OUT,   (g), (n), sizeof(t))
-#define        _IOW(g,n,t)     _IOC(IOC_IN,    (g), (n), sizeof(t))
-/* this should be _IORW, but stdio got there first */
-#define        _IOWR(g,n,t)    _IOC(IOC_INOUT, (g), (n), sizeof(t))
-#endif
-
-#endif /* !_SYS_IOCCOM_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/ioctl.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/ioctl.h
deleted file mode 100644 (file)
index d04394f..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ioctl.h     8.6 (Berkeley) 3/28/94
- */
-
-#ifndef        _SYS_IOCTL_H_
-#define        _SYS_IOCTL_H_
-
-#include <sys/ttycom.h>
-
-/*
- * Pun for SunOS prior to 3.2.  SunOS 3.2 and later support TIOCGWINSZ
- * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented
- * nonwithstanding).
- */
-struct ttysize {
-       unsigned short  ts_lines;
-       unsigned short  ts_cols;
-       unsigned short  ts_xxx;
-       unsigned short  ts_yyy;
-};
-#define        TIOCGSIZE       TIOCGWINSZ
-#define        TIOCSSIZE       TIOCSWINSZ
-
-#include <sys/ioccom.h>
-
-#include <sys/filio.h>
-#include <sys/sockio.h>
-
-#ifndef KERNEL
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int    ioctl __P((int, unsigned long, ...));
-__END_DECLS
-#endif /* !KERNEL */
-#endif /* !_SYS_IOCTL_H_ */
-
-/*
- * Keep outside _SYS_IOCTL_H_
- * Compatability with old terminal driver
- *
- * Source level -> #define USE_OLD_TTY
- * Kernel level -> options COMPAT_43 or COMPAT_SUNOS
- */
-#if defined(USE_OLD_TTY) || defined(COMPAT_43) || defined(COMPAT_SUNOS)
-#include <sys/ioctl_compat.h>
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/kernel.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/kernel.h
deleted file mode 100644 (file)
index 530fd7f..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)kernel.h    8.3 (Berkeley) 1/21/94
- * $\Id: kernel.h,v 1.9 1995/03/20 19:20:26 wollman Exp $
- */
-
-#ifndef _SYS_KERNEL_H_
-#define _SYS_KERNEL_H_
-
-/* Global variables for the kernel. */
-
-/* 1.1 */
-extern long hostid;
-extern char hostname[MAXHOSTNAMELEN];
-extern int hostnamelen;
-extern char domainname[MAXHOSTNAMELEN];
-extern int domainnamelen;
-extern char kernelname[MAXPATHLEN];
-
-/* 1.2 */
-extern volatile struct timeval mono_time;
-extern struct timeval boottime;
-extern struct timeval runtime;
-extern volatile struct timeval time;
-extern struct timezone tz;                     /* XXX */
-
-extern int tick;                       /* usec per tick (1000000 / hz) */
-extern int hz;                         /* system clock's frequency */
-extern int stathz;                     /* statistics clock's frequency */
-extern int profhz;                     /* profiling clock's frequency */
-extern int ticks;
-extern int lbolt;                      /* once a second sleep address */
-extern int tickdelta;
-extern long timedelta;
-
-/*
- * The following macros are used to declare global sets of objects, which
- * are collected by the linker into a `struct linker_set' as defined below.
- *
- * NB: the constants defined below must match those defined in
- * ld/ld.h.  Since their calculation requires arithmetic, we
- * can't name them symbolically (e.g., 23 is N_SETT | N_EXT).
- */
-#define MAKE_SET(set, sym, type) \
-       asm(".stabs \"_" #set "\", " #type ", 0, 0, _" #sym)
-#define TEXT_SET(set, sym) MAKE_SET(set, sym, 23)
-#define DATA_SET(set, sym) MAKE_SET(set, sym, 25)
-#define BSS_SET(set, sym)  MAKE_SET(set, sym, 27)
-#define ABS_SET(set, sym)  MAKE_SET(set, sym, 21)
-
-#ifdef PSEUDO_LKM
-#include <sys/conf.h>
-#include <sys/exec.h>
-#include <sys/sysent.h>
-#include <sys/lkm.h>
-
-#define PSEUDO_SET(init, name) \
-       extern struct linker_set MODVNOPS; \
-       MOD_MISC(#name); \
-        int name ## _load(struct lkm_table *lkmtp, int cmd) \
-               { init(); return 0; } \
-       int name ## _unload(struct lkm_table *lkmtp, int cmd) \
-               { return EINVAL; } \
-       int \
-       name ## _mod(struct lkm_table *lkmtp, int cmd, int ver) { \
-               DISPATCH(lkmtp, cmd, ver, name ## _load, name ## _unload, \
-                        nosys); }
-#else /* PSEUDO_LKM */
-
-#define PSEUDO_SET(sym, name)     TEXT_SET(pseudo_set, sym)
-
-#endif /* PSEUDO_LKM */
-
-struct linker_set {
-       int ls_length;
-       caddr_t ls_items[1];    /* really ls_length of them, trailing NULL */
-};
-
-extern const struct linker_set execsw_set;
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/libkern.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/libkern.h
deleted file mode 100644 (file)
index e31b516..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)libkern.h   8.1 (Berkeley) 6/10/93
- */
-
-#include <sys/types.h>
-
-static __inline int imax(int a, int b) { return (a > b ? a : b); }
-static __inline int imin(int a, int b) { return (a < b ? a : b); }
-static __inline long lmax(long a, long b) { return (a > b ? a : b); }
-static __inline long lmin(long a, long b) { return (a < b ? a : b); }
-static __inline u_int max(u_int a, u_int b) { return (a > b ? a : b); }
-static __inline u_int min(u_int a, u_int b) { return (a < b ? a : b); }
-static __inline quad_t qmax(quad_t a, quad_t b) { return (a > b ? a : b); }
-static __inline quad_t qmin(quad_t a, quad_t b) { return (a < b ? a : b); }
-static __inline u_long ulmax(u_long a, u_long b) { return (a > b ? a : b); }
-static __inline u_long ulmin(u_long a, u_long b) { return (a < b ? a : b); }
-
-/* Prototypes for non-quad routines. */
-int     bcmp __P((const void *, const void *, size_t));
-#ifndef HAVE_INLINE_FFS
-int     ffs __P((int));
-#endif
-int     locc __P((int, char *, u_int));
-u_long  random __P((void));
-char   *rindex __P((const char *, int));
-int     scanc __P((u_int, u_char *, u_char *, int));
-int     skpc __P((int, int, char *));
-char   *strcat __P((char *, const char *));
-int     strcmp __P((const char *, const char *));
-char   *strcpy __P((char *, const char *));
-size_t  strlen __P((const char *));
-int     strncmp __P((const char *, const char *, size_t));
-char   *strncpy __P((char *, const char *, size_t));
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/malloc.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/malloc.h
deleted file mode 100644 (file)
index d21a919..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * Copyright (c) 1987, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)malloc.h    8.3 (Berkeley) 1/12/94
- */
-
-#ifndef _SYS_MALLOC_H_
-#define        _SYS_MALLOC_H_
-
-#ifndef OSKIT
-#define KMEMSTATS
-#endif
-
-/*
- * flags to malloc
- */
-#define        M_WAITOK        0x0000
-#define        M_NOWAIT        0x0001
-#define M_KERNEL       0x0002
-
-/*
- * Types of memory to be allocated
- */
-#define        M_FREE          0       /* should be on free list */
-#define        M_MBUF          1       /* mbuf */
-#define        M_DEVBUF        2       /* device driver memory */
-#define        M_SOCKET        3       /* socket structure */
-#define        M_PCB           4       /* protocol control block */
-#define        M_RTABLE        5       /* routing tables */
-#define        M_HTABLE        6       /* IMP host tables */
-#define        M_FTABLE        7       /* fragment reassembly header */
-#define        M_ZOMBIE        8       /* zombie proc status */
-#define        M_IFADDR        9       /* interface address */
-#define        M_SOOPTS        10      /* socket options */
-#define        M_SONAME        11      /* socket name */
-#define        M_NAMEI         12      /* namei path name buffer */
-#define        M_GPROF         13      /* kernel profiling buffer */
-#define        M_IOCTLOPS      14      /* ioctl data buffer */
-#define        M_MAPMEM        15      /* mapped memory descriptors */
-#define        M_CRED          16      /* credentials */
-#define        M_PGRP          17      /* process group header */
-#define        M_SESSION       18      /* session header */
-#define        M_IOV           19      /* large iov's */
-#define        M_MOUNT         20      /* vfs mount struct */
-#define        M_FHANDLE       21      /* network file handle */
-#define        M_NFSREQ        22      /* NFS request header */
-#define        M_NFSMNT        23      /* NFS mount structure */
-#define        M_NFSNODE       24      /* NFS vnode private part */
-#define        M_VNODE         25      /* Dynamically allocated vnodes */
-#define        M_CACHE         26      /* Dynamically allocated cache entries */
-#define        M_DQUOT         27      /* UFS quota entries */
-#define        M_UFSMNT        28      /* UFS mount structure */
-#define        M_SHM           29      /* SVID compatible shared memory segments */
-#define        M_VMMAP         30      /* VM map structures */
-#define        M_VMMAPENT      31      /* VM map entry structures */
-#define        M_VMOBJ         32      /* VM object structure */
-#define        M_VMOBJHASH     33      /* VM object hash structure */
-#define        M_VMPMAP        34      /* VM pmap */
-#define        M_VMPVENT       35      /* VM phys-virt mapping entry */
-#define        M_VMPAGER       36      /* XXX: VM pager struct */
-#define        M_VMPGDATA      37      /* XXX: VM pager private data */
-#define        M_FILE          38      /* Open file structure */
-#define        M_FILEDESC      39      /* Open file descriptor table */
-#define        M_LOCKF         40      /* Byte-range locking structures */
-#define        M_PROC          41      /* Proc structures */
-#define        M_SUBPROC       42      /* Proc sub-structures */
-#define        M_SEGMENT       43      /* Segment for LFS */
-#define        M_LFSNODE       44      /* LFS vnode private part */
-#define        M_FFSNODE       45      /* FFS vnode private part */
-#define        M_MFSNODE       46      /* MFS vnode private part */
-#define        M_NQLEASE       47      /* Nqnfs lease */
-#define        M_NQMHOST       48      /* Nqnfs host address table */
-#define        M_NETADDR       49      /* Export host address structure */
-#define        M_NFSSVC        50      /* Nfs server structure */
-#define        M_NFSUID        51      /* Nfs uid mapping structure */
-#define        M_NFSD          52      /* Nfs server daemon structure */
-#define        M_IPMOPTS       53      /* internet multicast options */
-#define        M_IPMADDR       54      /* internet multicast address */
-#define        M_IFMADDR       55      /* link-level multicast address */
-#define        M_MRTABLE       56      /* multicast routing tables */
-#define M_ISOFSMNT     57      /* ISOFS mount structure */
-#define M_ISOFSNODE    58      /* ISOFS vnode private part */
-#define M_MSDOSFSMNT   59      /* MSDOSFS mount structure */
-#define M_MSDOSFSNODE  60      /* MSDOSFS vnode private part */
-#define M_MSDOSFSFAT   61      /* MSDOSFS file allocation table */
-#define M_DEVFSMNT     62      /* DEVFS mount structure */
-#define M_DEVFSBACK    63      /* DEVFS Back node */
-#define M_DEVFSFRONT   64      /* DEVFS Front node */
-#define M_DEVFSNODE    65      /* DEVFS node */
-#define        M_TEMP          74      /* misc temporary data buffers */
-#define M_TTYS         75      /* tty data structures */
-#define M_GZIP         76      /* Gzip trees */
-#define M_IPFW         77      /* IpFw/IpAcct chain's */
-#define M_DEVL         78      /* isa_device lists in userconfig() */
-#define        M_LAST          79      /* Must be last type + 1 */
-
-#define INITKMEMNAMES { \
-       "free",         /* 0 M_FREE */ \
-       "mbuf",         /* 1 M_MBUF */ \
-       "devbuf",       /* 2 M_DEVBUF */ \
-       "socket",       /* 3 M_SOCKET */ \
-       "pcb",          /* 4 M_PCB */ \
-       "routetbl",     /* 5 M_RTABLE */ \
-       "hosttbl",      /* 6 M_HTABLE */ \
-       "fragtbl",      /* 7 M_FTABLE */ \
-       "zombie",       /* 8 M_ZOMBIE */ \
-       "ifaddr",       /* 9 M_IFADDR */ \
-       "soopts",       /* 10 M_SOOPTS */ \
-       "soname",       /* 11 M_SONAME */ \
-       "namei",        /* 12 M_NAMEI */ \
-       "gprof",        /* 13 M_GPROF */ \
-       "ioctlops",     /* 14 M_IOCTLOPS */ \
-       "mapmem",       /* 15 M_MAPMEM */ \
-       "cred",         /* 16 M_CRED */ \
-       "pgrp",         /* 17 M_PGRP */ \
-       "session",      /* 18 M_SESSION */ \
-       "iov",          /* 19 M_IOV */ \
-       "mount",        /* 20 M_MOUNT */ \
-       "fhandle",      /* 21 M_FHANDLE */ \
-       "NFS req",      /* 22 M_NFSREQ */ \
-       "NFS mount",    /* 23 M_NFSMNT */ \
-       "NFS node",     /* 24 M_NFSNODE */ \
-       "vnodes",       /* 25 M_VNODE */ \
-       "namecache",    /* 26 M_CACHE */ \
-       "UFS quota",    /* 27 M_DQUOT */ \
-       "UFS mount",    /* 28 M_UFSMNT */ \
-       "shm",          /* 29 M_SHM */ \
-       "VM map",       /* 30 M_VMMAP */ \
-       "VM mapent",    /* 31 M_VMMAPENT */ \
-       "VM object",    /* 32 M_VMOBJ */ \
-       "VM objhash",   /* 33 M_VMOBJHASH */ \
-       "VM pmap",      /* 34 M_VMPMAP */ \
-       "VM pvmap",     /* 35 M_VMPVENT */ \
-       "VM pager",     /* 36 M_VMPAGER */ \
-       "VM pgdata",    /* 37 M_VMPGDATA */ \
-       "file",         /* 38 M_FILE */ \
-       "file desc",    /* 39 M_FILEDESC */ \
-       "lockf",        /* 40 M_LOCKF */ \
-       "proc",         /* 41 M_PROC */ \
-       "subproc",      /* 42 M_SUBPROC */ \
-       "LFS segment",  /* 43 M_SEGMENT */ \
-       "LFS node",     /* 44 M_LFSNODE */ \
-       "FFS node",     /* 45 M_FFSNODE */ \
-       "MFS node",     /* 46 M_MFSNODE */ \
-       "NQNFS Lease",  /* 47 M_NQLEASE */ \
-       "NQNFS Host",   /* 48 M_NQMHOST */ \
-       "Export Host",  /* 49 M_NETADDR */ \
-       "NFS srvsock",  /* 50 M_NFSSVC */ \
-       "NFS uid",      /* 51 M_NFSUID */ \
-       "NFS daemon",   /* 52 M_NFSD */ \
-       "ip_moptions",  /* 53 M_IPMOPTS */ \
-       "in_multi",     /* 54 M_IPMADDR */ \
-       "ether_multi",  /* 55 M_IFMADDR */ \
-       "mrt",          /* 56 M_MRTABLE */ \
-       "ISOFS mount",  /* 57 M_ISOFSMNT */ \
-       "ISOFS node",   /* 58 M_ISOFSNODE */ \
-       "MSDOSFS mount",/* 59 M_MSDOSFSMNT */ \
-       "MSDOSFS node", /* 60 M_MSDOSFSNODE */ \
-       "MSDOSFS FAT",  /* 61 M_MSDOSFSFAR */ \
-       "DEVFS mount",  /* 62 M_DEVFSMNT */ \
-       "DEVFS back",   /* 63 M_DEVFSBACK */ \
-       "DEVFS front",  /* 64 M_DEVFSFRONT */ \
-       "DEVFS node",   /* 65 M_DEVFSNODE */ \
-       NULL, \
-       NULL, NULL, NULL, NULL, NULL, \
-       NULL, NULL, \
-       "temp",         /* 74 M_TEMP */ \
-       "ttys",         /* 75 M_TTYS */ \
-       "Gzip trees",   /* 76 M_GZIP */ \
-       "IpFw/IpAcct",  /* 77 M_IPFW */ \
-       "isa_devlist",  /* 78 M_DEVL */ \
-}
-
-struct kmemstats {
-       long    ks_inuse;       /* # of packets of this type currently in use */
-       long    ks_calls;       /* total packets of this type ever allocated */
-       long    ks_memuse;      /* total memory held in bytes */
-       u_short ks_limblocks;   /* number of times blocked for hitting limit */
-       u_short ks_mapblocks;   /* number of times blocked for kernel map */
-       long    ks_maxused;     /* maximum number ever used */
-       long    ks_limit;       /* most that are allowed to exist */
-       long    ks_size;        /* sizes of this thing that are allocated */
-       long    ks_spare;
-};
-
-/*
- * Array of descriptors that describe the contents of each page
- */
-struct kmemusage {
-       short ku_indx;          /* bucket index */
-       union {
-               u_short freecnt;/* for small allocations, free pieces in page */
-               u_short pagecnt;/* for large allocations, pages alloced */
-       } ku_un;
-};
-#define ku_freecnt ku_un.freecnt
-#define ku_pagecnt ku_un.pagecnt
-
-/*
- * Set of buckets for each size of memory block that is retained
- */
-struct kmembuckets {
-       caddr_t kb_next;        /* list of free blocks */
-       caddr_t kb_last;        /* last free block */
-       long    kb_calls;       /* total calls to allocate this size */
-       long    kb_total;       /* total number of blocks allocated */
-       long    kb_totalfree;   /* # of free elements in this bucket */
-       long    kb_elmpercl;    /* # of elements in this sized allocation */
-       long    kb_highwat;     /* high water mark */
-       long    kb_couldfree;   /* over high water mark and could free */
-};
-
-#ifdef KERNEL
-#define        MINALLOCSIZE    (1 << MINBUCKET)
-#define BUCKETINDX(size) \
-       (size) <= (MINALLOCSIZE * 128) \
-               ? (size) <= (MINALLOCSIZE * 8) \
-                       ? (size) <= (MINALLOCSIZE * 2) \
-                               ? (size) <= (MINALLOCSIZE * 1) \
-                                       ? (MINBUCKET + 0) \
-                                       : (MINBUCKET + 1) \
-                               : (size) <= (MINALLOCSIZE * 4) \
-                                       ? (MINBUCKET + 2) \
-                                       : (MINBUCKET + 3) \
-                       : (size) <= (MINALLOCSIZE* 32) \
-                               ? (size) <= (MINALLOCSIZE * 16) \
-                                       ? (MINBUCKET + 4) \
-                                       : (MINBUCKET + 5) \
-                               : (size) <= (MINALLOCSIZE * 64) \
-                                       ? (MINBUCKET + 6) \
-                                       : (MINBUCKET + 7) \
-               : (size) <= (MINALLOCSIZE * 2048) \
-                       ? (size) <= (MINALLOCSIZE * 512) \
-                               ? (size) <= (MINALLOCSIZE * 256) \
-                                       ? (MINBUCKET + 8) \
-                                       : (MINBUCKET + 9) \
-                               : (size) <= (MINALLOCSIZE * 1024) \
-                                       ? (MINBUCKET + 10) \
-                                       : (MINBUCKET + 11) \
-                       : (size) <= (MINALLOCSIZE * 8192) \
-                               ? (size) <= (MINALLOCSIZE * 4096) \
-                                       ? (MINBUCKET + 12) \
-                                       : (MINBUCKET + 13) \
-                               : (size) <= (MINALLOCSIZE * 16384) \
-                                       ? (MINBUCKET + 14) \
-                                       : (MINBUCKET + 15)
-
-/*
- * Turn virtual addresses into kmem map indicies
- */
-#define kmemxtob(alloc)        (kmembase + (alloc) * NBPG)
-#define btokmemx(addr) (((caddr_t)(addr) - kmembase) / NBPG)
-#define btokup(addr)   (&kmemusage[((caddr_t)(addr) - kmembase) >> CLSHIFT])
-
-/*
- * Macro versions for the usual cases of malloc/free
- */
-#if defined(KMEMSTATS) || defined(DIAGNOSTIC)
-#define        MALLOC(space, cast, size, type, flags) \
-       (space) = (cast)fbsd_malloc((u_long)(size), __FILE__, __LINE__, type, flags)
-#define FREE(addr, type) fbsd_free((caddr_t)(addr), __FILE__, __LINE__, type)
-
-#else /* do not collect statistics */
-#define        MALLOC(space, cast, size, type, flags) { \
-       register struct kmembuckets *kbp = &bucket[BUCKETINDX(size)]; \
-       long s = splimp(); \
-       if (kbp->kb_next == NULL) { \
-               (space) = (cast)fbsd_malloc((u_long)(size), __FILE__, __LINE__, type, flags); \
-       } else { \
-               (space) = (cast)kbp->kb_next; \
-               kbp->kb_next = *(caddr_t *)(space); \
-       } \
-       splx(s); \
-}
-
-#define FREE(addr, type) { \
-       register struct kmembuckets *kbp; \
-       register struct kmemusage *kup = btokup(addr); \
-       long s = splimp(); \
-       if (1 << kup->ku_indx > MAXALLOCSAVE) { \
-               fbsd_free((caddr_t)(addr), __FILE__, __LINE__, type); \
-       } else { \
-               kbp = &bucket[kup->ku_indx]; \
-               if (kbp->kb_next == NULL) \
-                       kbp->kb_next = (caddr_t)(addr); \
-               else \
-                       *(caddr_t *)(kbp->kb_last) = (caddr_t)(addr); \
-               *(caddr_t *)(addr) = NULL; \
-               kbp->kb_last = (caddr_t)(addr); \
-       } \
-       splx(s); \
-}
-#endif /* do not collect statistics */
-
-extern struct kmemstats kmemstats[];
-extern struct kmemusage *kmemusage;
-extern char *kmembase;
-extern struct kmembuckets bucket[];
-#ifndef __REACTOS__
-extern void *malloc __P((unsigned long size, ...));
-extern void free __P((void *addr, ...));
-#endif
-#endif /* KERNEL */
-#endif /* !_SYS_MALLOC_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/mbuf.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/mbuf.h
deleted file mode 100644 (file)
index 3583ee7..0000000
+++ /dev/null
@@ -1,512 +0,0 @@
-/*
- * Copyright (c) 1997-1998 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-/*
- * Copyright (c) 1982, 1986, 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)mbuf.h      8.3 (Berkeley) 1/21/94
- * $\Id: mbuf.h,v 1.9 1994/11/14 13:54:20 bde Exp $
- */
-
-#ifndef _SYS_MBUF_H_
-#define _SYS_MBUF_H_
-
-#ifndef M_WAITOK
-#include <sys/malloc.h>
-#endif
-
-/*
- * Mbufs are of a single size, MSIZE (machine/machparam.h), which
- * includes overhead.  An mbuf may add a single "mbuf cluster" of size
- * MCLBYTES (also in machine/machparam.h), which has no additional overhead
- * and is used instead of the internal data area; this is done when
- * at least MINCLSIZE of data must be stored.
- */
-
-#define        MLEN            (MSIZE - sizeof(struct m_hdr))  /* normal data len */
-#define        MHLEN           (MLEN - sizeof(struct pkthdr))  /* data len w/pkthdr */
-
-#define        MINCLSIZE       (MHLEN + MLEN)  /* smallest amount to put in cluster */
-#define        M_MAXCOMPRESS   (MHLEN / 2)     /* max amount to copy for compression */
-
-/*
- * Macros for type conversion
- * mtod(m,t) - convert mbuf pointer to data pointer of correct type
- * dtom(x) -   convert data pointer within mbuf to mbuf pointer (XXX)
- * mtocl(x) -  convert pointer within cluster to cluster index #
- * cltom(x) -  convert cluster # to ptr to beginning of cluster
- */
-#define mtod(m,t)      ((t)((m)->m_data))
-#define        dtom(x)         ((struct mbuf *)((int)(x) - sizeof(struct m_hdr)))
-#ifndef OSKIT
-#define        mtocl(x)        (((u_int)(x) - (u_int)mbutl) >> MCLSHIFT)
-#define        cltom(x)        ((caddr_t)((u_int)mbutl + ((u_int)(x) << MCLSHIFT)))
-#endif /* OSKIT */
-
-/* header at beginning of each mbuf: */
-struct m_hdr {
-       struct  mbuf *mh_next;          /* next buffer in chain */
-       struct  mbuf *mh_nextpkt;       /* next chain in queue/record */
-       int     mh_len;                 /* amount of data in this mbuf */
-       caddr_t mh_data;                /* location of data */
-       short   mh_type;                /* type of data in this mbuf */
-       short   mh_flags;               /* flags; see below */
-};
-
-/* record/packet header in first mbuf of chain; valid if M_PKTHDR set */
-struct pkthdr {
-       int     len;            /* total packet length */
-       struct  ifnet *rcvif;   /* rcv interface */
-};
-
-/* description of external storage mapped into mbuf, valid if M_EXT set */
-struct m_ext {
-       caddr_t ext_buf;                /* start of buffer */
-#ifdef OSKIT
-       struct oskit_bufio      *ext_bufio;     /* OS Kit bufio pointer */
-#else
-       void    (*ext_free)             /* free routine if not the usual */
-               __P((caddr_t, u_int));
-#endif
-       u_int   ext_size;               /* size of buffer, for ext_free */
-};
-
-struct mbuf {
-       struct  m_hdr m_hdr;
-       union {
-               struct {
-                       struct  pkthdr MH_pkthdr;       /* M_PKTHDR set */
-                       union {
-                               struct  m_ext MH_ext;   /* M_EXT set */
-                               char    MH_databuf[MHLEN];
-                       } MH_dat;
-               } MH;
-               char    M_databuf[MLEN];                /* !M_PKTHDR, !M_EXT */
-       } M_dat;
-};
-#define        m_next          m_hdr.mh_next
-#define        m_len           m_hdr.mh_len
-#define        m_data          m_hdr.mh_data
-#define        m_type          m_hdr.mh_type
-#define        m_flags         m_hdr.mh_flags
-#define        m_nextpkt       m_hdr.mh_nextpkt
-#define        m_act           m_nextpkt
-#define        m_pkthdr        M_dat.MH.MH_pkthdr
-#define        m_ext           M_dat.MH.MH_dat.MH_ext
-#define        m_pktdat        M_dat.MH.MH_dat.MH_databuf
-#define        m_dat           M_dat.M_databuf
-
-/* mbuf flags */
-#ifdef OSKIT
-#include <oskit/io/bufio.h>
-/* 
- * A small step for mankind, but a huge leap for BSD:
- * We consistently use oskit_bufios for external mbufs 
- */
-#endif
-#define        M_EXT           0x0001  /* has associated external storage */
-#define        M_PKTHDR        0x0002  /* start of record */
-#define        M_EOR           0x0004  /* end of record */
-
-/* mbuf pkthdr flags, also in m_flags */
-#define        M_BCAST         0x0100  /* send/received as link-level broadcast */
-#define        M_MCAST         0x0200  /* send/received as link-level multicast */
-
-/* flags copied when copying m_pkthdr */
-#define        M_COPYFLAGS     (M_PKTHDR|M_EOR|M_BCAST|M_MCAST)
-
-/* mbuf types */
-#define        MT_FREE         0       /* should be on free list */
-#define        MT_DATA         1       /* dynamic (data) allocation */
-#define        MT_HEADER       2       /* packet header */
-#define        MT_SOCKET       3       /* socket structure */
-#define        MT_PCB          4       /* protocol control block */
-#define        MT_RTABLE       5       /* routing tables */
-#define        MT_HTABLE       6       /* IMP host tables */
-#define        MT_ATABLE       7       /* address resolution tables */
-#define        MT_SONAME       8       /* socket name */
-#define        MT_SOOPTS       10      /* socket options */
-#define        MT_FTABLE       11      /* fragment reassembly header */
-#define        MT_RIGHTS       12      /* access rights */
-#define        MT_IFADDR       13      /* interface address */
-#define MT_CONTROL     14      /* extra-data protocol message */
-#define MT_OOBDATA     15      /* expedited data  */
-
-/* flags to m_get/MGET */
-#define        M_DONTWAIT      M_NOWAIT
-#define        M_WAIT          M_WAITOK
-
-/*
- * mbuf utility macros:
- *
- *     MBUFLOCK(code)
- * prevents a section of code from from being interrupted by network
- * drivers.
- */
-#define        MBUFLOCK(code) \
-       { int ms = splimp(); \
-         { code } \
-         splx(ms); \
-       }
-
-/*
- * mbuf allocation/deallocation macros:
- *
- *     MGET(struct mbuf *m, int how, int type)
- * allocates an mbuf and initializes it to contain internal data.
- *
- *     MGETHDR(struct mbuf *m, int how, int type)
- * allocates an mbuf and initializes it to contain a packet header
- * and internal data.
- */
-#define        MGET(m, how, type) { \
-       MALLOC((m), struct mbuf *, MSIZE, mbtypes[type], (how)); \
-       if (m) { \
-               (m)->m_type = (type); \
-               MBUFLOCK(mbstat.m_mtypes[type]++;) \
-               (m)->m_next = (struct mbuf *)NULL; \
-               (m)->m_nextpkt = (struct mbuf *)NULL; \
-               (m)->m_data = (m)->m_dat; \
-               (m)->m_flags = 0; \
-       } else \
-               (m) = m_retry((how), (type)); \
-}
-
-#define        MGETHDR(m, how, type) { \
-       MALLOC((m), struct mbuf *, MSIZE, mbtypes[type], (how)); \
-       if (m) { \
-               (m)->m_type = (type); \
-               MBUFLOCK(mbstat.m_mtypes[type]++;) \
-               (m)->m_next = (struct mbuf *)NULL; \
-               (m)->m_nextpkt = (struct mbuf *)NULL; \
-               (m)->m_data = (m)->m_pktdat; \
-               (m)->m_flags = M_PKTHDR; \
-       } else { \
-               (m) = m_retryhdr((how), (type)); \
-        } \
-}
-
-#if defined(OSKIT) || defined(__REACTOS__)
-#define        MGET_DONT_RECURSE(m, how, type) { \
-       MALLOC((m), struct mbuf *, MSIZE, mbtypes[type], (how)); \
-       if (m) { \
-               (m)->m_type = (type); \
-               MBUFLOCK(mbstat.m_mtypes[type]++;) \
-               (m)->m_next = (struct mbuf *)NULL; \
-               (m)->m_nextpkt = (struct mbuf *)NULL; \
-               (m)->m_data = (m)->m_dat; \
-               (m)->m_flags = 0; \
-       } else \
-               (m) = (struct mbuf *)0; \
-}
-
-#define        MGETHDR_DONT_RECURSE(m, how, type) { \
-       MALLOC((m), struct mbuf *, MSIZE, mbtypes[type], (how)); \
-       if (m) { \
-               (m)->m_type = (type); \
-               MBUFLOCK(mbstat.m_mtypes[type]++;) \
-               (m)->m_next = (struct mbuf *)NULL; \
-               (m)->m_nextpkt = (struct mbuf *)NULL; \
-               (m)->m_data = (m)->m_pktdat; \
-               (m)->m_flags = M_PKTHDR; \
-       } else \
-               (m) = (struct mbuf *)0; \
-}
-#endif /* OSKIT */
-
-#ifndef OSKIT
-/*
- * Mbuf cluster macros.
- * MCLALLOC(caddr_t p, int how) allocates an mbuf cluster.
- * MCLGET adds such clusters to a normal mbuf;
- * the flag M_EXT is set upon success.
- * MCLFREE releases a reference to a cluster allocated by MCLALLOC,
- * freeing the cluster if the reference count has reached 0.
- *
- * Normal mbuf clusters are normally treated as character arrays
- * after allocation, but use the first word of the buffer as a free list
- * pointer while on the free list.
- */
-union mcluster {
-       union   mcluster *mcl_next;
-       char    mcl_buf[MCLBYTES];
-};
-
-#define        MCLALLOC(p, how) \
-       MBUFLOCK( \
-         if (mclfree == 0) \
-               (void)m_clalloc(1, (how)); \
-         (p) = (caddr_t)mclfree; \
-         if ((p)) { \
-               ++mclrefcnt[mtocl(p)]; \
-               mbstat.m_clfree--; \
-               mclfree = ((union mcluster *)(p))->mcl_next; \
-         } \
-       )
-
-#define        MCLGET(m, how) \
-       { MCLALLOC((m)->m_ext.ext_buf, (how)); \
-         if ((m)->m_ext.ext_buf != NULL) { \
-               (m)->m_data = (m)->m_ext.ext_buf; \
-               (m)->m_flags |= M_EXT; \
-               (m)->m_ext.ext_size = MCLBYTES;  \
-         } \
-       }
-
-#define        MCLFREE(p) \
-       MBUFLOCK ( \
-         if (--mclrefcnt[mtocl(p)] == 0) { \
-               ((union mcluster *)(p))->mcl_next = mclfree; \
-               mclfree = (union mcluster *)(p); \
-               mbstat.m_clfree++; \
-         } \
-       )
-#else
-#define        MCLGET(m, how) \
-       { (m)->m_ext.ext_bufio = oskit_bufio_create(MCLBYTES); \
-         oskit_bufio_map((m)->m_ext.ext_bufio, \
-               (void **)&((m)->m_ext.ext_buf), 0, MCLBYTES);   \
-         if ((m)->m_ext.ext_buf != NULL) { \
-               (m)->m_data = (m)->m_ext.ext_buf; \
-               (m)->m_flags |= M_EXT; \
-               (m)->m_ext.ext_size = MCLBYTES;  \
-         } \
-       }
-
-#endif /* !OSKIT */
-
-/*
- * MFREE(struct mbuf *m, struct mbuf *n)
- * Free a single mbuf and associated external storage.
- * Place the successor, if any, in n.
- */
-#ifdef notyet
-#define        MFREE(m, n) \
-       { MBUFLOCK(mbstat.m_mtypes[(m)->m_type]--;) \
-         if ((m)->m_flags & M_EXT) { \
-               if ((m)->m_ext.ext_free) \
-                       (*((m)->m_ext.ext_free))((m)->m_ext.ext_buf, \
-                           (m)->m_ext.ext_size); \
-               else \
-                       MCLFREE((m)->m_ext.ext_buf); \
-         } \
-         (n) = (m)->m_next; \
-         FREE((m), mbtypes[(m)->m_type]); \
-       }
-#else /* notyet */
-#ifdef OSKIT
-#define        MFREE(m, nn) \
-       { MBUFLOCK(mbstat.m_mtypes[(m)->m_type]--;) \
-         if ((m)->m_flags & M_EXT) { \
-               oskit_bufio_release((m)->m_ext.ext_bufio);      \
-         } \
-         (nn) = (m)->m_next; \
-         FREE((m), mbtypes[(m)->m_type]); \
-       }
-#else /* !OSKIT */
-#define        MFREE(m, nn) \
-       { MBUFLOCK(mbstat.m_mtypes[(m)->m_type]--;) \
-         if ((m)->m_flags & M_EXT) { \
-               MCLFREE((m)->m_ext.ext_buf); \
-         } \
-         (nn) = (m)->m_next; \
-         FREE((m), mbtypes[(m)->m_type]); \
-       }
-#endif /* OSKIT */
-#endif
-
-/*
- * Copy mbuf pkthdr from from to to.
- * from must have M_PKTHDR set, and to must be empty.
- */
-#define        M_COPY_PKTHDR(to, from) { \
-       (to)->m_pkthdr = (from)->m_pkthdr; \
-       (to)->m_flags = (from)->m_flags & M_COPYFLAGS; \
-       (to)->m_data = (to)->m_pktdat; \
-}
-
-/*
- * Set the m_data pointer of a newly-allocated mbuf (m_get/MGET) to place
- * an object of the specified size at the end of the mbuf, longword aligned.
- */
-#define        M_ALIGN(m, len) \
-       { (m)->m_data += (MLEN - (len)) &~ (sizeof(long) - 1); }
-/*
- * As above, for mbufs allocated with m_gethdr/MGETHDR
- * or initialized by M_COPY_PKTHDR.
- */
-#define        MH_ALIGN(m, len) \
-       { (m)->m_data += (MHLEN - (len)) &~ (sizeof(long) - 1); }
-
-/*
- * Compute the amount of space available
- * before the current start of data in an mbuf.
- */
-#ifdef OSKIT
-/* Be bold and strong: why shouldn't that work??? */
-#define        M_LEADINGSPACE(m) \
-       ((m)->m_flags & M_EXT ? (m)->m_data - (m)->m_ext.ext_buf : \
-           (m)->m_flags & M_PKTHDR ? (m)->m_data - (m)->m_pktdat : \
-           (m)->m_data - (m)->m_dat)
-#else
-#define        M_LEADINGSPACE(m) \
-       ((m)->m_flags & M_EXT ? /* (m)->m_data - (m)->m_ext.ext_buf */ 0 : \
-           (m)->m_flags & M_PKTHDR ? (m)->m_data - (m)->m_pktdat : \
-           (m)->m_data - (m)->m_dat)
-#endif /* OSKIT */
-
-/*
- * Compute the amount of space available
- * after the end of data in an mbuf.
- */
-#define        M_TRAILINGSPACE(m) \
-       ((m)->m_flags & M_EXT ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size - \
-           ((m)->m_data + (m)->m_len) : \
-           &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
-
-/*
- * Arrange to prepend space of size plen to mbuf m.
- * If a new mbuf must be allocated, how specifies whether to wait.
- * If how is M_DONTWAIT and allocation fails, the original mbuf chain
- * is freed and m is set to NULL.
- */
-#define        M_PREPEND(m, plen, how) { \
-       if (M_LEADINGSPACE(m) >= (plen)) { \
-               (m)->m_data -= (plen); \
-               (m)->m_len += (plen); \
-       } else \
-               (m) = m_prepend((m), (plen), (how)); \
-       if ((m) && (m)->m_flags & M_PKTHDR) \
-               (m)->m_pkthdr.len += (plen); \
-}
-
-/* change mbuf to new type */
-#define MCHTYPE(m, t) { \
-       MBUFLOCK(mbstat.m_mtypes[(m)->m_type]--; mbstat.m_mtypes[t]++;) \
-       (m)->m_type = t;\
-}
-
-/* length to m_copy to copy all */
-#define        M_COPYALL       1000000000
-
-/* compatiblity with 4.3 */
-#define  m_copy(m, o, l)       m_copym((m), (o), (l), M_DONTWAIT)
-
-/*
- * Mbuf statistics.
- */
-struct mbstat {
-       u_long  m_mbufs;        /* mbufs obtained from page pool */
-       u_long  m_clusters;     /* clusters obtained from page pool */
-       u_long  m_spare;        /* spare field */
-       u_long  m_clfree;       /* free clusters */
-       u_long  m_drops;        /* times failed to find space */
-       u_long  m_wait;         /* times waited for space */
-       u_long  m_drain;        /* times drained protocols for space */
-       u_short m_mtypes[256];  /* type specific mbuf allocations */
-};
-
-#ifdef KERNEL
-#ifndef OSKIT
-extern struct mbuf *mbutl;             /* virtual address of mclusters */
-extern char *mclrefcnt;                /* cluster reference counts */
-#endif /* !OSKIT */
-struct mbstat mbstat;
-#ifndef OSKIT
-extern int nmbclusters;
-union  mcluster *mclfree;
-#endif /* !OSKIT */
-int    max_linkhdr;                    /* largest link-level header */
-int    max_protohdr;                   /* largest protocol header */
-int    max_hdr;                        /* largest link+protocol header */
-int    max_datalen;                    /* MHLEN - max_hdr */
-extern int mbtypes[];                  /* XXX */
-
-int    m_clalloc __P((int, int));
-void   m_copyback __P((struct mbuf *, int, int, caddr_t));
-struct mbuf *m_retry __P((int, int));
-struct mbuf *m_retryhdr __P((int, int));
-void   m_reclaim __P((void));
-struct mbuf *m_get __P((int, int));
-struct mbuf *m_gethdr __P((int, int));
-struct mbuf *m_getclr __P((int, int));
-struct mbuf *m_free __P((struct mbuf *));
-void   m_freem __P((struct mbuf *));
-struct mbuf *m_prepend __P((struct mbuf *,int,int));
-struct mbuf *m_copym __P((struct mbuf *, int, int, int));
-void   m_copydata __P((struct mbuf *,int,int,caddr_t));
-void   m_cat __P((struct mbuf *,struct mbuf *));
-void   m_adj __P((struct mbuf *,int));
-struct mbuf *m_pullup __P((struct mbuf *, int));
-struct mbuf *m_split __P((struct mbuf *,int,int));
-struct mbuf *m_devget __P((char *, int, int, struct ifnet *,
-                           void (*copy)(struct mbuf *, caddr_t, u_int)));
-
-#ifdef MBTYPES
-int mbtypes[] = {                              /* XXX */
-       M_FREE,         /* MT_FREE      0          should be on free list */
-       M_MBUF,         /* MT_DATA      1          dynamic (data) allocation */
-       M_MBUF,         /* MT_HEADER    2          packet header */
-       M_SOCKET,       /* MT_SOCKET    3          socket structure */
-       M_PCB,          /* MT_PCB       4          protocol control block */
-       M_RTABLE,       /* MT_RTABLE    5          routing tables */
-       M_HTABLE,       /* MT_HTABLE    6          IMP host tables */
-       0,              /* MT_ATABLE    7          address resolution tables */
-       M_MBUF,         /* MT_SONAME    8          socket name */
-       0,              /*              9 */
-       M_SOOPTS,       /* MT_SOOPTS    10         socket options */
-       M_FTABLE,       /* MT_FTABLE    11         fragment reassembly header */
-       M_MBUF,         /* MT_RIGHTS    12         access rights */
-       M_IFADDR,       /* MT_IFADDR    13         interface address */
-       M_MBUF,         /* MT_CONTROL   14         extra-data protocol message */
-       M_MBUF,         /* MT_OOBDATA   15         expedited data  */
-#ifdef DATAKIT
-       25, 26, 27, 28, 29, 30, 31, 32          /* datakit ugliness */
-#endif
-};
-#endif
-#endif
-
-#endif /* !_SYS_MBUF_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/param.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/param.h
deleted file mode 100644 (file)
index 99f983d..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)param.h     8.2 (Berkeley) 1/21/94
- */
-
-#ifndef _SYS_PARAM_H_
-#define _SYS_PARAM_H_
-
-#define        BSD     199306          /* System version (year & month). */
-#define BSD4_3 1
-#define BSD4_4 1
-
-#ifndef NULL
-#define        NULL    0
-#endif
-
-#ifndef LOCORE
-#include <sys/types.h>
-#endif
-
-/*
- * Machine-independent constants (some used in following include files).
- * Redefined constants are from POSIX 1003.1 limits file.
- *
- * MAXCOMLEN should be >= sizeof(ac_comm) (see <acct.h>)
- * MAXLOGNAME should be >= UT_NAMESIZE (see <utmp.h>)
- */
-#include <sys/syslimits.h>
-
-#define        MAXCOMLEN       16              /* max command name remembered */
-#define        MAXINTERP       32              /* max interpreter file name length */
-#define        MAXLOGNAME      12              /* max login name length */
-#define        MAXUPRC         CHILD_MAX       /* max simultaneous processes */
-#define        NCARGS          ARG_MAX         /* max bytes for an exec function */
-#define        NGROUPS         NGROUPS_MAX     /* max number groups */
-#define        NOFILE          OPEN_MAX        /* max open files per process */
-#define        NOGROUP         65535           /* marker for empty group set member */
-#define MAXHOSTNAMELEN 256             /* max hostname size */
-
-/* More types and definitions used throughout the kernel. */
-#ifdef KERNEL
-#include <sys/cdefs.h>
-#include <sys/errno.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/ucred.h>
-#include <sys/uio.h>
-#include <sys/rtprio.h>
-#endif
-
-/* Signals. */
-#include <sys/signal.h>
-
-/* Machine type dependent parameters. */
-#include <machine/param.h>
-#include <machine/limits.h>
-
-/*
- * Priorities.  Note that with 32 run queues, differences less than 4 are
- * insignificant.
- */
-#define        PSWP    0
-#define        PVM     4
-#define        PINOD   8
-#define        PRIBIO  16
-#define        PVFS    20
-#define        PZERO   22              /* No longer magic, shouldn't be here.  XXX */
-#define        PSOCK   24
-#define        PWAIT   32
-#define        PLOCK   36
-#define        PPAUSE  40
-#define        PUSER   50
-#define        MAXPRI  127             /* Priorities range from 0 through MAXPRI. */
-
-#define        PRIMASK 0x0ff
-#define        PCATCH  0x100           /* OR'd with pri for tsleep to check signals */
-
-#define        NZERO   0               /* default "nice" */
-
-#define        NBPW    sizeof(int)     /* number of bytes per word (integer) */
-
-#define        CMASK   022             /* default file mask: S_IWGRP|S_IWOTH */
-#define        NODEV   (dev_t)(-1)     /* non-existent device */
-
-/*
- * Clustering of hardware pages on machines with ridiculously small
- * page sizes is done here.  The paging subsystem deals with units of
- * CLSIZE pte's describing NBPG (from machine/machparam.h) pages each.
- */
-#define        CLBYTES         (CLSIZE*NBPG)
-#define        CLOFSET         (CLSIZE*NBPG-1) /* for clusters, like PGOFSET */
-#define        claligned(x)    ((((int)(x))&CLOFSET)==0)
-#define        CLOFF           CLOFSET
-#define        CLSHIFT         (PGSHIFT+CLSIZELOG2)
-
-#if CLSIZE==1
-#define        clbase(i)       (i)
-#define        clrnd(i)        (i)
-#else
-/* Give the base virtual address (first of CLSIZE). */
-#define        clbase(i)       ((i) &~ (CLSIZE-1))
-/* Round a number of clicks up to a whole cluster. */
-#define        clrnd(i)        (((i) + (CLSIZE-1)) &~ (CLSIZE-1))
-#endif
-
-#define        CBLOCK  128             /* Clist block size, must be a power of 2. */
-#define CBQSIZE        (CBLOCK/NBBY)   /* Quote bytes/cblock - can do better. */
-                               /* Data chars/clist. */
-#define        CBSIZE  (CBLOCK - sizeof(struct cblock *) - CBQSIZE)
-#define        CROUND  (CBLOCK - 1)    /* Clist rounding. */
-
-/*
- * File system parameters and macros.
- *
- * The file system is made out of blocks of at most MAXBSIZE units, with
- * smaller units (fragments) only in the last direct block.  MAXBSIZE
- * primarily determines the size of buffers in the buffer pool.  It may be
- * made larger without any effect on existing file systems; however making
- * it smaller make make some file systems unmountable.  Also, MAXBSIZE
- * must be less than MAXPHYS!!!
- */
-#define        MAXBSIZE        16384
-#define MAXFRAG        8
-
-/*
- * MAXPATHLEN defines the longest permissable path length after expanding
- * symbolic links. It is used to allocate a temporary buffer from the buffer
- * pool in which to do the name expansion, hence should be a power of two,
- * and must be less than or equal to MAXBSIZE.  MAXSYMLINKS defines the
- * maximum number of symbolic links that may be expanded in a path name.
- * It should be set high enough to allow all legitimate uses, but halt
- * infinite loops reasonably quickly.
- */
-#define        MAXPATHLEN      PATH_MAX
-#define MAXSYMLINKS    32
-
-/* Bit map related macros. */
-#define        setbit(a,i)     ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
-#define        clrbit(a,i)     ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
-#define        isset(a,i)      ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
-#define        isclr(a,i)      (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
-
-/* Macros for counting and rounding. */
-#ifndef howmany
-#define        howmany(x, y)   (((x)+((y)-1))/(y))
-#endif
-#define        rounddown(x, y) (((x)/(y))*(y))
-#define        roundup(x, y)   ((((x)+((y)-1))/(y))*(y))
-#define powerof2(x)    ((((x)-1)&(x))==0)
-
-/* Macros for min/max. */
-#ifndef KERNEL
-#define        MIN(a,b) (((a)<(b))?(a):(b))
-#define        MAX(a,b) (((a)>(b))?(a):(b))
-#endif
-
-/*
- * Constants for setting the parameters of the kernel memory allocator.
- *
- * 2 ** MINBUCKET is the smallest unit of memory that will be
- * allocated. It must be at least large enough to hold a pointer.
- *
- * Units of memory less or equal to MAXALLOCSAVE will permanently
- * allocate physical memory; requests for these size pieces of
- * memory are quite fast. Allocations greater than MAXALLOCSAVE must
- * always allocate and free physical memory; requests for these
- * size allocations should be done infrequently as they will be slow.
- *
- * Constraints: CLBYTES <= MAXALLOCSAVE <= 2 ** (MINBUCKET + 14), and
- * MAXALLOCSIZE must be a power of two.
- */
-#define MINBUCKET      4               /* 4 => min allocation of 16 bytes */
-#define MAXALLOCSAVE   (2 * CLBYTES)
-
-/*
- * Scale factor for scaled integers used to count %cpu time and load avgs.
- *
- * The number of CPU `tick's that map to a unique `%age' can be expressed
- * by the formula (1 / (2 ^ (FSHIFT - 11))).  The maximum load average that
- * can be calculated (assuming 32 bits) can be closely approximated using
- * the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15).
- *
- * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age',
- * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024.
- */
-#define        FSHIFT  11              /* bits to right of fixed binary point */
-#define FSCALE (1<<FSHIFT)
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/proc.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/proc.h
deleted file mode 100644 (file)
index e8634b7..0000000
+++ /dev/null
@@ -1,336 +0,0 @@
-/*
- * Copyright (c) 1996-1998 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-/*-
- * Copyright (c) 1986, 1989, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)proc.h      8.8 (Berkeley) 1/21/94
- * $\Id: proc.h,v 1.17.4.1 1996/06/04 02:45:01 davidg Exp $
- */
-
-#ifndef _SYS_PROC_H_
-#define        _SYS_PROC_H_
-
-#include <machine/proc.h>              /* Machine-dependent proc substruct. */
-#include <sys/rtprio.h>                        /* For struct rtprio. */
-#include <sys/select.h>                        /* For struct selinfo. */
-#include <sys/time.h>                  /* For structs itimerval, timeval. */
-
-#ifdef OSKIT
-#include <oskit/dev/dev.h>
-#endif
-
-/*
- * One structure allocated per session.
- */
-struct session {
-       int     s_count;                /* Ref cnt; pgrps in session. */
-       struct  proc *s_leader;         /* Session leader. */
-       struct  vnode *s_ttyvp;         /* Vnode of controlling terminal. */
-       struct  tty *s_ttyp;            /* Controlling terminal. */
-       char    s_login[MAXLOGNAME];    /* Setlogin() name. */
-};
-
-/*
- * One structure allocated per process group.
- */
-struct pgrp {
-       struct  pgrp *pg_hforw;         /* Forward link in hash bucket. */
-       struct  proc *pg_mem;           /* Pointer to pgrp members. */
-       struct  session *pg_session;    /* Pointer to session. */
-       pid_t   pg_id;                  /* Pgrp id. */
-       int     pg_jobc;        /* # procs qualifying pgrp for job control */
-};
-
-/*
- * Description of a process.
- *
- * This structure contains the information needed to manage a thread of
- * control, known in UN*X as a process; it has references to substructures
- * containing descriptions of things that the process uses, but may share
- * with related processes.  The process structure and the substructures
- * are always addressible except for those marked "(PROC ONLY)" below,
- * which might be addressible only on a processor on which the process
- * is running.
- */
-struct proc {
-#ifndef OSKIT
-       struct  proc *p_forw;           /* Doubly-linked run/sleep queue. */
-       struct  proc *p_back;
-       struct  proc *p_next;           /* Linked list of active procs */
-       struct  proc **p_prev;          /*    and zombies. */
-
-       /* substructures: */
-       struct  pcred *p_cred;          /* Process owner's identity. */
-       struct  filedesc *p_fd;         /* Ptr to open files structure. */
-       struct  pstats *p_stats;        /* Accounting/statistics (PROC ONLY). */
-       struct  plimit *p_limit;        /* Process limits. */
-       struct  vmspace *p_vmspace;     /* Address space. */
-       struct  sigacts *p_sigacts;     /* Signal actions, state (PROC ONLY). */
-
-#define        p_ucred         p_cred->pc_ucred
-#define        p_rlimit        p_limit->pl_rlimit
-
-       int     p_flag;                 /* P_* flags. */
-       char    p_stat;                 /* S* process status. */
-
-       char    p_pad1[3];
-
-       pid_t   p_pid;                  /* Process identifier. */
-       struct  proc *p_hash;    /* Hashed based on p_pid for kill+exit+... */
-       struct  proc *p_pgrpnxt; /* Pointer to next process in process group. */
-       struct  proc *p_pptr;    /* Pointer to process structure of parent. */
-       struct  proc *p_osptr;   /* Pointer to older sibling processes. */
-
-/* The following fields are all zeroed upon creation in fork. */
-#define        p_startzero     p_ysptr
-       struct  proc *p_ysptr;   /* Pointer to younger siblings. */
-       struct  proc *p_cptr;    /* Pointer to youngest living child. */
-       pid_t   p_oppid;         /* Save parent pid during ptrace. XXX */
-       int     p_dupfd;         /* Sideways return value from fdopen. XXX */
-
-       /* scheduling */
-       u_int   p_estcpu;        /* Time averaged value of p_cpticks. */
-       int     p_cpticks;       /* Ticks of cpu time. */
-       fixpt_t p_pctcpu;        /* %cpu for this process during p_swtime */
-       void    *p_wchan;        /* Sleep address. */
-       char    *p_wmesg;        /* Reason for sleep. */
-       u_int   p_swtime;        /* Time swapped in or out. */
-       u_int   p_slptime;       /* Time since last blocked. */
-
-       struct  itimerval p_realtimer;  /* Alarm timer. */
-       struct  timeval p_rtime;        /* Real time. */
-       u_quad_t p_uticks;              /* Statclock hits in user mode. */
-       u_quad_t p_sticks;              /* Statclock hits in system mode. */
-       u_quad_t p_iticks;              /* Statclock hits processing intr. */
-
-       int     p_traceflag;            /* Kernel trace points. */
-       struct  vnode *p_tracep;        /* Trace to vnode. */
-
-       int     p_siglist;              /* Signals arrived but not delivered. */
-
-       struct  vnode *p_textvp;        /* Vnode of executable. */
-
-       char    p_lock;                 /* Process lock count. */
-       char    p_pad2[3];              /* alignment */
-       long    p_spare[2];             /* Pad to 256, avoid shifting eproc. XXX */
-
-/* End area that is zeroed on creation. */
-#define        p_endzero       p_startcopy
-
-/* The following fields are all copied upon creation in fork. */
-#define        p_startcopy     p_sigmask
-
-       sigset_t p_sigmask;     /* Current signal mask. */
-       sigset_t p_sigignore;   /* Signals being ignored. */
-       sigset_t p_sigcatch;    /* Signals being caught by user. */
-
-       u_char  p_priority;     /* Process priority. */
-       u_char  p_usrpri;       /* User-priority based on p_cpu and p_nice. */
-       char    p_nice;         /* Process "nice" value. */
-       char    p_comm[MAXCOMLEN+1];
-
-       struct  pgrp *p_pgrp;   /* Pointer to process group. */
-
-       struct  sysentvec *p_sysent; /* System call dispatch information. */
-
-       struct  rtprio p_rtprio;        /* Realtime priority. */
-/* End area that is copied on creation. */
-#define        p_endcopy       p_thread
-       int     p_thread;       /* Id for this "thread"; Mach glue. XXX */
-       struct  user *p_addr;   /* Kernel virtual addr of u-area (PROC ONLY). */
-       struct  mdproc p_md;    /* Any machine-dependent fields. */
-
-       u_short p_xstat;        /* Exit status for wait; also stop signal. */
-       u_short p_acflag;       /* Accounting flags. */
-       struct  rusage *p_ru;   /* Exit information. XXX */
-#else /* OSKIT */
-       /*
-        * let's build our own rudimentary struct proc
-        */
-       struct  proc *p_forw;           /* Doubly-linked run/sleep queue. */
-       struct  pcred *p_cred;          /* Process owner's identity. */
-       struct  pstats *p_stats;        /* Accounting/statistics (PROC ONLY). */
-#define        p_ucred         p_cred->pc_ucred
-       int     p_flag;                 /* P_* flags. */
-       char    p_stat;                 /* S* process status. */
-       pid_t   p_pid;                  /* Process identifier. */
-       void    *p_wchan;        /* Sleep address. */
-       char    *p_wmesg;        /* Reason for sleep. */
-       u_short p_acflag;       /* Accounting flags. */
-
-       osenv_sleeprec_t                p_sr;
-       /*
-        * When selrecord is invoked, this points to an object used to
-        * manage a set of listeners 
-        */
-       struct  listener_mgr    *p_sel;
-#endif /* !OSKIT */
-};
-
-#define        p_session       p_pgrp->pg_session
-#define        p_pgid          p_pgrp->pg_id
-
-/* Status values. */
-#define        SIDL    1               /* Process being created by fork. */
-#define        SRUN    2               /* Currently runnable. */
-#define        SSLEEP  3               /* Sleeping on an address. */
-#define        SSTOP   4               /* Process debugging or suspension. */
-#define        SZOMB   5               /* Awaiting collection by parent. */
-
-/* These flags are kept in p_flags. */
-#define        P_ADVLOCK       0x00001 /* Process may hold a POSIX advisory lock. */
-#define        P_CONTROLT      0x00002 /* Has a controlling terminal. */
-#define        P_INMEM         0x00004 /* Loaded into memory. */
-#define        P_NOCLDSTOP     0x00008 /* No SIGCHLD when children stop. */
-#define        P_PPWAIT        0x00010 /* Parent is waiting for child to exec/exit. */
-#define        P_PROFIL        0x00020 /* Has started profiling. */
-#define        P_SELECT        0x00040 /* Selecting; wakeup/waiting danger. */
-#define        P_SINTR         0x00080 /* Sleep is interruptible. */
-#define        P_SUGID         0x00100 /* Had set id privileges since last exec. */
-#define        P_SYSTEM        0x00200 /* System proc: no sigs, stats or swapping. */
-#define        P_TIMEOUT       0x00400 /* Timing out during sleep. */
-#define        P_TRACED        0x00800 /* Debugged process being traced. */
-#define        P_WAITED        0x01000 /* Debugging process has waited for child. */
-#define        P_WEXIT         0x02000 /* Working on exiting. */
-#define P_EXEC         0x04000 /* Process called exec. */
-#define        P_SWAPPING      0x40000 /* Process is being swapped. */
-
-/* Should probably be changed into a hold count (They have. -DG). */
-#define        P_NOSWAP        0x08000 /* Another flag to prevent swap out. */
-#define        P_PHYSIO        0x10000 /* Doing physical I/O. */
-
-/* Should be moved to machine-dependent areas. */
-#define        P_OWEUPC        0x20000 /* Owe process an addupc() call at next ast. */
-
-/*
- * MOVE TO ucred.h?
- *
- * Shareable process credentials (always resident).  This includes a reference
- * to the current user credentials as well as real and saved ids that may be
- * used to change ids.
- */
-struct pcred {
-       struct  ucred *pc_ucred;        /* Current credentials. */
-       uid_t   p_ruid;                 /* Real user id. */
-       uid_t   p_svuid;                /* Saved effective user id. */
-       gid_t   p_rgid;                 /* Real group id. */
-       gid_t   p_svgid;                /* Saved effective group id. */
-       int     p_refcnt;               /* Number of references. */
-};
-
-#ifdef KERNEL
-/*
- * We use process IDs <= PID_MAX; PID_MAX + 1 must also fit in a pid_t,
- * as it is used to represent "no process group".
- */
-#define        PID_MAX         30000
-#define        NO_PID          30001
-#define        PIDHASH(pid)    ((pid) & pidhashmask)
-
-#define SESS_LEADER(p) ((p)->p_session->s_leader == (p))
-#define        SESSHOLD(s)     ((s)->s_count++)
-#define        SESSRELE(s) {                                                   \
-       if (--(s)->s_count == 0)                                        \
-               FREE(s, M_SESSION);                                     \
-}
-
-extern struct proc *pidhash[];         /* In param.c. */
-extern struct pgrp *pgrphash[];                /* In param.c. */
-extern struct proc *curproc;           /* Current running proc. */
-extern struct proc proc0;              /* Process slot for swapper. */
-extern int nprocs, maxproc;            /* Current and max number of procs. */
-extern int maxprocperuid;              /* Max procs per uid. */
-extern int pidhashmask;                        /* In param.c. */
-
-extern volatile struct proc *allproc;  /* List of active procs. */
-extern struct proc *zombproc;          /* List of zombie procs. */
-extern struct proc *initproc, *pageproc; /* Process slots for init, pager. */
-
-#define        NQS     32                      /* 32 run queues. */
-extern struct prochd qs[];
-extern struct prochd rtqs[];
-extern struct prochd idqs[];
-extern int     whichqs;        /* Bit mask summary of non-empty Q's. */
-struct prochd {
-       struct  proc *ph_link;          /* Linked list of running processes. */
-       struct  proc *ph_rlink;
-};
-
-int    chgproccnt __P((uid_t, int));
-struct proc *pfind __P((pid_t));       /* Find process by id. */
-struct proc *zpfind __P((pid_t));      /* Find zombie process by id. */
-struct pgrp *pgfind __P((pid_t));      /* Find process group by id. */
-void   mi_switch __P((void));
-void   resetpriority __P((struct proc *));
-void   roundrobin __P((void *));
-void   schedcpu __P((void *));
-void   setrunnable __P((struct proc *));
-void   setrunqueue __P((struct proc *));
-void   remrq __P((struct proc *));
-void   cpu_switch __P((struct proc *));
-void   sleep __P((void *chan, int pri));
-int    tsleep __P((void *chan, int pri, char *wmesg, int timo));
-void   unsleep __P((struct proc *));
-void   wakeup __P((void *chan));
-
-__dead void cpu_exit __P((struct proc *)) __dead2;
-__dead void exit1 __P((struct proc *, int)) __dead2;
-void   fixjobc __P((struct proc *, struct pgrp *, int));
-int    acct_process __P((struct proc *));
-int    leavepgrp __P((struct proc *));
-int    enterpgrp __P((struct proc *, pid_t, int));
-int    trace_req __P((struct proc *));
-void   cpu_wait __P((struct proc *));
-int    cpu_coredump __P((struct proc *, struct vnode *, struct ucred *));
-int    inferior __P((struct proc *));
-#endif /* KERNEL */
-
-#endif /* !_SYS_PROC_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/protosw.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/protosw.h
deleted file mode 100644 (file)
index 8d5e161..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)protosw.h   8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_PROTOSW_H_
-#define _SYS_PROTOSW_H_
-
-/*
- * Protocol switch table.
- *
- * Each protocol has a handle initializing one of these structures,
- * which is used for protocol-protocol and system-protocol communication.
- *
- * A protocol is called through the pr_init entry before any other.
- * Thereafter it is called every 200ms through the pr_fasttimo entry and
- * every 500ms through the pr_slowtimo for timer based actions.
- * The system will call the pr_drain entry if it is low on space and
- * this should throw away any non-critical data.
- *
- * Protocols pass data between themselves as chains of mbufs using
- * the pr_input and pr_output hooks.  Pr_input passes data up (towards
- * UNIX) and pr_output passes it down (towards the imps); control
- * information passes up and down on pr_ctlinput and pr_ctloutput.
- * The protocol is responsible for the space occupied by any the
- * arguments to these entries and must dispose it.
- *
- * The userreq routine interfaces protocols to the system and is
- * described below.
- */
-struct protosw {
-       short   pr_type;                /* socket type used for */
-       struct  domain *pr_domain;      /* domain protocol a member of */
-       short   pr_protocol;            /* protocol number */
-       short   pr_flags;               /* see below */
-/* protocol-protocol hooks */
-       void    (*pr_input)();          /* input to protocol (from below) */
-       int     (*pr_output)();         /* output to protocol (from above) */
-       void    (*pr_ctlinput)();       /* control input (from below) */
-       int     (*pr_ctloutput)();      /* control output (from above) */
-/* user-protocol hook */
-       int     (*pr_usrreq)();         /* user request: see list below */
-/* utility hooks */
-       void    (*pr_init)();           /* initialization hook */
-       void    (*pr_fasttimo)();       /* fast timeout (200ms) */
-       void    (*pr_slowtimo)();       /* slow timeout (500ms) */
-       void    (*pr_drain)();          /* flush any excess space possible */
-       int     (*pr_sysctl)();         /* sysctl for protocol */
-};
-
-#define        PR_SLOWHZ       2               /* 2 slow timeouts per second */
-#define        PR_FASTHZ       5               /* 5 fast timeouts per second */
-
-/*
- * Values for pr_flags.
- * PR_ADDR requires PR_ATOMIC;
- * PR_ADDR and PR_CONNREQUIRED are mutually exclusive.
- * PR_IMPLOPCL means that the protocol allows sendto without prior connect,
- *     and the protocol understands the MSG_EOF flag.  The first property is
- *     is only relevant if PR_CONNREQUIRED is set (otherwise sendto is allowed
- *     anyhow).
- */
-#define        PR_ATOMIC       0x01            /* exchange atomic messages only */
-#define        PR_ADDR         0x02            /* addresses given with messages */
-#define        PR_CONNREQUIRED 0x04            /* connection required by protocol */
-#define        PR_WANTRCVD     0x08            /* want PRU_RCVD calls */
-#define        PR_RIGHTS       0x10            /* passes capabilities */
-#define PR_IMPLOPCL    0x20            /* implied open/close */
-
-/*
- * The arguments to usrreq are:
- *     (*protosw[].pr_usrreq)(up, req, m, nam, opt);
- * where up is a (struct socket *), req is one of these requests,
- * m is a optional mbuf chain containing a message,
- * nam is an optional mbuf chain containing an address,
- * and opt is a pointer to a socketopt structure or nil.
- * The protocol is responsible for disposal of the mbuf chain m,
- * the caller is responsible for any space held by nam and opt.
- * A non-zero return from usrreq gives an
- * UNIX error number which should be passed to higher level software.
- */
-#define        PRU_ATTACH              0       /* attach protocol to up */
-#define        PRU_DETACH              1       /* detach protocol from up */
-#define        PRU_BIND                2       /* bind socket to address */
-#define        PRU_LISTEN              3       /* listen for connection */
-#define        PRU_CONNECT             4       /* establish connection to peer */
-#define        PRU_ACCEPT              5       /* accept connection from peer */
-#define        PRU_DISCONNECT          6       /* disconnect from peer */
-#define        PRU_SHUTDOWN            7       /* won't send any more data */
-#define        PRU_RCVD                8       /* have taken data; more room now */
-#define        PRU_SEND                9       /* send this data */
-#define        PRU_ABORT               10      /* abort (fast DISCONNECT, DETATCH) */
-#define        PRU_CONTROL             11      /* control operations on protocol */
-#define        PRU_SENSE               12      /* return status into m */
-#define        PRU_RCVOOB              13      /* retrieve out of band data */
-#define        PRU_SENDOOB             14      /* send out of band data */
-#define        PRU_SOCKADDR            15      /* fetch socket's address */
-#define        PRU_PEERADDR            16      /* fetch peer's address */
-#define        PRU_CONNECT2            17      /* connect two sockets */
-/* begin for protocols internal use */
-#define        PRU_FASTTIMO            18      /* 200ms timeout */
-#define        PRU_SLOWTIMO            19      /* 500ms timeout */
-#define        PRU_PROTORCV            20      /* receive from below */
-#define        PRU_PROTOSEND           21      /* send to below */
-#define PRU_SEND_EOF           22      /* send and close */
-#define PRU_NREQ               22
-
-#ifdef PRUREQUESTS
-char *prurequests[] = {
-       "ATTACH",       "DETACH",       "BIND",         "LISTEN",
-       "CONNECT",      "ACCEPT",       "DISCONNECT",   "SHUTDOWN",
-       "RCVD",         "SEND",         "ABORT",        "CONTROL",
-       "SENSE",        "RCVOOB",       "SENDOOB",      "SOCKADDR",
-       "PEERADDR",     "CONNECT2",     "FASTTIMO",     "SLOWTIMO",
-       "PROTORCV",     "PROTOSEND",
-       "SEND_EOF",
-};
-#endif
-
-/*
- * The arguments to the ctlinput routine are
- *     (*protosw[].pr_ctlinput)(cmd, sa, arg);
- * where cmd is one of the commands below, sa is a pointer to a sockaddr,
- * and arg is an optional caddr_t argument used within a protocol family.
- */
-#define        PRC_IFDOWN              0       /* interface transition */
-#define        PRC_ROUTEDEAD           1       /* select new route if possible ??? */
-#define        PRC_QUENCH2             3       /* DEC congestion bit says slow down */
-#define        PRC_QUENCH              4       /* some one said to slow down */
-#define        PRC_MSGSIZE             5       /* message size forced drop */
-#define        PRC_HOSTDEAD            6       /* host appears to be down */
-#define        PRC_HOSTUNREACH         7       /* deprecated (use PRC_UNREACH_HOST) */
-#define        PRC_UNREACH_NET         8       /* no route to network */
-#define        PRC_UNREACH_HOST        9       /* no route to host */
-#define        PRC_UNREACH_PROTOCOL    10      /* dst says bad protocol */
-#define        PRC_UNREACH_PORT        11      /* bad port # */
-/* was PRC_UNREACH_NEEDFRAG    12         (use PRC_MSGSIZE) */
-#define        PRC_UNREACH_SRCFAIL     13      /* source route failed */
-#define        PRC_REDIRECT_NET        14      /* net routing redirect */
-#define        PRC_REDIRECT_HOST       15      /* host routing redirect */
-#define        PRC_REDIRECT_TOSNET     16      /* redirect for type of service & net */
-#define        PRC_REDIRECT_TOSHOST    17      /* redirect for tos & host */
-#define        PRC_TIMXCEED_INTRANS    18      /* packet lifetime expired in transit */
-#define        PRC_TIMXCEED_REASS      19      /* lifetime expired on reass q */
-#define        PRC_PARAMPROB           20      /* header incorrect */
-
-#define        PRC_NCMDS               21
-
-#define        PRC_IS_REDIRECT(cmd)    \
-       ((cmd) >= PRC_REDIRECT_NET && (cmd) <= PRC_REDIRECT_TOSHOST)
-
-#ifdef PRCREQUESTS
-char   *prcrequests[] = {
-       "IFDOWN", "ROUTEDEAD", "#2", "DEC-BIT-QUENCH2",
-       "QUENCH", "MSGSIZE", "HOSTDEAD", "#7",
-       "NET-UNREACH", "HOST-UNREACH", "PROTO-UNREACH", "PORT-UNREACH",
-       "#12", "SRCFAIL-UNREACH", "NET-REDIRECT", "HOST-REDIRECT",
-       "TOSNET-REDIRECT", "TOSHOST-REDIRECT", "TX-INTRANS", "TX-REASS",
-       "PARAMPROB"
-};
-#endif
-
-/*
- * The arguments to ctloutput are:
- *     (*protosw[].pr_ctloutput)(req, so, level, optname, optval);
- * req is one of the actions listed below, so is a (struct socket *),
- * level is an indication of which protocol layer the option is intended.
- * optname is a protocol dependent socket option request,
- * optval is a pointer to a mbuf-chain pointer, for value-return results.
- * The protocol is responsible for disposal of the mbuf chain *optval
- * if supplied,
- * the caller is responsible for any space held by *optval, when returned.
- * A non-zero return from usrreq gives an
- * UNIX error number which should be passed to higher level software.
- */
-#define        PRCO_GETOPT     0
-#define        PRCO_SETOPT     1
-
-#define        PRCO_NCMDS      2
-
-#ifdef PRCOREQUESTS
-char   *prcorequests[] = {
-       "GETOPT", "SETOPT",
-};
-#endif
-
-#ifdef KERNEL
-extern struct protosw *pffindproto(), *pffindtype();
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/queue.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/queue.h
deleted file mode 100644 (file)
index fee9536..0000000
+++ /dev/null
@@ -1,391 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)queue.h     8.5 (Berkeley) 8/20/94
- */
-
-#ifndef _SYS_QUEUE_H_
-#define        _SYS_QUEUE_H_
-
-/*
- * This file defines five types of data structures: singly-linked lists,
- * slingly-linked tail queues, lists, tail queues, and circular queues.
- *
- * A singly-linked list is headed by a single forward pointer. The elements
- * are singly linked for minimum space and pointer manipulation overhead at
- * the expense of O(n) removal for arbitrary elements. New elements can be
- * added to the list after an existing element or at the head of the list.
- * Elements being removed from the head of the list should use the explicit
- * macro for this purpose for optimum efficiency. A singly-linked list may
- * only be traversed in the forward direction.  Singly-linked lists are ideal
- * for applications with large datasets and few or no removals or for
- * implementing a LIFO queue.
- *
- * A singly-linked tail queue is headed by a pair of pointers, one to the
- * head of the list and the other to the tail of the list. The elements are
- * singly linked for minimum space and pointer manipulation overhead at the
- * expense of O(n) removal for arbitrary elements. New elements can be added
- * to the list after an existing element, at the head of the list, or at the
- * end of the list. Elements being removed from the head of the tail queue
- * should use the explicit macro for this purpose for optimum efficiency.
- * A singly-linked tail queue may only be traversed in the forward direction.
- * Singly-linked tail queues are ideal for applications with large datasets
- * and few or no removals or for implementing a FIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may only be traversed in the forward direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- */
-
-#undef SLIST_HEAD
-#undef SLIST_ENTRY
-#undef SLIST_INIT
-
-/*
- * Singly-linked List definitions.
- */
-#define SLIST_HEAD(name, type)                                         \
-struct name {                                                          \
-       struct type *slh_first; /* first element */                     \
-}
-#define SLIST_ENTRY(type)                                              \
-struct {                                                               \
-       struct type *sle_next;  /* next element */                      \
-}
-/*
- * Singly-linked List functions.
- */
-#define SLIST_INIT(head) {                                             \
-       (head)->slh_first = NULL;                                       \
-}
-
-#define SLIST_INSERT_AFTER(slistelm, elm, field) {                     \
-       (elm)->field.sle_next = (slistelm)->field.sle_next;             \
-       (slistelm)->field.sle_next = (elm);                             \
-}
-
-#define SLIST_INSERT_HEAD(head, elm, field) {                          \
-       (elm)->field.sle_next = (head)->slh_first;                      \
-       (head)->slh_first = (elm);                                      \
-}
-
-#define SLIST_REMOVE_HEAD(head, field) {                               \
-       (head)->slh_first = (head)->slh_first->field.sle_next;          \
-}
-
-#define SLIST_REMOVE(head, elm, type, field) {                         \
-       if ((head)->slh_first == (elm)) {                               \
-               SLIST_REMOVE_HEAD((head), field);                       \
-       }                                                               \
-       else {                                                          \
-               struct type *curelm = (head)->slh_first;                \
-               while( curelm->field.sle_next != (elm) )                \
-                       curelm = curelm->field.sle_next;                \
-               curelm->field.sle_next =                                \
-                   curelm->field.sle_next->field.sle_next;             \
-       }                                                               \
-}
-
-/*
- * Singly-linked Tail queue definitions.
- */
-#define STAILQ_HEAD(name, type)                                                \
-struct name {                                                          \
-       struct type *stqh_first;/* first element */                     \
-       struct type **stqh_last;/* addr of last next element */         \
-}
-
-#define STAILQ_ENTRY(type)                                             \
-struct {                                                               \
-       struct type *stqe_next; /* next element */                      \
-}
-
-/*
- * Singly-linked Tail queue functions.
- */
-#define        STAILQ_INIT(head) {                                             \
-       (head)->stqh_first = NULL;                                      \
-       (head)->stqh_last = &(head)->stqh_first;                        \
-}
-
-#define STAILQ_INSERT_HEAD(head, elm, field) {                         \
-       if (((elm)->field.stqe_next = (head)->stqh_first) == NULL)      \
-               (head)->stqh_last = &(elm)->field.stqe_next;            \
-       (head)->stqh_first = (elm);                                     \
-}
-
-#define STAILQ_INSERT_TAIL(head, elm, field) {                         \
-       (elm)->field.stqe_next = NULL;                                  \
-       *(head)->stqh_last = (elm);                                     \
-       (head)->stqh_last = &(elm)->field.stqe_next;                    \
-}
-
-#define STAILQ_INSERT_AFTER(head, tqelm, elm, field) {                 \
-       if (((elm)->field.stqe_next = (tqelm)->field.stqe_next) == NULL)\
-               (head)->stqh_last = &(elm)->field.stqe_next;            \
-       (tqelm)->field.stqe_next = (elm);                               \
-}
-
-#define STAILQ_REMOVE_HEAD(head, field) {                              \
-       if (((head)->stqh_first =                                       \
-            (head)->stqh_first->field.stqe_next) == NULL)              \
-               (head)->stqh_last = &(head)->stqh_first;                \
-}
-
-#define STAILQ_REMOVE(head, elm, type, field) {                                \
-       if ((head)->stqh_first == (elm)) {                              \
-               STAILQ_REMOVE_HEAD(head, field);                        \
-       }                                                               \
-       else {                                                          \
-               struct type *curelm = (head)->stqh_first;               \
-               while( curelm->field.stqe_next != (elm) )               \
-                       curelm = curelm->field.stqe_next;               \
-               if((curelm->field.stqe_next =                           \
-                   curelm->field.stqe_next->field.stqe_next) == NULL)  \
-                       (head)->stqh_last = &(curelm)->field.stqe_next; \
-       }                                                               \
-}
-
-/*
- * List definitions.
- */
-#define LIST_HEAD(name, type)                                          \
-struct name {                                                          \
-       struct type *lh_first;  /* first element */                     \
-}
-
-#define LIST_ENTRY(type)                                               \
-struct {                                                               \
-       struct type *le_next;   /* next element */                      \
-       struct type **le_prev;  /* address of previous next element */  \
-}
-
-/*
- * List functions.
- */
-#define        LIST_INIT(head) {                                               \
-       (head)->lh_first = NULL;                                        \
-}
-
-#define LIST_INSERT_AFTER(listelm, elm, field) {                       \
-       if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)  \
-               (listelm)->field.le_next->field.le_prev =               \
-                   &(elm)->field.le_next;                              \
-       (listelm)->field.le_next = (elm);                               \
-       (elm)->field.le_prev = &(listelm)->field.le_next;               \
-}
-
-#define LIST_INSERT_BEFORE(listelm, elm, field) {                      \
-       (elm)->field.le_prev = (listelm)->field.le_prev;                \
-       (elm)->field.le_next = (listelm);                               \
-       *(listelm)->field.le_prev = (elm);                              \
-       (listelm)->field.le_prev = &(elm)->field.le_next;               \
-}
-
-#define LIST_INSERT_HEAD(head, elm, field) {                           \
-       if (((elm)->field.le_next = (head)->lh_first) != NULL)          \
-               (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
-       (head)->lh_first = (elm);                                       \
-       (elm)->field.le_prev = &(head)->lh_first;                       \
-}
-
-#define LIST_REMOVE(elm, field) {                                      \
-       if ((elm)->field.le_next != NULL)                               \
-               (elm)->field.le_next->field.le_prev =                   \
-                   (elm)->field.le_prev;                               \
-       *(elm)->field.le_prev = (elm)->field.le_next;                   \
-}
-
-/*
- * Tail queue definitions.
- */
-#define TAILQ_HEAD(name, type)                                         \
-struct name {                                                          \
-       struct type *tqh_first; /* first element */                     \
-       struct type **tqh_last; /* addr of last next element */         \
-}
-
-#define TAILQ_ENTRY(type)                                              \
-struct {                                                               \
-       struct type *tqe_next;  /* next element */                      \
-       struct type **tqe_prev; /* address of previous next element */  \
-}
-
-/*
- * Tail queue functions.
- */
-#define        TAILQ_INIT(head) {                                              \
-       (head)->tqh_first = NULL;                                       \
-       (head)->tqh_last = &(head)->tqh_first;                          \
-}
-
-#define TAILQ_INSERT_HEAD(head, elm, field) {                          \
-       if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)        \
-               (head)->tqh_first->field.tqe_prev =                     \
-                   &(elm)->field.tqe_next;                             \
-       else                                                            \
-               (head)->tqh_last = &(elm)->field.tqe_next;              \
-       (head)->tqh_first = (elm);                                      \
-       (elm)->field.tqe_prev = &(head)->tqh_first;                     \
-}
-
-#define TAILQ_INSERT_TAIL(head, elm, field) {                          \
-       (elm)->field.tqe_next = NULL;                                   \
-       (elm)->field.tqe_prev = (head)->tqh_last;                       \
-       *(head)->tqh_last = (elm);                                      \
-       (head)->tqh_last = &(elm)->field.tqe_next;                      \
-}
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) {                        \
-       if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
-               (elm)->field.tqe_next->field.tqe_prev =                 \
-                   &(elm)->field.tqe_next;                             \
-       else                                                            \
-               (head)->tqh_last = &(elm)->field.tqe_next;              \
-       (listelm)->field.tqe_next = (elm);                              \
-       (elm)->field.tqe_prev = &(listelm)->field.tqe_next;             \
-}
-
-#define TAILQ_INSERT_BEFORE(listelm, elm, field) {                     \
-       (elm)->field.tqe_prev = (listelm)->field.tqe_prev;              \
-       (elm)->field.tqe_next = (listelm);                              \
-       *(listelm)->field.tqe_prev = (elm);                             \
-       (listelm)->field.tqe_prev = &(elm)->field.tqe_next;             \
-}
-
-#define TAILQ_REMOVE(head, elm, field) {                               \
-       if (((elm)->field.tqe_next) != NULL)                            \
-               (elm)->field.tqe_next->field.tqe_prev =                 \
-                   (elm)->field.tqe_prev;                              \
-       else                                                            \
-               (head)->tqh_last = (elm)->field.tqe_prev;               \
-       *(elm)->field.tqe_prev = (elm)->field.tqe_next;                 \
-}
-
-/*
- * Circular queue definitions.
- */
-#define CIRCLEQ_HEAD(name, type)                                       \
-struct name {                                                          \
-       struct type *cqh_first;         /* first element */             \
-       struct type *cqh_last;          /* last element */              \
-}
-
-#define CIRCLEQ_ENTRY(type)                                            \
-struct {                                                               \
-       struct type *cqe_next;          /* next element */              \
-       struct type *cqe_prev;          /* previous element */          \
-}
-
-/*
- * Circular queue functions.
- */
-#define        CIRCLEQ_INIT(head) {                                            \
-       (head)->cqh_first = (void *)(head);                             \
-       (head)->cqh_last = (void *)(head);                              \
-}
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) {              \
-       (elm)->field.cqe_next = (listelm)->field.cqe_next;              \
-       (elm)->field.cqe_prev = (listelm);                              \
-       if ((listelm)->field.cqe_next == (void *)(head))                \
-               (head)->cqh_last = (elm);                               \
-       else                                                            \
-               (listelm)->field.cqe_next->field.cqe_prev = (elm);      \
-       (listelm)->field.cqe_next = (elm);                              \
-}
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) {             \
-       (elm)->field.cqe_next = (listelm);                              \
-       (elm)->field.cqe_prev = (listelm)->field.cqe_prev;              \
-       if ((listelm)->field.cqe_prev == (void *)(head))                \
-               (head)->cqh_first = (elm);                              \
-       else                                                            \
-               (listelm)->field.cqe_prev->field.cqe_next = (elm);      \
-       (listelm)->field.cqe_prev = (elm);                              \
-}
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) {                                \
-       (elm)->field.cqe_next = (head)->cqh_first;                      \
-       (elm)->field.cqe_prev = (void *)(head);                         \
-       if ((head)->cqh_last == (void *)(head))                         \
-               (head)->cqh_last = (elm);                               \
-       else                                                            \
-               (head)->cqh_first->field.cqe_prev = (elm);              \
-       (head)->cqh_first = (elm);                                      \
-}
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) {                                \
-       (elm)->field.cqe_next = (void *)(head);                         \
-       (elm)->field.cqe_prev = (head)->cqh_last;                       \
-       if ((head)->cqh_first == (void *)(head))                        \
-               (head)->cqh_first = (elm);                              \
-       else                                                            \
-               (head)->cqh_last->field.cqe_next = (elm);               \
-       (head)->cqh_last = (elm);                                       \
-}
-
-#define        CIRCLEQ_REMOVE(head, elm, field) {                              \
-       if ((elm)->field.cqe_next == (void *)(head))                    \
-               (head)->cqh_last = (elm)->field.cqe_prev;               \
-       else                                                            \
-               (elm)->field.cqe_next->field.cqe_prev =                 \
-                   (elm)->field.cqe_prev;                              \
-       if ((elm)->field.cqe_prev == (void *)(head))                    \
-               (head)->cqh_first = (elm)->field.cqe_next;              \
-       else                                                            \
-               (elm)->field.cqe_prev->field.cqe_next =                 \
-                   (elm)->field.cqe_next;                              \
-}
-#endif /* !_SYS_QUEUE_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/resource.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/resource.h
deleted file mode 100644 (file)
index cff763c..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)resource.h  8.2 (Berkeley) 1/4/94
- */
-
-#ifndef _SYS_RESOURCE_H_
-#define        _SYS_RESOURCE_H_
-
-/*
- * Process priority specifications to get/setpriority.
- */
-#define        PRIO_MIN        -20
-#define        PRIO_MAX        20
-
-#define        PRIO_PROCESS    0
-#define        PRIO_PGRP       1
-#define        PRIO_USER       2
-
-/*
- * Resource utilization information.
- */
-
-#define        RUSAGE_SELF     0
-#define        RUSAGE_CHILDREN -1
-
-struct rusage {
-       struct timeval ru_utime;        /* user time used */
-       struct timeval ru_stime;        /* system time used */
-       long    ru_maxrss;              /* max resident set size */
-#define        ru_first        ru_ixrss
-       long    ru_ixrss;               /* integral shared memory size */
-       long    ru_idrss;               /* integral unshared data " */
-       long    ru_isrss;               /* integral unshared stack " */
-       long    ru_minflt;              /* page reclaims */
-       long    ru_majflt;              /* page faults */
-       long    ru_nswap;               /* swaps */
-       long    ru_inblock;             /* block input operations */
-       long    ru_oublock;             /* block output operations */
-       long    ru_msgsnd;              /* messages sent */
-       long    ru_msgrcv;              /* messages received */
-       long    ru_nsignals;            /* signals received */
-       long    ru_nvcsw;               /* voluntary context switches */
-       long    ru_nivcsw;              /* involuntary " */
-#define        ru_last         ru_nivcsw
-};
-
-/*
- * Resource limits
- */
-#define        RLIMIT_CPU      0               /* cpu time in milliseconds */
-#define        RLIMIT_FSIZE    1               /* maximum file size */
-#define        RLIMIT_DATA     2               /* data size */
-#define        RLIMIT_STACK    3               /* stack size */
-#define        RLIMIT_CORE     4               /* core file size */
-#define        RLIMIT_RSS      5               /* resident set size */
-#define        RLIMIT_MEMLOCK  6               /* locked-in-memory address space */
-#define        RLIMIT_NPROC    7               /* number of processes */
-#define        RLIMIT_NOFILE   8               /* number of open files */
-
-#define        RLIM_NLIMITS    9               /* number of resource limits */
-
-#include <sys/types.h>                 /* XXX for quad_t */
-
-#define        RLIM_INFINITY   (((u_quad_t)1 << 63) - 1)
-
-struct orlimit {
-       long    rlim_cur;               /* current (soft) limit */
-       long    rlim_max;               /* maximum value for rlim_cur */
-};
-
-struct rlimit {
-       quad_t  rlim_cur;               /* current (soft) limit */
-       quad_t  rlim_max;               /* maximum value for rlim_cur */
-};
-
-/* Load average structure. */
-struct loadavg {
-       fixpt_t ldavg[3];
-       long fscale;
-};
-
-#ifdef KERNEL
-extern struct loadavg averunnable;
-
-#else
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int    getpriority __P((int, int));
-int    getrlimit __P((int, struct rlimit *));
-int    getrusage __P((int, struct rusage *));
-int    setpriority __P((int, int, int));
-int    setrlimit __P((int, const struct rlimit *));
-__END_DECLS
-
-#endif /* KERNEL */
-#endif /* !_SYS_RESOURCE_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/resourcevar.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/resourcevar.h
deleted file mode 100644 (file)
index 1dd0dc5..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)resourcevar.h       8.3 (Berkeley) 2/22/94
- */
-
-#ifndef        _SYS_RESOURCEVAR_H_
-#define        _SYS_RESOURCEVAR_H_
-
-/*
- * Kernel per-process accounting / statistics
- * (not necessarily resident except when running).
- */
-struct pstats {
-#define        pstat_startzero p_ru
-       struct  rusage p_ru;            /* stats for this proc */
-       struct  rusage p_cru;           /* sum of stats for reaped children */
-#define        pstat_endzero   pstat_startcopy
-
-#define        pstat_startcopy p_timer
-       struct  itimerval p_timer[3];   /* virtual-time timers */
-
-       struct uprof {                  /* profile arguments */
-               caddr_t pr_base;        /* buffer base */
-               u_long  pr_size;        /* buffer size */
-               u_long  pr_off;         /* pc offset */
-               u_long  pr_scale;       /* pc scaling */
-               u_long  pr_addr;        /* temp storage for addr until AST */
-               u_long  pr_ticks;       /* temp storage for ticks until AST */
-       } p_prof;
-#define        pstat_endcopy   p_start
-       struct  timeval p_start;        /* starting time */
-};
-
-/*
- * Kernel shareable process resource limits.  Because this structure
- * is moderately large but changes infrequently, it is normally
- * shared copy-on-write after forks.  If a group of processes
- * ("threads") share modifications, the PL_SHAREMOD flag is set,
- * and a copy must be made for the child of a new fork that isn't
- * sharing modifications to the limits.
- */
-struct plimit {
-       struct  rlimit pl_rlimit[RLIM_NLIMITS];
-#define        PL_SHAREMOD     0x01            /* modifications are shared */
-       int     p_lflags;
-       int     p_refcnt;               /* number of references */
-};
-
-/* add user profiling from AST */
-#define        ADDUPROF(p)                                                     \
-       addupc_task(p,                                                  \
-           (p)->p_stats->p_prof.pr_addr, (p)->p_stats->p_prof.pr_ticks)
-
-#ifdef KERNEL
-int     addupc __P((int pc, struct uprof *up, int ticks));
-void    addupc_intr __P((struct proc *p, u_long pc, u_int ticks));
-void    addupc_task __P((struct proc *p, u_long pc, u_int ticks));
-void    calcru __P((struct proc *p, struct timeval *up, struct timeval *sp,
-                    struct timeval *ip));
-int     fuswintr __P((void *base));
-struct plimit
-       *limcopy __P((struct plimit *lim));
-void    ruadd __P((struct rusage *ru, struct rusage *ru2));
-int     suswintr __P((void *base, int word));
-#endif
-
-#endif /* !_SYS_RESOURCEVAR_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/rtprio.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/rtprio.h
deleted file mode 100644 (file)
index 9719930..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 1994, Henrik Vestergaard Draboel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by (name).
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-#ifndef _SYS_RTPRIO_H_
-#define _SYS_RTPRIO_H_
-
-/*
- * Process realtime-priority specifications to rtprio.
- */
-
-/* priority types */
-#define RTP_PRIO_REALTIME      0
-#define RTP_PRIO_NORMAL                1
-#define RTP_PRIO_IDLE          2
-
-/* priority range */
-#define RTP_PRIO_MIN           0       /* Highest priority */
-#define RTP_PRIO_MAX           31      /* Lowest priority */
-
-/*
- * rtprio() syscall functions
- */
-#define RTP_LOOKUP             0
-#define RTP_SET                        1
-
-#ifndef LOCORE
-struct rtprio {
-       u_short type;
-       u_short prio;
-};
-#endif
-
-#ifndef KERNEL
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int    rtprio __P((int, pid_t, struct rtprio *));
-__END_DECLS
-#endif /* !KERNEL */
-#endif /* !_SYS_RTPRIO_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/select.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/select.h
deleted file mode 100644 (file)
index bbb19ff..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)select.h    8.2 (Berkeley) 1/4/94
- */
-
-#ifndef _SYS_SELECT_H_
-#define        _SYS_SELECT_H_
-
-#if defined(OSKIT)
-struct  listener_mgr;
-#endif
-
-/*
- * Used to maintain information about processes that wish to be
- * notified when I/O becomes possible.
- */
-struct selinfo {
-#if defined(OSKIT)
-       struct  listener_mgr *si_sel;
-#endif /* OSKIT */
-       pid_t   si_pid;         /* process to be notified */
-       short   si_flags;       /* see below */
-};
-#define        SI_COLL 0x0001          /* collision occurred */
-
-#ifdef KERNEL
-struct proc;
-
-void   selrecord __P((struct proc *selector, struct selinfo *));
-void   selwakeup __P((struct selinfo *));
-#endif
-
-#endif /* !_SYS_SELECT_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/signal.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/signal.h
deleted file mode 100644 (file)
index ad02589..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1989, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)signal.h    8.2 (Berkeley) 1/21/94
- */
-
-#ifndef        _SYS_SIGNAL_H_
-#define        _SYS_SIGNAL_H_
-
-#define NSIG   32              /* counting 0; could be 33 (mask is 1-32) */
-
-#ifndef _ANSI_SOURCE
-#include <machine/signal.h>    /* sigcontext; codes for SIGILL, SIGFPE */
-#endif
-
-#define        SIGHUP  1       /* hangup */
-#define        SIGINT  2       /* interrupt */
-#define        SIGQUIT 3       /* quit */
-#define        SIGILL  4       /* illegal instruction (not reset when caught) */
-#ifndef _POSIX_SOURCE
-#define        SIGTRAP 5       /* trace trap (not reset when caught) */
-#endif
-#define        SIGABRT 6       /* abort() */
-#ifndef _POSIX_SOURCE
-#define        SIGIOT  SIGABRT /* compatibility */
-#define        SIGEMT  7       /* EMT instruction */
-#endif
-#define        SIGFPE  8       /* floating point exception */
-#define        SIGKILL 9       /* kill (cannot be caught or ignored) */
-#ifndef _POSIX_SOURCE
-#define        SIGBUS  10      /* bus error */
-#endif
-#define        SIGSEGV 11      /* segmentation violation */
-#ifndef _POSIX_SOURCE
-#define        SIGSYS  12      /* bad argument to system call */
-#endif
-#define        SIGPIPE 13      /* write on a pipe with no one to read it */
-#define        SIGALRM 14      /* alarm clock */
-#define        SIGTERM 15      /* software termination signal from kill */
-#ifndef _POSIX_SOURCE
-#define        SIGURG  16      /* urgent condition on IO channel */
-#endif
-#define        SIGSTOP 17      /* sendable stop signal not from tty */
-#define        SIGTSTP 18      /* stop signal from tty */
-#define        SIGCONT 19      /* continue a stopped process */
-#define        SIGCHLD 20      /* to parent on child stop or exit */
-#define        SIGTTIN 21      /* to readers pgrp upon background tty read */
-#define        SIGTTOU 22      /* like TTIN for output if (tp->t_local&LTOSTOP) */
-#ifndef _POSIX_SOURCE
-#define        SIGIO   23      /* input/output possible signal */
-#define        SIGXCPU 24      /* exceeded CPU time limit */
-#define        SIGXFSZ 25      /* exceeded file size limit */
-#define        SIGVTALRM 26    /* virtual time alarm */
-#define        SIGPROF 27      /* profiling time alarm */
-#define SIGWINCH 28    /* window size changes */
-#define SIGINFO        29      /* information request */
-#endif
-#define SIGUSR1 30     /* user defined signal 1 */
-#define SIGUSR2 31     /* user defined signal 2 */
-
-#if defined(_ANSI_SOURCE) || defined(__cplusplus)
-/*
- * Language spec sez we must list exactly one parameter, even though we
- * actually supply three.  Ugh!
- */
-#define        SIG_DFL         (void (*)(int))0
-#define        SIG_IGN         (void (*)(int))1
-#define        SIG_ERR         (void (*)(int))-1
-#else
-#define        SIG_DFL         (void (*)())0
-#define        SIG_IGN         (void (*)())1
-#define        SIG_ERR         (void (*)())-1
-#endif
-
-#ifndef _ANSI_SOURCE
-typedef unsigned int sigset_t;
-
-/*
- * Signal vector "template" used in sigaction call.
- */
-struct sigaction {
-       void    (*sa_handler)();        /* signal handler */
-       sigset_t sa_mask;               /* signal mask to apply */
-       int     sa_flags;               /* see signal options below */
-};
-#ifndef _POSIX_SOURCE
-#define SA_ONSTACK     0x0001  /* take signal on signal stack */
-#define SA_RESTART     0x0002  /* restart system on signal return */
-#define        SA_DISABLE      0x0004  /* disable taking signals on alternate stack */
-#ifdef COMPAT_SUNOS
-#define        SA_USERTRAMP    0x0100  /* do not bounce off kernel's sigtramp */
-#endif
-#endif
-#define SA_NOCLDSTOP   0x0008  /* do not generate SIGCHLD on child stop */
-
-/*
- * Flags for sigprocmask:
- */
-#define        SIG_BLOCK       1       /* block specified signal set */
-#define        SIG_UNBLOCK     2       /* unblock specified signal set */
-#define        SIG_SETMASK     3       /* set specified signal set */
-
-#ifndef _POSIX_SOURCE
-#ifndef KERNEL
-#include <sys/cdefs.h>
-#endif
-typedef        void (*sig_t) __P((int));       /* type of signal function */
-
-/*
- * Structure used in sigaltstack call.
- */
-struct sigaltstack {
-       char    *ss_sp;                 /* signal stack base */
-       int     ss_size;                /* signal stack length */
-       int     ss_flags;               /* SA_DISABLE and/or SA_ONSTACK */
-};
-#define        MINSIGSTKSZ     8192                    /* minimum allowable stack */
-#define        SIGSTKSZ        (MINSIGSTKSZ + 32768)   /* recommended stack size */
-
-/*
- * 4.3 compatibility:
- * Signal vector "template" used in sigvec call.
- */
-struct sigvec {
-       void    (*sv_handler)();        /* signal handler */
-       int     sv_mask;                /* signal mask to apply */
-       int     sv_flags;               /* see signal options below */
-};
-
-#define SV_ONSTACK     SA_ONSTACK
-#define SV_INTERRUPT   SA_RESTART      /* same bit, opposite sense */
-#define sv_onstack sv_flags    /* isn't compatibility wonderful! */
-
-/*
- * Structure used in sigstack call.
- */
-struct sigstack {
-       char    *ss_sp;                 /* signal stack pointer */
-       int     ss_onstack;             /* current status */
-};
-
-/*
- * Macro for converting signal number to a mask suitable for
- * sigblock().
- */
-#define sigmask(m)     (1 << ((m)-1))
-
-#define        BADSIG          SIG_ERR
-
-#endif /* !_POSIX_SOURCE */
-#endif /* !_ANSI_SOURCE */
-
-/*
- * For historical reasons; programs expect signal's return value to be
- * defined by <sys/signal.h>.
- */
-__BEGIN_DECLS
-void   (*signal __P((int, void (*) __P((int))))) __P((int));
-__END_DECLS
-#endif /* !_SYS_SIGNAL_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/signalvar.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/signalvar.h
deleted file mode 100644 (file)
index 2c5394d..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)signalvar.h 8.3 (Berkeley) 1/4/94
- */
-
-#ifndef        _SYS_SIGNALVAR_H_               /* tmp for user.h */
-#define        _SYS_SIGNALVAR_H_
-
-/*
- * Kernel signal definitions and data structures,
- * not exported to user programs.
- */
-
-/*
- * Process signal actions and state, needed only within the process
- * (not necessarily resident).
- */
-struct sigacts {
-       sig_t   ps_sigact[NSIG];        /* disposition of signals */
-       sigset_t ps_catchmask[NSIG];    /* signals to be blocked */
-       sigset_t ps_sigonstack;         /* signals to take on sigstack */
-       sigset_t ps_sigintr;            /* signals that interrupt syscalls */
-       sigset_t ps_oldmask;            /* saved mask from before sigpause */
-       int     ps_flags;               /* signal flags, below */
-       struct  sigaltstack ps_sigstk;  /* sp & on stack state variable */
-       int     ps_sig;                 /* for core dump/debugger XXX */
-       int     ps_code;                /* for core dump/debugger XXX */
-       int     ps_addr;                /* for core dump/debugger XXX */
-       sigset_t ps_usertramp;          /* SunOS compat; libc sigtramp XXX */
-};
-
-/* signal flags */
-#define        SAS_OLDMASK     0x01            /* need to restore mask before pause */
-#define        SAS_ALTSTACK    0x02            /* have alternate signal stack */
-
-/* additional signal action values, used only temporarily/internally */
-#define        SIG_CATCH       (void (*)())2
-#define        SIG_HOLD        (void (*)())3
-
-/*
- * get signal action for process and signal; currently only for current process
- */
-#define SIGACTION(p, sig)      (p->p_sigacts->ps_sigact[(sig)])
-
-/*
- * Determine signal that should be delivered to process p, the current
- * process, 0 if none.  If there is a pending stop signal with default
- * action, the process stops in issig().
- */
-#define        CURSIG(p)                                                       \
-       (((p)->p_siglist == 0 ||                                        \
-           (((p)->p_flag & P_TRACED) == 0 &&                           \
-           ((p)->p_siglist & ~(p)->p_sigmask) == 0)) ?                 \
-           0 : issignal(p))
-
-/*
- * Clear a pending signal from a process.
- */
-#define        CLRSIG(p, sig)  { (p)->p_siglist &= ~sigmask(sig); }
-
-/*
- * Signal properties and actions.
- * The array below categorizes the signals and their default actions
- * according to the following properties:
- */
-#define        SA_KILL         0x01            /* terminates process by default */
-#define        SA_CORE         0x02            /* ditto and coredumps */
-#define        SA_STOP         0x04            /* suspend process */
-#define        SA_TTYSTOP      0x08            /* ditto, from tty */
-#define        SA_IGNORE       0x10            /* ignore by default */
-#define        SA_CONT         0x20            /* continue if suspended */
-#define        SA_CANTMASK     0x40            /* non-maskable, catchable */
-
-#ifdef SIGPROP
-int sigprop[NSIG + 1] = {
-       0,                      /* unused */
-       SA_KILL,                /* SIGHUP */
-       SA_KILL,                /* SIGINT */
-       SA_KILL|SA_CORE,        /* SIGQUIT */
-       SA_KILL|SA_CORE,        /* SIGILL */
-       SA_KILL|SA_CORE,        /* SIGTRAP */
-       SA_KILL|SA_CORE,        /* SIGABRT */
-       SA_KILL|SA_CORE,        /* SIGEMT */
-       SA_KILL|SA_CORE,        /* SIGFPE */
-       SA_KILL,                /* SIGKILL */
-       SA_KILL|SA_CORE,        /* SIGBUS */
-       SA_KILL|SA_CORE,        /* SIGSEGV */
-       SA_KILL|SA_CORE,        /* SIGSYS */
-       SA_KILL,                /* SIGPIPE */
-       SA_KILL,                /* SIGALRM */
-       SA_KILL,                /* SIGTERM */
-       SA_IGNORE,              /* SIGURG */
-       SA_STOP,                /* SIGSTOP */
-       SA_STOP|SA_TTYSTOP,     /* SIGTSTP */
-       SA_IGNORE|SA_CONT,      /* SIGCONT */
-       SA_IGNORE,              /* SIGCHLD */
-       SA_STOP|SA_TTYSTOP,     /* SIGTTIN */
-       SA_STOP|SA_TTYSTOP,     /* SIGTTOU */
-       SA_IGNORE,              /* SIGIO */
-       SA_KILL,                /* SIGXCPU */
-       SA_KILL,                /* SIGXFSZ */
-       SA_KILL,                /* SIGVTALRM */
-       SA_KILL,                /* SIGPROF */
-       SA_IGNORE,              /* SIGWINCH  */
-       SA_IGNORE,              /* SIGINFO */
-       SA_KILL,                /* SIGUSR1 */
-       SA_KILL,                /* SIGUSR2 */
-};
-
-#define        contsigmask     (sigmask(SIGCONT))
-#define        stopsigmask     (sigmask(SIGSTOP) | sigmask(SIGTSTP) | \
-                           sigmask(SIGTTIN) | sigmask(SIGTTOU))
-
-#endif /* SIGPROP */
-
-#define        sigcantmask     (sigmask(SIGKILL) | sigmask(SIGSTOP))
-
-#ifdef KERNEL
-/*
- * Machine-independent functions:
- */
-int    coredump __P((struct proc *p));
-void   execsigs __P((struct proc *p));
-void   gsignal __P((int pgid, int sig));
-int    issig __P((struct proc *p));
-int    issignal __P((struct proc *p));
-void   killproc __P((struct proc *, char *));
-void   pgsignal __P((struct pgrp *pgrp, int sig, int checkctty));
-void   postsig __P((int sig));
-void   psignal __P((struct proc *p, int sig));
-void   sigexit __P((struct proc *, int));
-void   siginit __P((struct proc *p));
-void   trapsignal __P((struct proc *p, int sig, unsigned code));
-
-/*
- * Machine-dependent functions:
- */
-void   sendsig __P((sig_t action, int sig, int returnmask, unsigned code));
-#endif /* KERNEL */
-#endif /* !_SYS_SIGNALVAR_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/socket.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/socket.h
deleted file mode 100644 (file)
index 63183ec..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Copyright (c) 1982, 1985, 1986, 1988, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)socket.h    8.4 (Berkeley) 2/21/94
- */
-
-#ifndef _OSK_SYS_SOCKET_H_
-#define        _OSK_SYS_SOCKET_H_
-
-/*
- * Definitions related to sockets: types, address families, options.
- */
-
-/*
- * Types
- */
-#define        SOCK_STREAM     1               /* stream socket */
-#define        SOCK_DGRAM      2               /* datagram socket */
-#define        SOCK_RAW        3               /* raw-protocol interface */
-#define        SOCK_RDM        4               /* reliably-delivered message */
-#define        SOCK_SEQPACKET  5               /* sequenced packet stream */
-
-/*
- * Option flags per-socket.
- */
-#define        SO_DEBUG        0x0001          /* turn on debugging info recording */
-#define        SO_ACCEPTCONN   0x0002          /* socket has had listen() */
-#define        SO_REUSEADDR    0x0004          /* allow local address reuse */
-#define        SO_KEEPALIVE    0x0008          /* keep connections alive */
-#define        SO_DONTROUTE    0x0010          /* just use interface addresses */
-#define        SO_BROADCAST    0x0020          /* permit sending of broadcast msgs */
-#define        SO_USELOOPBACK  0x0040          /* bypass hardware when possible */
-#define        SO_LINGER       0x0080          /* linger on close if data present */
-#define        SO_OOBINLINE    0x0100          /* leave received OOB data in line */
-#define        SO_REUSEPORT    0x0200          /* allow local address & port reuse */
-
-/*
- * Additional options, not kept in so_options.
- */
-#define SO_SNDBUF      0x1001          /* send buffer size */
-#define SO_RCVBUF      0x1002          /* receive buffer size */
-#define SO_SNDLOWAT    0x1003          /* send low-water mark */
-#define SO_RCVLOWAT    0x1004          /* receive low-water mark */
-#define SO_SNDTIMEO    0x1005          /* send timeout */
-#define SO_RCVTIMEO    0x1006          /* receive timeout */
-#define        SO_ERROR        0x1007          /* get error status and clear */
-#define        SO_TYPE         0x1008          /* get socket type */
-
-/*
- * Structure used for manipulating linger option.
- */
-struct linger {
-       int     l_onoff;                /* option on/off */
-       int     l_linger;               /* linger time */
-};
-
-/*
- * Level number for (get/set)sockopt() to apply to socket itself.
- */
-#define        SOL_SOCKET      0xffff          /* options for socket level */
-
-/*
- * Address families.
- */
-#define        AF_UNSPEC       0               /* unspecified */
-#define        AF_LOCAL        1               /* local to host (pipes, portals) */
-#define        AF_UNIX         AF_LOCAL        /* backward compatibility */
-#define        AF_INET         2               /* internetwork: UDP, TCP, etc. */
-#define        AF_IMPLINK      3               /* arpanet imp addresses */
-#define        AF_PUP          4               /* pup protocols: e.g. BSP */
-#define        AF_CHAOS        5               /* mit CHAOS protocols */
-#define        AF_NS           6               /* XEROX NS protocols */
-#define        AF_ISO          7               /* ISO protocols */
-#define        AF_OSI          AF_ISO
-#define        AF_ECMA         8               /* european computer manufacturers */
-#define        AF_DATAKIT      9               /* datakit protocols */
-#define        AF_CCITT        10              /* CCITT protocols, X.25 etc */
-#define        AF_SNA          11              /* IBM SNA */
-#define AF_DECnet      12              /* DECnet */
-#define AF_DLI         13              /* DEC Direct data link interface */
-#define AF_LAT         14              /* LAT */
-#define        AF_HYLINK       15              /* NSC Hyperchannel */
-#define        AF_APPLETALK    16              /* Apple Talk */
-#define        AF_ROUTE        17              /* Internal Routing Protocol */
-#define        AF_LINK         18              /* Link layer interface */
-#define        pseudo_AF_XTP   19              /* eXpress Transfer Protocol (no AF) */
-#define        AF_COIP         20              /* connection-oriented IP, aka ST II */
-#define        AF_CNT          21              /* Computer Network Technology */
-#define pseudo_AF_RTIP 22              /* Help Identify RTIP packets */
-#define        AF_IPX          23              /* Novell Internet Protocol */
-#define        AF_SIP          24              /* Simple Internet Protocol */
-#define        pseudo_AF_PIP   25              /* Help Identify PIP packets */
-#define        AF_ISDN         26              /* Integrated Services Digital Network*/
-#define        AF_E164         AF_ISDN         /* CCITT E.164 recommendation */
-#define        pseudo_AF_KEY   27              /* Internal key-management function */
-#define        AF_INET6        28              /* IPv6 */
-
-#define        AF_MAX          29
-
-/*
- * Structure used by kernel to store most
- * addresses.
- */
-struct sockaddr {
-       u_char  sa_len;                 /* total length */
-       u_char  sa_family;              /* address family */
-       char    sa_data[14];            /* actually longer; address value */
-};
-
-/*
- * Structure used by kernel to pass protocol
- * information in raw sockets.
- */
-struct sockproto {
-       u_short sp_family;              /* address family */
-       u_short sp_protocol;            /* protocol */
-};
-
-/*
- * Protocol families, same as address families for now.
- */
-#define        PF_UNSPEC       AF_UNSPEC
-#define        PF_LOCAL        AF_LOCAL
-#define        PF_UNIX         PF_LOCAL        /* backward compatibility */
-#define        PF_INET         AF_INET
-#define        PF_IMPLINK      AF_IMPLINK
-#define        PF_PUP          AF_PUP
-#define        PF_CHAOS        AF_CHAOS
-#define        PF_NS           AF_NS
-#define        PF_ISO          AF_ISO
-#define        PF_OSI          AF_ISO
-#define        PF_ECMA         AF_ECMA
-#define        PF_DATAKIT      AF_DATAKIT
-#define        PF_CCITT        AF_CCITT
-#define        PF_SNA          AF_SNA
-#define PF_DECnet      AF_DECnet
-#define PF_DLI         AF_DLI
-#define PF_LAT         AF_LAT
-#define        PF_HYLINK       AF_HYLINK
-#define        PF_APPLETALK    AF_APPLETALK
-#define        PF_ROUTE        AF_ROUTE
-#define        PF_LINK         AF_LINK
-#define        PF_XTP          pseudo_AF_XTP   /* really just proto family, no AF */
-#define        PF_COIP         AF_COIP
-#define        PF_CNT          AF_CNT
-#define        PF_SIP          AF_SIP
-#define        PF_IPX          AF_IPX          /* same format as AF_NS */
-#define PF_RTIP                pseudo_AF_FTIP  /* same format as AF_INET */
-#define PF_PIP         pseudo_AF_PIP
-#define        PF_ISDN         AF_ISDN
-
-#define        PF_MAX          AF_MAX
-
-/*
- * Definitions for network related sysctl, CTL_NET.
- *
- * Second level is protocol family.
- * Third level is protocol number.
- *
- * Further levels are defined by the individual families below.
- */
-#define NET_MAXID      AF_MAX
-
-#define CTL_NET_NAMES { \
-       { 0, 0 }, \
-       { "unix", CTLTYPE_NODE }, \
-       { "inet", CTLTYPE_NODE }, \
-       { "implink", CTLTYPE_NODE }, \
-       { "pup", CTLTYPE_NODE }, \
-       { "chaos", CTLTYPE_NODE }, \
-       { "xerox_ns", CTLTYPE_NODE }, \
-       { "iso", CTLTYPE_NODE }, \
-       { "emca", CTLTYPE_NODE }, \
-       { "datakit", CTLTYPE_NODE }, \
-       { "ccitt", CTLTYPE_NODE }, \
-       { "ibm_sna", CTLTYPE_NODE }, \
-       { "decnet", CTLTYPE_NODE }, \
-       { "dec_dli", CTLTYPE_NODE }, \
-       { "lat", CTLTYPE_NODE }, \
-       { "hylink", CTLTYPE_NODE }, \
-       { "appletalk", CTLTYPE_NODE }, \
-       { "route", CTLTYPE_NODE }, \
-       { "link_layer", CTLTYPE_NODE }, \
-       { "xtp", CTLTYPE_NODE }, \
-       { "coip", CTLTYPE_NODE }, \
-       { "cnt", CTLTYPE_NODE }, \
-       { "rtip", CTLTYPE_NODE }, \
-       { "ipx", CTLTYPE_NODE }, \
-       { "sip", CTLTYPE_NODE }, \
-       { "pip", CTLTYPE_NODE }, \
-}
-
-/*
- * PF_ROUTE - Routing table
- *
- * Three additional levels are defined:
- *     Fourth: address family, 0 is wildcard
- *     Fifth: type of info, defined below
- *     Sixth: flag(s) to mask with for NET_RT_FLAGS
- */
-#define NET_RT_DUMP    1               /* dump; may limit to a.f. */
-#define NET_RT_FLAGS   2               /* by flags, e.g. RESOLVING */
-#define NET_RT_IFLIST  3               /* survey interface list */
-#define        NET_RT_MAXID    4
-
-#define CTL_NET_RT_NAMES { \
-       { 0, 0 }, \
-       { "dump", CTLTYPE_STRUCT }, \
-       { "flags", CTLTYPE_STRUCT }, \
-       { "iflist", CTLTYPE_STRUCT }, \
-}
-
-/*
- * Maximum queue length specifiable by listen.
- */
-#define        SOMAXCONN       128
-
-/*
- * Message header for recvmsg and sendmsg calls.
- * Used value-result for recvmsg, value only for sendmsg.
- */
-struct msghdr {
-       caddr_t msg_name;               /* optional address */
-       u_int   msg_namelen;            /* size of address */
-       struct  iovec *msg_iov;         /* scatter/gather array */
-       u_int   msg_iovlen;             /* # elements in msg_iov */
-       caddr_t msg_control;            /* ancillary data, see below */
-       u_int   msg_controllen;         /* ancillary data buffer len */
-       int     msg_flags;              /* flags on received message */
-};
-
-#endif
-
-#ifndef MSG_OOB
-#define        MSG_OOB         0x1             /* process out-of-band data */
-#define        MSG_PEEK        0x2             /* peek at incoming message */
-#define        MSG_DONTROUTE   0x4             /* send without using routing tables */
-#endif
-#ifndef MSG_EOR
-#define        MSG_EOR         0x8             /* data completes record */
-#define        MSG_TRUNC       0x10            /* data discarded before delivery */
-#define        MSG_CTRUNC      0x20            /* control data lost before delivery */
-#define        MSG_WAITALL     0x40            /* wait for full request or error */
-#endif
-#ifndef MSG_DONTWAIT
-#define        MSG_DONTWAIT    0x80            /* this message should be nonblocking */
-#define        MSG_EOF         0x100           /* data completes connection */
-#define MSG_COMPAT      0x8000         /* used in sendit() */
-#endif
-
-#ifndef __REACTOS__
-/*
- * Header for ancillary data objects in msg_control buffer.
- * Used for additional information with/about a datagram
- * not expressible by flags.  The format is a sequence
- * of message elements headed by cmsghdr structures.
- */
-struct cmsghdr {
-       u_int   cmsg_len;               /* data byte count, including hdr */
-       int     cmsg_level;             /* originating protocol */
-       int     cmsg_type;              /* protocol-specific type */
-/* followed by u_char  cmsg_data[]; */
-};
-
-/* given pointer to struct cmsghdr, return pointer to data */
-#define        CMSG_DATA(cmsg)         ((u_char *)((cmsg) + 1))
-
-/* given pointer to struct cmsghdr, return pointer to next cmsghdr */
-#define        CMSG_NXTHDR(mhdr, cmsg) \
-       (((caddr_t)(cmsg) + (cmsg)->cmsg_len + sizeof(struct cmsghdr) > \
-           (mhdr)->msg_control + (mhdr)->msg_controllen) ? \
-           (struct cmsghdr *)NULL : \
-           (struct cmsghdr *)((caddr_t)(cmsg) + ALIGN((cmsg)->cmsg_len)))
-
-#define        CMSG_FIRSTHDR(mhdr)     ((struct cmsghdr *)(mhdr)->msg_control)
-
-/* "Socket"-level control message types: */
-#define        SCM_RIGHTS      0x01            /* access rights (array of int) */
-
-/*
- * 4.3 compat sockaddr, move to compat file later
- */
-struct osockaddr {
-       u_short sa_family;              /* address family */
-       char    sa_data[14];            /* up to 14 bytes of direct address */
-};
-
-/*
- * 4.3-compat message header (move to compat file later).
- */
-struct omsghdr {
-       caddr_t msg_name;               /* optional address */
-       int     msg_namelen;            /* size of address */
-       struct  iovec *msg_iov;         /* scatter/gather array */
-       int     msg_iovlen;             /* # elements in msg_iov */
-       caddr_t msg_accrights;          /* access rights sent/received */
-       int     msg_accrightslen;
-};
-
-#ifndef        KERNEL
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int    accept __P((int, struct sockaddr *, int *));
-int    bind __P((int, const struct sockaddr *, int));
-int    connect __P((int, const struct sockaddr *, int));
-int    getpeername __P((int, struct sockaddr *, int *));
-int    getsockname __P((int, struct sockaddr *, int *));
-int    getsockopt __P((int, int, int, void *, int *));
-int    listen __P((int, int));
-ssize_t        recv __P((int, void *, size_t, int));
-ssize_t        recvfrom __P((int, void *, size_t, int, struct sockaddr *, int *));
-ssize_t        recvmsg __P((int, struct msghdr *, int));
-ssize_t        send __P((int, const void *, size_t, int));
-ssize_t        sendto __P((int, const void *,
-           size_t, int, const struct sockaddr *, int));
-ssize_t        sendmsg __P((int, const struct msghdr *, int));
-int    setsockopt __P((int, int, int, const void *, int));
-int    shutdown __P((int, int));
-int    socket __P((int, int, int));
-int    socketpair __P((int, int, int, int *));
-__END_DECLS
-
-#else /* KERNEL */
-void   pfctlinput __P((int, struct sockaddr *));
-#endif /* !KERNEL */
-#endif /* !_OSK_SYS_SOCKET_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/socketvar.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/socketvar.h
deleted file mode 100644 (file)
index d5b4fb5..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)socketvar.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_SOCKETVAR_H_
-#define _SYS_SOCKETVAR_H_
-
-#include <sys/stat.h>                  /* for struct stat */
-#include <sys/filedesc.h>              /* for struct filedesc */
-#include <sys/select.h>                        /* for struct selinfo */
-
-/*
- * Kernel structure per socket.
- * Contains send and receive buffer queues,
- * handle on protocol and pointer to protocol
- * private data and error information.
- */
-struct socket {
-       short   so_type;                /* generic type, see socket.h */
-       short   so_options;             /* from socket call, see socket.h */
-       short   so_linger;              /* time to linger while closing */
-       short   so_state;               /* internal state flags SS_*, below */
-       caddr_t so_pcb;                 /* protocol control block */
-       struct  protosw *so_proto;      /* protocol handle */
-/*
- * Variables for connection queueing.
- * Socket where accepts occur is so_head in all subsidiary sockets.
- * If so_head is 0, socket is not related to an accept.
- * For head socket so_q0 queues partially completed connections,
- * while so_q is a queue of connections ready to be accepted.
- * If a connection is aborted and it has so_head set, then
- * it has to be pulled out of either so_q0 or so_q.
- * We allow connections to queue up based on current queue lengths
- * and limit on number of queued connections for this socket.
- */
-       struct  socket *so_head;        /* back pointer to accept socket */
-       struct  socket *so_q0;          /* queue of partial connections */
-       struct  socket *so_q;           /* queue of incoming connections */
-       short   so_q0len;               /* partials on so_q0 */
-       short   so_qlen;                /* number of connections on so_q */
-       short   so_qlimit;              /* max number queued connections */
-       short   so_timeo;               /* connection timeout */
-       u_short so_error;               /* error affecting connection */
-       pid_t   so_pgid;                /* pgid for signals */
-       u_long  so_oobmark;             /* chars to oob mark */
-/*
- * Variables for socket buffering.
- */
-       struct  sockbuf {
-               u_long  sb_cc;          /* actual chars in buffer */
-               u_long  sb_hiwat;       /* max actual char count */
-               u_long  sb_mbcnt;       /* chars of mbufs used */
-               u_long  sb_mbmax;       /* max chars of mbufs to use */
-               long    sb_lowat;       /* low water mark */
-               struct  mbuf *sb_mb;    /* the mbuf chain */
-               struct  selinfo sb_sel; /* process selecting read/write */
-               short   sb_flags;       /* flags, see below */
-               short   sb_timeo;       /* timeout for read/write */
-       } so_rcv, so_snd;
-#define        SB_MAX          (256*1024)      /* default for max chars in sockbuf */
-#define        SB_LOCK         0x01            /* lock on data queue */
-#define        SB_WANT         0x02            /* someone is waiting to lock */
-#define        SB_WAIT         0x04            /* someone is waiting for data/space */
-#define        SB_SEL          0x08            /* someone is selecting */
-#define        SB_ASYNC        0x10            /* ASYNC I/O, need signals */
-#define        SB_NOTIFY       (SB_WAIT|SB_SEL|SB_ASYNC)
-#define        SB_NOINTR       0x40            /* operations not interruptible */
-
-       caddr_t so_tpcb;                /* Wisc. protocol control block XXX */
-       void    (*so_upcall) __P((struct socket *so, caddr_t arg, int waitf));
-       caddr_t so_upcallarg;           /* Arg for above */
-
-#ifdef __REACTOS__
-    void *so_connection;                /* The connection object used by our parent */
-#endif
-};
-
-/*
- * Socket state bits.
- */
-#define        SS_NOFDREF              0x001   /* no file table ref any more */
-#define        SS_ISCONNECTED          0x002   /* socket connected to a peer */
-#define        SS_ISCONNECTING         0x004   /* in process of connecting to peer */
-#define        SS_ISDISCONNECTING      0x008   /* in process of disconnecting */
-#define        SS_CANTSENDMORE         0x010   /* can't send more data to peer */
-#define        SS_CANTRCVMORE          0x020   /* can't receive more data from peer */
-#define        SS_RCVATMARK            0x040   /* at mark on input */
-
-#define        SS_PRIV                 0x080   /* privileged for broadcast, raw... */
-#define        SS_NBIO                 0x100   /* non-blocking ops */
-#define        SS_ASYNC                0x200   /* async i/o notify */
-#define        SS_ISCONFIRMING         0x400   /* deciding to accept connection req */
-
-
-/*
- * Macros for sockets and socket buffering.
- */
-
-/*
- * How much space is there in a socket buffer (so->so_snd or so->so_rcv)?
- * This is problematical if the fields are unsigned, as the space might
- * still be negative (cc > hiwat or mbcnt > mbmax).  Should detect
- * overflow and return 0.  Should use "lmin" but it doesn't exist now.
- */
-#define        sbspace(sb) \
-    ((long) imin((int)((sb)->sb_hiwat - (sb)->sb_cc), \
-        (int)((sb)->sb_mbmax - (sb)->sb_mbcnt)))
-
-/* do we have to send all at once on a socket? */
-#define        sosendallatonce(so) \
-    ((so)->so_proto->pr_flags & PR_ATOMIC)
-
-/* can we read something from so? */
-#define        soreadable(so) \
-    ((so)->so_rcv.sb_cc >= (so)->so_rcv.sb_lowat || \
-       ((so)->so_state & SS_CANTRCVMORE) || \
-       (so)->so_qlen || (so)->so_error)
-
-/* can we write something to so? */
-#define        sowriteable(so) \
-    ((sbspace(&(so)->so_snd) >= (so)->so_snd.sb_lowat && \
-       (((so)->so_state&SS_ISCONNECTED) || \
-         ((so)->so_proto->pr_flags&PR_CONNREQUIRED)==0)) || \
-     ((so)->so_state & SS_CANTSENDMORE) || \
-     (so)->so_error)
-
-/* adjust counters in sb reflecting allocation of m */
-#define        sballoc(sb, m) { \
-       (sb)->sb_cc += (m)->m_len; \
-       (sb)->sb_mbcnt += MSIZE; \
-       if ((m)->m_flags & M_EXT) \
-               (sb)->sb_mbcnt += (m)->m_ext.ext_size; \
-}
-
-/* adjust counters in sb reflecting freeing of m */
-#define        sbfree(sb, m) { \
-       (sb)->sb_cc -= (m)->m_len; \
-       (sb)->sb_mbcnt -= MSIZE; \
-       if ((m)->m_flags & M_EXT) \
-               (sb)->sb_mbcnt -= (m)->m_ext.ext_size; \
-}
-
-/*
- * Set lock on sockbuf sb; sleep if lock is already held.
- * Unless SB_NOINTR is set on sockbuf, sleep is interruptible.
- * Returns error without lock if sleep is interrupted.
- */
-#define sblock(sb, wf) ((sb)->sb_flags & SB_LOCK ? \
-               (((wf) == M_WAITOK) ? sb_lock(sb) : EWOULDBLOCK) : \
-               ((sb)->sb_flags |= SB_LOCK), 0)
-
-/* release lock on sockbuf sb */
-#define        sbunlock(sb) { \
-       (sb)->sb_flags &= ~SB_LOCK; \
-       if ((sb)->sb_flags & SB_WANT) { \
-               (sb)->sb_flags &= ~SB_WANT; \
-               wakeup((caddr_t)&(sb)->sb_flags); \
-       } \
-}
-
-#define        sorwakeup(so)   { sowakeup((so), &(so)->so_rcv); \
-                         if ((so)->so_upcall) \
-                           (*((so)->so_upcall))((so), (so)->so_upcallarg, M_DONTWAIT); \
-                       }
-
-#define        sowwakeup(so)   sowakeup((so), &(so)->so_snd)
-
-#ifdef KERNEL
-extern u_long  sb_max;
-/* to catch callers missing new second argument to sonewconn: */
-#define        sonewconn(head, connstatus)     sonewconn1((head), (connstatus))
-struct socket *sonewconn1 __P((struct socket *head, int connstatus));
-
-/* strings for sleep message: */
-extern char netio[], netcon[], netcls[];
-
-/*
- * File operations on sockets.
- */
-int    soo_read __P((struct file *fp, struct uio *uio, struct ucred *cred));
-int    soo_write __P((struct file *fp, struct uio *uio, struct ucred *cred));
-int    soo_ioctl __P((struct file *fp, int com, caddr_t data, struct proc *p));
-int    soo_select __P((struct file *fp, int which, struct proc *p));
-int    soo_close __P((struct file *fp, struct proc *p));
-int    soo_stat __P((struct socket *, struct stat *));
-
-/*
- * From uipc_socket and friends
- */
-void    soqinsque __P((struct socket *, struct socket *, int));
-void    sowakeup __P((struct socket *, struct sockbuf *));
-void    socantrcvmore __P((struct socket *));
-void    socantsendmore __P((struct socket *));
-void    sbrelease __P((struct sockbuf *));
-void    sbappend __P((struct socket *, struct sockbuf *, struct mbuf *));
-void    sbappendrecord __P((struct sockbuf *, struct mbuf *));
-int    sbappendcontrol __P((struct sockbuf *, struct mbuf *, struct mbuf *));
-int    sbappendaddr __P((struct sockbuf *, struct sockaddr *, struct mbuf *, struct mbuf *));
-void    sbdroprecord __P((struct sockbuf *));
-void    sbcompress __P((struct sockbuf *, struct mbuf *, struct mbuf *));
-void    sbflush __P((struct sockbuf *));
-int     sbreserve __P((struct sockbuf *,u_long));
-int     soreserve __P((struct socket *,u_long,u_long));
-int     sb_lock __P((struct sockbuf *));
-int     sbwait __P((struct sockbuf *));
-void    sbdrop __P((struct sockbuf *, int));
-void    sofree __P((struct socket *));
-void    sorflush __P((struct socket *));
-int    soqremque __P((struct socket *,int));
-int     soabort __P((struct socket *));
-void    soisdisconnected __P((struct socket *));
-void    soisconnected __P((struct socket *));
-void    soisconnecting __P((struct socket *));
-void    soisdisconnecting __P((struct socket *));
-void    sohasoutofband __P((struct socket *));
-int     sodisconnect __P((struct socket *));
-int    sosend __P((struct socket *,struct mbuf *, struct uio *, struct mbuf *, struct mbuf *, int));
-int    socreate __P((int, struct socket **,int,int));
-int    getsock __P((struct filedesc *,int,struct file **));
-int    sockargs __P((struct mbuf **,caddr_t,int,int));
-int    sobind __P((struct socket *,struct mbuf *));
-int    solisten __P((struct socket *,int));
-int    soaccept __P((struct socket *,struct mbuf *));
-int    soconnect __P((struct socket *,struct mbuf *));
-int    soconnect2 __P((struct socket *,struct socket *));
-int    soclose __P((struct socket *));
-int    soshutdown __P((struct socket *,int));
-int    soreceive __P((struct socket *,struct mbuf **,struct uio *,struct mbuf **,struct mbuf **,int *));
-int    sosetopt __P((struct socket *,int, int, struct mbuf *));
-int    sogetopt __P((struct socket *,int, int, struct mbuf **));
-#endif
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/sockio.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/sockio.h
deleted file mode 100644 (file)
index 05dfd90..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)sockio.h    8.1 (Berkeley) 3/28/94
- */
-
-#ifndef        _SYS_SOCKIO_H_
-#define        _SYS_SOCKIO_H_
-
-#ifndef __REACTOS__
-#include <sys/ioccom.h>
-
-/* Socket ioctl's. */
-#define        SIOCSHIWAT       _IOW('s',  0, int)             /* set high watermark */
-#define        SIOCGHIWAT       _IOR('s',  1, int)             /* get high watermark */
-#define        SIOCSLOWAT       _IOW('s',  2, int)             /* set low watermark */
-#define        SIOCGLOWAT       _IOR('s',  3, int)             /* get low watermark */
-#define        SIOCATMARK       _IOR('s',  7, int)             /* at oob mark? */
-#define        SIOCSPGRP        _IOW('s',  8, int)             /* set process group */
-#define        SIOCGPGRP        _IOR('s',  9, int)             /* get process group */
-
-#define        SIOCADDRT        _IOW('r', 10, struct ortentry) /* add route */
-#define        SIOCDELRT        _IOW('r', 11, struct ortentry) /* delete route */
-#define        SIOCSETRTINFO   _IOWR('r', 12, struct fullrtentry) /* change aux info */
-#define        SIOCGETRTINFO   _IOWR('r', 13, struct fullrtentry) /* read aux info */
-#define        SIOCGETVIFINF   _IOWR('r', 14, struct vif_conf)   /* read m/c vifs  */
-#define SIOCGETVIFCNT  _IOWR('r', 15, struct sioc_vif_req)/* get vif pkt cnt */
-#define SIOCGETSGCNT   _IOWR('r', 16, struct sioc_sg_req) /* get s,g pkt cnt */
-
-#define        SIOCSIFADDR      _IOW('i', 12, struct ifreq)    /* set ifnet address */
-#define        OSIOCGIFADDR    _IOWR('i', 13, struct ifreq)    /* get ifnet address */
-#define        SIOCGIFADDR     _IOWR('i', 33, struct ifreq)    /* get ifnet address */
-#define        SIOCSIFDSTADDR   _IOW('i', 14, struct ifreq)    /* set p-p address */
-#define        OSIOCGIFDSTADDR _IOWR('i', 15, struct ifreq)    /* get p-p address */
-#define        SIOCGIFDSTADDR  _IOWR('i', 34, struct ifreq)    /* get p-p address */
-#define        SIOCSIFFLAGS     _IOW('i', 16, struct ifreq)    /* set ifnet flags */
-#define        SIOCGIFFLAGS    _IOWR('i', 17, struct ifreq)    /* get ifnet flags */
-#define        OSIOCGIFBRDADDR _IOWR('i', 18, struct ifreq)    /* get broadcast addr */
-#define        SIOCGIFBRDADDR  _IOWR('i', 35, struct ifreq)    /* get broadcast addr */
-#define        SIOCSIFBRDADDR   _IOW('i', 19, struct ifreq)    /* set broadcast addr */
-#define        OSIOCGIFCONF    _IOWR('i', 20, struct ifconf)   /* get ifnet list */
-#define        SIOCGIFCONF     _IOWR('i', 36, struct ifconf)   /* get ifnet list */
-#define        OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq)    /* get net addr mask */
-#define        SIOCGIFNETMASK  _IOWR('i', 37, struct ifreq)    /* get net addr mask */
-#define        SIOCSIFNETMASK   _IOW('i', 22, struct ifreq)    /* set net addr mask */
-#define        SIOCGIFMETRIC   _IOWR('i', 23, struct ifreq)    /* get IF metric */
-#define        SIOCSIFMETRIC    _IOW('i', 24, struct ifreq)    /* set IF metric */
-#define        SIOCDIFADDR      _IOW('i', 25, struct ifreq)    /* delete IF addr */
-#define        SIOCAIFADDR      _IOW('i', 26, struct ifaliasreq)/* add/chg IF alias */
-
-#define        SIOCADDMULTI     _IOW('i', 49, struct ifreq)    /* add m'cast addr */
-#define        SIOCDELMULTI     _IOW('i', 50, struct ifreq)    /* del m'cast addr */
-#define SIOCGIFMTU     _IOWR('i', 51, struct ifreq)    /* get IF mtu */
-#define SIOCSIFMTU      _IOW('i', 52, struct ifreq)    /* set IF mtu */
-#define SIOCGIFPHYS    _IOWR('i', 53, struct ifreq)    /* get IF wire */
-#define SIOCSIFPHYS     _IOW('i', 54, struct ifreq)    /* set IF wire */
-#endif
-
-#endif /* !_SYS_SOCKIO_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/stat.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/stat.h
deleted file mode 100644 (file)
index 87e6e5f..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)stat.h      8.6 (Berkeley) 3/8/94
- */
-
-#ifndef _SYS_STAT_H_
-#define        _SYS_STAT_H_
-
-/*
- * XXX we need this for struct timespec.  We get miscellaneous namespace
- * pollution with it.  struct timespace itself is namespace pollution if
- * _POSIX_SOURCE is defined.
- */
-#include <sys/time.h>
-
-#ifndef _POSIX_SOURCE
-struct ostat {
-       unsigned short  st_dev;         /* inode's device */
-       ino_t   st_ino;                 /* inode's number */
-       mode_t  st_mode;                /* inode protection mode */
-       nlink_t st_nlink;               /* number of hard links */
-       unsigned short  st_uid;         /* user ID of the file's owner */
-       unsigned short  st_gid;         /* group ID of the file's group */
-       unsigned short  st_rdev;        /* device type */
-       long    st_size;                /* file size, in bytes */
-       struct  timespec st_atimespec;  /* time of last access */
-       struct  timespec st_mtimespec;  /* time of last data modification */
-       struct  timespec st_ctimespec;  /* time of last file status change */
-       long    st_blksize;             /* optimal blocksize for I/O */
-       long    st_blocks;              /* blocks allocated for file */
-       unsigned long   st_flags;       /* user defined flags for file */
-       unsigned long   st_gen;         /* file generation number */
-};
-#endif /* !_POSIX_SOURCE */
-
-struct stat {
-       dev_t   st_dev;                 /* inode's device */
-       ino_t   st_ino;                 /* inode's number */
-       mode_t  st_mode;                /* inode protection mode */
-       nlink_t st_nlink;               /* number of hard links */
-       uid_t   st_uid;                 /* user ID of the file's owner */
-       gid_t   st_gid;                 /* group ID of the file's group */
-       dev_t   st_rdev;                /* device type */
-       struct  timespec st_atimespec;  /* time of last access */
-       struct  timespec st_mtimespec;  /* time of last data modification */
-       struct  timespec st_ctimespec;  /* time of last file status change */
-       off_t   st_size;                /* file size, in bytes */
-       quad_t  st_blocks;              /* blocks allocated for file */
-       unsigned long   st_blksize;     /* optimal blocksize for I/O */
-       unsigned long   st_flags;       /* user defined flags for file */
-       unsigned long   st_gen;         /* file generation number */
-       long    st_lspare;
-       quad_t  st_qspare[2];
-};
-#define st_atime st_atimespec.ts_sec
-#define st_mtime st_mtimespec.ts_sec
-#define st_ctime st_ctimespec.ts_sec
-
-#define        S_ISUID 0004000                 /* set user id on execution */
-#define        S_ISGID 0002000                 /* set group id on execution */
-#ifndef _POSIX_SOURCE
-#define        S_ISTXT 0001000                 /* sticky bit */
-#endif
-
-#define        S_IRWXU 0000700                 /* RWX mask for owner */
-#define        S_IRUSR 0000400                 /* R for owner */
-#define        S_IWUSR 0000200                 /* W for owner */
-#define        S_IXUSR 0000100                 /* X for owner */
-
-#ifndef _POSIX_SOURCE
-#define        S_IREAD         S_IRUSR
-#define        S_IWRITE        S_IWUSR
-#define        S_IEXEC         S_IXUSR
-#endif
-
-#define        S_IRWXG 0000070                 /* RWX mask for group */
-#define        S_IRGRP 0000040                 /* R for group */
-#define        S_IWGRP 0000020                 /* W for group */
-#define        S_IXGRP 0000010                 /* X for group */
-
-#define        S_IRWXO 0000007                 /* RWX mask for other */
-#define        S_IROTH 0000004                 /* R for other */
-#define        S_IWOTH 0000002                 /* W for other */
-#define        S_IXOTH 0000001                 /* X for other */
-
-#ifndef _POSIX_SOURCE
-#define        S_IFMT   0170000                /* type of file mask */
-#define        S_IFIFO  0010000                /* named pipe (fifo) */
-#define        S_IFCHR  0020000                /* character special */
-#define        S_IFDIR  0040000                /* directory */
-#define        S_IFBLK  0060000                /* block special */
-#define        S_IFREG  0100000                /* regular */
-#define        S_IFLNK  0120000                /* symbolic link */
-#define        S_IFSOCK 0140000                /* socket */
-#define        S_ISVTX  0001000                /* save swapped text even after use */
-#endif
-
-#define        S_ISDIR(m)      (((m) & 0170000) == 0040000)    /* directory */
-#define        S_ISCHR(m)      (((m) & 0170000) == 0020000)    /* char special */
-#define        S_ISBLK(m)      (((m) & 0170000) == 0060000)    /* block special */
-#define        S_ISREG(m)      (((m) & 0170000) == 0100000)    /* regular file */
-#define        S_ISFIFO(m)     (((m) & 0170000) == 0010000 || \
-                        ((m) & 0170000) == 0140000)    /* fifo or socket */
-#ifndef _POSIX_SOURCE
-#define        S_ISLNK(m)      (((m) & 0170000) == 0120000)    /* symbolic link */
-#define        S_ISSOCK(m)     (((m) & 0170000) == 0010000 || \
-                        ((m) & 0170000) == 0140000)    /* fifo or socket */
-#endif
-
-#ifndef _POSIX_SOURCE
-#define        ACCESSPERMS     (S_IRWXU|S_IRWXG|S_IRWXO)       /* 0777 */
-                                                       /* 7777 */
-#define        ALLPERMS        (S_ISUID|S_ISGID|S_ISTXT|S_IRWXU|S_IRWXG|S_IRWXO)
-                                                       /* 0666 */
-#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
-
-#define S_BLKSIZE      512             /* block size used in the stat struct */
-
-/*
- * Definitions of flags stored in file flags word.
- *
- * Super-user and owner changeable flags.
- */
-#define        UF_SETTABLE     0x0000ffff      /* mask of owner changeable flags */
-#define        UF_NODUMP       0x00000001      /* do not dump file */
-#define        UF_IMMUTABLE    0x00000002      /* file may not be changed */
-#define        UF_APPEND       0x00000004      /* writes to file may only append */
-/*
- * Super-user changeable flags.
- */
-#define        SF_SETTABLE     0xffff0000      /* mask of superuser changeable flags */
-#define        SF_ARCHIVED     0x00010000      /* file is archived */
-#define        SF_IMMUTABLE    0x00020000      /* file may not be changed */
-#define        SF_APPEND       0x00040000      /* writes to file may only append */
-
-#ifdef KERNEL
-/*
- * Shorthand abbreviations of above.
- */
-#define        APPEND          (UF_APPEND | SF_APPEND)
-#define        IMMUTABLE       (UF_IMMUTABLE | SF_IMMUTABLE)
-#endif
-
-#endif /* !_POSIX_SOURCE */
-
-#ifdef KERNEL
-void    cvtstat __P((struct stat *, struct ostat *));
-#else /* KERNEL */
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int    chmod __P((const char *, mode_t));
-int    fstat __P((int, struct stat *));
-int    mkdir __P((const char *, mode_t));
-int    mkfifo __P((const char *, mode_t));
-int    stat __P((const char *, struct stat *));
-mode_t umask __P((mode_t));
-#ifndef _POSIX_SOURCE
-int    chflags __P((const char *, u_long));
-int    fchflags __P((int, u_long));
-int    fchmod __P((int, mode_t));
-int    lstat __P((const char *, struct stat *));
-#endif
-__END_DECLS
-
-#endif /* KERNEL */
-
-#endif /* !_SYS_STAT_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/sysctl.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/sysctl.h
deleted file mode 100644 (file)
index c3aa966..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-/*
- * Copyright (c) 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Mike Karels at Berkeley Software Design, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)sysctl.h    8.1 (Berkeley) 6/2/93
- * $\Id: sysctl.h,v 1.23.4.5 1996/09/19 08:19:00 pst Exp $
- */
-
-#ifndef _SYS_SYSCTL_H_
-#define        _SYS_SYSCTL_H_
-
-/*
- * These are for the eproc structure defined below.
- */
-#ifndef KERNEL
-#include <sys/time.h>
-#include <sys/ucred.h>
-#include <sys/proc.h>
-#include <vm/vm.h>
-#endif
-
-/*
- * Definitions for sysctl call.  The sysctl call uses a hierarchical name
- * for objects that can be examined or modified.  The name is expressed as
- * a sequence of integers.  Like a file path name, the meaning of each
- * component depends on its place in the hierarchy.  The top-level and kern
- * identifiers are defined here, and other identifiers are defined in the
- * respective subsystem header files.
- */
-
-#define CTL_MAXNAME    12      /* largest number of components supported */
-
-/*
- * Each subsystem defined by sysctl defines a list of variables
- * for that subsystem. Each name is either a node with further
- * levels defined below it, or it is a leaf of some particular
- * type given below. Each sysctl level defines a set of name/type
- * pairs to be used by sysctl(1) in manipulating the subsystem.
- */
-struct ctlname {
-       char    *ctl_name;      /* subsystem name */
-       int     ctl_type;       /* type of name */
-};
-#define        CTLTYPE_NODE    1       /* name is a node */
-#define        CTLTYPE_INT     2       /* name describes an integer */
-#define        CTLTYPE_STRING  3       /* name describes a string */
-#define        CTLTYPE_QUAD    4       /* name describes a 64-bit number */
-#define        CTLTYPE_STRUCT  5       /* name describes a structure */
-
-/*
- * Top-level identifiers
- */
-#define        CTL_UNSPEC      0               /* unused */
-#define        CTL_KERN        1               /* "high kernel": proc, limits */
-#define        CTL_VM          2               /* virtual memory */
-#define        CTL_FS          3               /* file system, mount type is next */
-#define        CTL_NET         4               /* network, see socket.h */
-#define        CTL_DEBUG       5               /* debugging parameters */
-#define        CTL_HW          6               /* generic cpu/io */
-#define        CTL_MACHDEP     7               /* machine dependent */
-#define        CTL_USER        8               /* user-level */
-#define        CTL_MAXID       9               /* number of valid top-level ids */
-
-#define CTL_NAMES { \
-       { 0, 0 }, \
-       { "kern", CTLTYPE_NODE }, \
-       { "vm", CTLTYPE_NODE }, \
-       { "fs", CTLTYPE_NODE }, \
-       { "net", CTLTYPE_NODE }, \
-       { "debug", CTLTYPE_NODE }, \
-       { "hw", CTLTYPE_NODE }, \
-       { "machdep", CTLTYPE_NODE }, \
-       { "user", CTLTYPE_NODE }, \
-}
-
-/*
- * CTL_KERN identifiers
- */
-#define        KERN_OSTYPE              1      /* string: system version */
-#define        KERN_OSRELEASE           2      /* string: system release */
-#define        KERN_OSREV               3      /* int: system revision */
-#define        KERN_VERSION             4      /* string: compile time info */
-#define        KERN_MAXVNODES           5      /* int: max vnodes */
-#define        KERN_MAXPROC             6      /* int: max processes */
-#define        KERN_MAXFILES            7      /* int: max open files */
-#define        KERN_ARGMAX              8      /* int: max arguments to exec */
-#define        KERN_SECURELVL           9      /* int: system security level */
-#define        KERN_HOSTNAME           10      /* string: hostname */
-#define        KERN_HOSTID             11      /* int: host identifier */
-#define        KERN_CLOCKRATE          12      /* struct: struct clockrate */
-#define        KERN_VNODE              13      /* struct: vnode structures */
-#define        KERN_PROC               14      /* struct: process entries */
-#define        KERN_FILE               15      /* struct: file entries */
-#define        KERN_PROF               16      /* node: kernel profiling info */
-#define        KERN_POSIX1             17      /* int: POSIX.1 version */
-#define        KERN_NGROUPS            18      /* int: # of supplemental group ids */
-#define        KERN_JOB_CONTROL        19      /* int: is job control available */
-#define        KERN_SAVED_IDS          20      /* int: saved set-user/group-ID */
-#define        KERN_BOOTTIME           21      /* struct: time kernel was booted */
-#define KERN_DOMAINNAME                22      /* string: YP domain name */
-#define KERN_UPDATEINTERVAL    23      /* int: update process sleep time */
-#define KERN_OSRELDATE         24      /* int: OS release date */
-#define KERN_NTP_PLL           25      /* node: NTP PLL control */
-#define        KERN_BOOTFILE           26      /* string: name of booted kernel */
-#define        KERN_MAXFILESPERPROC    27      /* int: max open files per proc */
-#define        KERN_MAXPROCPERUID      28      /* int: max processes per uid */
-#define KERN_DUMPDEV           29      /* dev_t: device to dump on */
-#define KERN_SOMAXCONN         30      /* int: max connections in listen q */
-#define KERN_MAXSOCKBUF                31      /* int: max size of a socket buffer */
-#define        KERN_PS_STRINGS         32      /* int: address of PS_STRINGS */
-#define        KERN_USRSTACK           33      /* int: address of USRSTACK */
-#define        KERN_SOCKBUF_WASTE      34      /* int: reserved sockbuf space */
-#define KERN_SOMINQUEUE         35      /* int: override socket listen() */
-#define KERN_MAXID              36      /* number of valid kern ids */
-
-#define CTL_KERN_NAMES { \
-       { 0, 0 }, \
-       { "ostype", CTLTYPE_STRING }, \
-       { "osrelease", CTLTYPE_STRING }, \
-       { "osrevision", CTLTYPE_INT }, \
-       { "version", CTLTYPE_STRING }, \
-       { "maxvnodes", CTLTYPE_INT }, \
-       { "maxproc", CTLTYPE_INT }, \
-       { "maxfiles", CTLTYPE_INT }, \
-       { "argmax", CTLTYPE_INT }, \
-       { "securelevel", CTLTYPE_INT }, \
-       { "hostname", CTLTYPE_STRING }, \
-       { "hostid", CTLTYPE_INT }, \
-       { "clockrate", CTLTYPE_STRUCT }, \
-       { "vnode", CTLTYPE_STRUCT }, \
-       { "proc", CTLTYPE_STRUCT }, \
-       { "file", CTLTYPE_STRUCT }, \
-       { "profiling", CTLTYPE_NODE }, \
-       { "posix1version", CTLTYPE_INT }, \
-       { "ngroups", CTLTYPE_INT }, \
-       { "job_control", CTLTYPE_INT }, \
-       { "saved_ids", CTLTYPE_INT }, \
-       { "boottime", CTLTYPE_STRUCT }, \
-       { "domainname", CTLTYPE_STRING }, \
-       { "update", CTLTYPE_INT }, \
-       { "osreldate", CTLTYPE_INT }, \
-        { "ntp_pll", CTLTYPE_NODE }, \
-       { "bootfile", CTLTYPE_STRING }, \
-       { "maxfilesperproc", CTLTYPE_INT }, \
-       { "maxprocperuid", CTLTYPE_INT }, \
-       { "dumpdev", CTLTYPE_STRUCT },  /* we lie; don't print as int */ \
-       { "somaxconn", CTLTYPE_INT }, \
-       { "maxsockbuf", CTLTYPE_INT }, \
-       { "ps_strings", CTLTYPE_INT }, \
-       { "usrstack", CTLTYPE_INT }, \
-       { "sockbuf_waste_factor", CTLTYPE_INT }, \
-       { "sominqueue", CTLTYPE_INT }, \
-}
-
-/*
- * CTL_FS identifiers
- */
-#define FS_VFSCONF             0       /* get configured filesystems */
-#define FS_MAXID               1       /* number of items */
-
-#define CTL_FS_NAMES { \
-       { "vfsconf", CTLTYPE_STRUCT }, \
-}
-
-/*
- * KERN_PROC subtypes
- */
-#define KERN_PROC_ALL          0       /* everything */
-#define        KERN_PROC_PID           1       /* by process id */
-#define        KERN_PROC_PGRP          2       /* by process group id */
-#define        KERN_PROC_SESSION       3       /* by session of pid */
-#define        KERN_PROC_TTY           4       /* by controlling tty */
-#define        KERN_PROC_UID           5       /* by effective uid */
-#define        KERN_PROC_RUID          6       /* by real uid */
-
-/*
- * KERN_PROC subtype ops return arrays of augmented proc structures:
- */
-struct kinfo_proc {
-       struct  proc kp_proc;                   /* proc structure */
-       struct  eproc {
-               struct  proc *e_paddr;          /* address of proc */
-               struct  session *e_sess;        /* session pointer */
-               struct  pcred e_pcred;          /* process credentials */
-               struct  ucred e_ucred;          /* current credentials */
-#if defined(sparc) || defined(__REACTOS__)
-               struct {
-                       segsz_t vm_rssize;      /* resident set size */
-                       segsz_t vm_tsize;       /* text size */
-                       segsz_t vm_dsize;       /* data size */
-                       segsz_t vm_ssize;       /* stack size */
-               } e_vm;
-#else
-#ifndef OSKIT
-               struct  vmspace e_vm;           /* address space */
-#endif
-#endif
-               pid_t   e_ppid;                 /* parent process id */
-               pid_t   e_pgid;                 /* process group id */
-               short   e_jobc;                 /* job control counter */
-               dev_t   e_tdev;                 /* controlling tty dev */
-               pid_t   e_tpgid;                /* tty process group id */
-               struct  session *e_tsess;       /* tty session pointer */
-#define        WMESGLEN        7
-               char    e_wmesg[WMESGLEN+1];    /* wchan message */
-               segsz_t e_xsize;                /* text size */
-               short   e_xrssize;              /* text rss */
-               short   e_xccount;              /* text references */
-               short   e_xswrss;
-               long    e_flag;
-#define        EPROC_CTTY      0x01    /* controlling tty vnode active */
-#define        EPROC_SLEADER   0x02    /* session leader */
-               char    e_login[MAXLOGNAME];    /* setlogin() name */
-               long    e_spare[4];
-       } kp_eproc;
-};
-
-/*
- * CTL_HW identifiers
- */
-#define        HW_MACHINE       1              /* string: machine class */
-#define        HW_MODEL         2              /* string: specific machine model */
-#define        HW_NCPU          3              /* int: number of cpus */
-#define        HW_BYTEORDER     4              /* int: machine byte order */
-#define        HW_PHYSMEM       5              /* int: total memory */
-#define        HW_USERMEM       6              /* int: non-kernel memory */
-#define        HW_PAGESIZE      7              /* int: software page size */
-#define        HW_DISKNAMES     8              /* strings: disk drive names */
-#define        HW_DISKSTATS     9              /* struct: diskstats[] */
-#define HW_FLOATINGPT  10              /* int: has HW floating point? */
-#define HW_DEVCONF     11              /* node: device configuration */
-#define        HW_MAXID        12              /* number of valid hw ids */
-
-#define CTL_HW_NAMES { \
-       { 0, 0 }, \
-       { "machine", CTLTYPE_STRING }, \
-       { "model", CTLTYPE_STRING }, \
-       { "ncpu", CTLTYPE_INT }, \
-       { "byteorder", CTLTYPE_INT }, \
-       { "physmem", CTLTYPE_INT }, \
-       { "usermem", CTLTYPE_INT }, \
-       { "pagesize", CTLTYPE_INT }, \
-       { "disknames", CTLTYPE_STRUCT }, \
-       { "diskstats", CTLTYPE_STRUCT }, \
-       { "floatingpoint", CTLTYPE_INT }, \
-       { "devconf", CTLTYPE_NODE }, \
-}
-
-/*
- * CTL_USER definitions
- */
-#define        USER_CS_PATH             1      /* string: _CS_PATH */
-#define        USER_BC_BASE_MAX         2      /* int: BC_BASE_MAX */
-#define        USER_BC_DIM_MAX          3      /* int: BC_DIM_MAX */
-#define        USER_BC_SCALE_MAX        4      /* int: BC_SCALE_MAX */
-#define        USER_BC_STRING_MAX       5      /* int: BC_STRING_MAX */
-#define        USER_COLL_WEIGHTS_MAX    6      /* int: COLL_WEIGHTS_MAX */
-#define        USER_EXPR_NEST_MAX       7      /* int: EXPR_NEST_MAX */
-#define        USER_LINE_MAX            8      /* int: LINE_MAX */
-#define        USER_RE_DUP_MAX          9      /* int: RE_DUP_MAX */
-#define        USER_POSIX2_VERSION     10      /* int: POSIX2_VERSION */
-#define        USER_POSIX2_C_BIND      11      /* int: POSIX2_C_BIND */
-#define        USER_POSIX2_C_DEV       12      /* int: POSIX2_C_DEV */
-#define        USER_POSIX2_CHAR_TERM   13      /* int: POSIX2_CHAR_TERM */
-#define        USER_POSIX2_FORT_DEV    14      /* int: POSIX2_FORT_DEV */
-#define        USER_POSIX2_FORT_RUN    15      /* int: POSIX2_FORT_RUN */
-#define        USER_POSIX2_LOCALEDEF   16      /* int: POSIX2_LOCALEDEF */
-#define        USER_POSIX2_SW_DEV      17      /* int: POSIX2_SW_DEV */
-#define        USER_POSIX2_UPE         18      /* int: POSIX2_UPE */
-#define        USER_STREAM_MAX         19      /* int: POSIX2_STREAM_MAX */
-#define        USER_TZNAME_MAX         20      /* int: POSIX2_TZNAME_MAX */
-#define        USER_MAXID              21      /* number of valid user ids */
-
-#define        CTL_USER_NAMES { \
-       { 0, 0 }, \
-       { "cs_path", CTLTYPE_STRING }, \
-       { "bc_base_max", CTLTYPE_INT }, \
-       { "bc_dim_max", CTLTYPE_INT }, \
-       { "bc_scale_max", CTLTYPE_INT }, \
-       { "bc_string_max", CTLTYPE_INT }, \
-       { "coll_weights_max", CTLTYPE_INT }, \
-       { "expr_nest_max", CTLTYPE_INT }, \
-       { "line_max", CTLTYPE_INT }, \
-       { "re_dup_max", CTLTYPE_INT }, \
-       { "posix2_version", CTLTYPE_INT }, \
-       { "posix2_c_bind", CTLTYPE_INT }, \
-       { "posix2_c_dev", CTLTYPE_INT }, \
-       { "posix2_char_term", CTLTYPE_INT }, \
-       { "posix2_fort_dev", CTLTYPE_INT }, \
-       { "posix2_fort_run", CTLTYPE_INT }, \
-       { "posix2_localedef", CTLTYPE_INT }, \
-       { "posix2_sw_dev", CTLTYPE_INT }, \
-       { "posix2_upe", CTLTYPE_INT }, \
-       { "stream_max", CTLTYPE_INT }, \
-       { "tzname_max", CTLTYPE_INT }, \
-}
-
-/*
- * CTL_DEBUG definitions
- *
- * Second level identifier specifies which debug variable.
- * Third level identifier specifies which stucture component.
- */
-#define        CTL_DEBUG_NAME          0       /* string: variable name */
-#define        CTL_DEBUG_VALUE         1       /* int: variable value */
-#define        CTL_DEBUG_MAXID         20
-
-#ifdef KERNEL
-#if    defined(DEBUG) || defined(DIAGNOSTIC)
-/*
- * CTL_DEBUG variables.
- *
- * These are declared as separate variables so that they can be
- * individually initialized at the location of their associated
- * variable. The loader prevents multiple use by issuing errors
- * if a variable is initialized in more than one place. They are
- * aggregated into an array in debug_sysctl(), so that it can
- * conveniently locate them when querried. If more debugging
- * variables are added, they must also be declared here and also
- * entered into the array.
- */
-struct ctldebug {
-       char    *debugname;     /* name of debugging variable */
-       int     *debugvar;      /* pointer to debugging variable */
-};
-extern struct ctldebug debug0, debug1, debug2, debug3, debug4;
-extern struct ctldebug debug5, debug6, debug7, debug8, debug9;
-extern struct ctldebug debug10, debug11, debug12, debug13, debug14;
-extern struct ctldebug debug15, debug16, debug17, debug18, debug19;
-#endif /* DEBUG */
-
-extern char    cpu_model[];
-extern int     hw_float;
-extern char    machine[];
-extern char    osrelease[];
-extern char    ostype[];
-
-/*
- * Internal sysctl function calling convention:
- *
- *     (*sysctlfn)(name, namelen, oldval, oldlenp, newval, newlen, p);
- *
- * The name parameter points at the next component of the name to be
- * interpreted.  The namelen parameter is the number of integers in
- * the name.
- */
-typedef int (sysctlfn)
-    __P((int *, u_int, void *, size_t *, void *, size_t, struct proc *));
-
-sysctlfn cpu_sysctl;
-sysctlfn dev_sysctl;
-sysctlfn fs_sysctl;
-sysctlfn hw_sysctl;
-sysctlfn kern_sysctl;
-sysctlfn net_sysctl;
-sysctlfn ntp_sysctl;
-sysctlfn vm_sysctl;
-
-int sysctl_int __P((void *, size_t *, void *, size_t, int *));
-int sysctl_rdint __P((void *, size_t *, void *, int));
-int sysctl_string __P((void *, size_t *, void *, size_t, char *, int));
-int sysctl_rdstring __P((void *, size_t *, void *, char *));
-int sysctl_rdstruct __P((void *, size_t *, void *, void *, int));
-int sysctl_struct __P((void *oldp, size_t *, void *, size_t, void *, int));
-void fill_eproc __P((struct proc *, struct eproc *));
-
-int    sysctl_clockrate __P((char *, size_t*));
-int    sysctl_vnode __P((char *, size_t*));
-int    sysctl_file __P((char *, size_t*));
-int    sysctl_doproc __P((int *, u_int, char *, size_t*));
-int    sysctl_doprof __P((int *, u_int, void *, size_t *, void *, size_t));
-
-#else  /* !KERNEL */
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int    sysctl __P((int *, u_int, void *, size_t *, void *, size_t));
-__END_DECLS
-#endif /* KERNEL */
-
-#endif /* !_SYS_SYSCTL_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/syslimits.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/syslimits.h
deleted file mode 100644 (file)
index 502474c..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)syslimits.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_SYSLIMITS_H_
-#define _SYS_SYSLIMITS_H_
-
-#define        ARG_MAX                 65536   /* max bytes for an exec function */
-#ifndef CHILD_MAX
-#define        CHILD_MAX                  40   /* max simultaneous processes */
-#endif
-#define        LINK_MAX                32767   /* max file link count */
-#define        MAX_CANON                 255   /* max bytes in term canon input line */
-#define        MAX_INPUT                 255   /* max bytes in terminal input */
-#define        NAME_MAX                  255   /* max bytes in a file name */
-#define        NGROUPS_MAX                16   /* max supplemental group id's */
-#ifndef OPEN_MAX
-#define        OPEN_MAX                   64   /* max open files per process */
-#endif
-#ifndef PATH_MAX
-#define        PATH_MAX                 1024   /* max bytes in pathname */
-#endif
-#define        PIPE_BUF                  512   /* max bytes for atomic pipe writes */
-
-#define        BC_BASE_MAX                99   /* max ibase/obase values in bc(1) */
-#define        BC_DIM_MAX               2048   /* max array elements in bc(1) */
-#define        BC_SCALE_MAX               99   /* max scale value in bc(1) */
-#define        BC_STRING_MAX            1000   /* max const string length in bc(1) */
-#define        COLL_WEIGHTS_MAX            0   /* max weights for order keyword */
-#define        EXPR_NEST_MAX              32   /* max expressions nested in expr(1) */
-#define        LINE_MAX                 2048   /* max bytes in an input line */
-#define        RE_DUP_MAX                255   /* max RE's in interval notation */
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/syslog.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/syslog.h
deleted file mode 100644 (file)
index 34f7c2a..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)syslog.h    8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_SYSLOG_H_
-#define _SYS_SYSLOG_H_
-
-#define        _PATH_LOG       "/dev/log"
-
-/*
- * priorities/facilities are encoded into a single 32-bit quantity, where the
- * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
- * (0-big number).  Both the priorities and the facilities map roughly
- * one-to-one to strings in the syslogd(8) source code.  This mapping is
- * included in this file.
- *
- * priorities (these are ordered)
- */
-#define        LOG_EMERG       0       /* system is unusable */
-#define        LOG_ALERT       1       /* action must be taken immediately */
-#define        LOG_CRIT        2       /* critical conditions */
-#define        LOG_ERR         3       /* error conditions */
-#define        LOG_WARNING     4       /* warning conditions */
-#define        LOG_NOTICE      5       /* normal but significant condition */
-#define        LOG_INFO        6       /* informational */
-#define        LOG_DEBUG       7       /* debug-level messages */
-
-#define        LOG_PRIMASK     0x07    /* mask to extract priority part (internal) */
-                               /* extract priority */
-#define        LOG_PRI(p)      ((p) & LOG_PRIMASK)
-#define        LOG_MAKEPRI(fac, pri)   (((fac) << 3) | (pri))
-
-#ifdef SYSLOG_NAMES
-#define        INTERNAL_NOPRI  0x10    /* the "no priority" priority */
-                               /* mark "facility" */
-#define        INTERNAL_MARK   LOG_MAKEPRI(LOG_NFACILITIES, 0)
-typedef struct _code {
-       char    *c_name;
-       int     c_val;
-} CODE;
-
-CODE prioritynames[] = {
-       "alert",        LOG_ALERT,
-       "crit",         LOG_CRIT,
-       "debug",        LOG_DEBUG,
-       "emerg",        LOG_EMERG,
-       "err",          LOG_ERR,
-       "error",        LOG_ERR,                /* DEPRECATED */
-       "info",         LOG_INFO,
-       "none",         INTERNAL_NOPRI,         /* INTERNAL */
-       "notice",       LOG_NOTICE,
-       "panic",        LOG_EMERG,              /* DEPRECATED */
-       "warn",         LOG_WARNING,            /* DEPRECATED */
-       "warning",      LOG_WARNING,
-       NULL,           -1,
-};
-#endif
-
-/* facility codes */
-#define        LOG_KERN        (0<<3)  /* kernel messages */
-#define        LOG_USER        (1<<3)  /* random user-level messages */
-#define        LOG_MAIL        (2<<3)  /* mail system */
-#define        LOG_DAEMON      (3<<3)  /* system daemons */
-#define        LOG_AUTH        (4<<3)  /* security/authorization messages */
-#define        LOG_SYSLOG      (5<<3)  /* messages generated internally by syslogd */
-#define        LOG_LPR         (6<<3)  /* line printer subsystem */
-#define        LOG_NEWS        (7<<3)  /* network news subsystem */
-#define        LOG_UUCP        (8<<3)  /* UUCP subsystem */
-#define        LOG_CRON        (9<<3)  /* clock daemon */
-#define        LOG_AUTHPRIV    (10<<3) /* security/authorization messages (private) */
-#define        LOG_FTP         (11<<3) /* ftp daemon */
-
-       /* other codes through 15 reserved for system use */
-#define        LOG_LOCAL0      (16<<3) /* reserved for local use */
-#define        LOG_LOCAL1      (17<<3) /* reserved for local use */
-#define        LOG_LOCAL2      (18<<3) /* reserved for local use */
-#define        LOG_LOCAL3      (19<<3) /* reserved for local use */
-#define        LOG_LOCAL4      (20<<3) /* reserved for local use */
-#define        LOG_LOCAL5      (21<<3) /* reserved for local use */
-#define        LOG_LOCAL6      (22<<3) /* reserved for local use */
-#define        LOG_LOCAL7      (23<<3) /* reserved for local use */
-
-#define        LOG_NFACILITIES 24      /* current number of facilities */
-#define        LOG_FACMASK     0x03f8  /* mask to extract facility part */
-                               /* facility of pri */
-#define        LOG_FAC(p)      (((p) & LOG_FACMASK) >> 3)
-
-#ifdef SYSLOG_NAMES
-CODE facilitynames[] = {
-       "auth",         LOG_AUTH,
-       "authpriv",     LOG_AUTHPRIV,
-       "cron",         LOG_CRON,
-       "daemon",       LOG_DAEMON,
-       "ftp",          LOG_FTP,
-       "kern",         LOG_KERN,
-       "lpr",          LOG_LPR,
-       "mail",         LOG_MAIL,
-       "mark",         INTERNAL_MARK,          /* INTERNAL */
-       "news",         LOG_NEWS,
-       "security",     LOG_AUTH,               /* DEPRECATED */
-       "syslog",       LOG_SYSLOG,
-       "user",         LOG_USER,
-       "uucp",         LOG_UUCP,
-       "local0",       LOG_LOCAL0,
-       "local1",       LOG_LOCAL1,
-       "local2",       LOG_LOCAL2,
-       "local3",       LOG_LOCAL3,
-       "local4",       LOG_LOCAL4,
-       "local5",       LOG_LOCAL5,
-       "local6",       LOG_LOCAL6,
-       "local7",       LOG_LOCAL7,
-       NULL,           -1,
-};
-#endif
-
-#ifdef KERNEL
-#define        LOG_PRINTF      -1      /* pseudo-priority to indicate use of printf */
-#endif
-
-/*
- * arguments to setlogmask.
- */
-#define        LOG_MASK(pri)   (1 << (pri))            /* mask for one priority */
-#define        LOG_UPTO(pri)   ((1 << ((pri)+1)) - 1)  /* all priorities through pri */
-
-/*
- * Option flags for openlog.
- *
- * LOG_ODELAY no longer does anything.
- * LOG_NDELAY is the inverse of what it used to be.
- */
-#define        LOG_PID         0x01    /* log the pid with each message */
-#define        LOG_CONS        0x02    /* log on the console if errors in sending */
-#define        LOG_ODELAY      0x04    /* delay open until first syslog() (default) */
-#define        LOG_NDELAY      0x08    /* don't delay open */
-#define        LOG_NOWAIT      0x10    /* don't wait for console forks: DEPRECATED */
-#define        LOG_PERROR      0x20    /* log to stderr as well */
-
-#ifdef KERNEL
-
-#else /* not KERNEL */
-
-/*
- * Don't use va_list in the vsyslog() prototype.   Va_list is typedef'd in two
- * places (<machine/varargs.h> and <machine/stdarg.h>), so if we include one
- * of them here we may collide with the utility's includes.  It's unreasonable
- * for utilities to have to include one of them to include syslog.h, so we get
- * _BSD_VA_LIST_ from <machine/ansi.h> and use it.
- */
-#include <machine/ansi.h>
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-void   closelog __P((void));
-void   openlog __P((const char *, int, int));
-int    setlogmask __P((int));
-void   syslog __P((int, const char *, ...));
-void   vsyslog __P((int, const char *, _BSD_VA_LIST_));
-__END_DECLS
-
-#ifdef OSKIT
-/*
- * Silliness.
- */
-typedef void (*oskit_syslogger_t)(int, const char *, ...);
-extern oskit_syslogger_t       oskit_libc_syslogger;
-#endif
-
-#endif /* !KERNEL */
-
-#endif
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/systm.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/systm.h
deleted file mode 100644 (file)
index fc5bb5a..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-/*-
- * Copyright (c) 1982, 1988, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)systm.h     8.4 (Berkeley) 2/23/94
- */
-
-#ifndef _SYS_SYSTM_H_
-#define        _SYS_SYSTM_H_
-
-#include <machine/cpufunc.h>
-#include <machine/stdarg.h>
-
-/*
- * The `securelevel' variable controls the security level of the system.
- * It can only be decreased by process 1 (/sbin/init).
- *
- * Security levels are as follows:
- *   -1        permannently insecure mode - always run system in level 0 mode.
- *    0        insecure mode - immutable and append-only flags make be turned off.
- *     All devices may be read or written subject to permission modes.
- *    1        secure mode - immutable and append-only flags may not be changed;
- *     raw disks of mounted filesystems, /dev/mem, and /dev/kmem are
- *     read-only.
- *    2        highly secure mode - same as (1) plus raw disks are always
- *     read-only whether mounted or not. This level precludes tampering
- *     with filesystems by unmounting them, but also inhibits running
- *     newfs while the system is secured.
- *
- * In normal operation, the system runs in level 0 mode while single user
- * and in level 1 mode while multiuser. If level 2 mode is desired while
- * running multiuser, it can be set in the multiuser startup script
- * (/etc/rc.local) using sysctl(1). If it is desired to run the system
- * in level 0 mode while multiuser, initialize the variable securelevel
- * in /sys/kern/kern_sysctl.c to -1. Note that it is NOT initialized to
- * zero as that would allow the kernel binary to be patched to -1.
- * Without initialization, securelevel loads in the BSS area which only
- * comes into existence when the kernel is loaded and hence cannot be
- * patched by a stalking hacker.
- */
-extern int securelevel;                /* system security level */
-
-extern int cold;               /* nonzero if we are doing a cold boot */
-extern const char *panicstr;   /* panic message */
-extern char version[];         /* system version */
-extern char copyright[];       /* system copyright */
-
-extern int nblkdev;            /* number of entries in bdevsw */
-extern int nchrdev;            /* number of entries in cdevsw */
-extern struct swdevt *swdevt;  /* swap-device information */
-extern int nswdev;             /* number of swap devices */
-extern int nswap;              /* size of swap space */
-
-extern int selwait;            /* select timeout address */
-
-extern u_char curpriority;     /* priority of current process */
-
-extern int physmem;            /* physical memory */
-
-extern dev_t dumpdev;          /* dump device */
-extern long dumplo;            /* offset into dumpdev */
-
-extern dev_t rootdev;          /* root device */
-extern struct vnode *rootvp;   /* vnode equivalent to above */
-
-extern dev_t swapdev;          /* swapping device */
-extern struct vnode *swapdev_vp;/* vnode equivalent to above */
-
-extern int boothowto;          /* reboot flags, from console subsystem */
-
-/*
- * General function declarations.
- */
-int    nullop __P((void));
-int    enodev __P((void));
-int    enoioctl __P((void));
-int    enxio __P((void));
-int    eopnotsupp __P((void));
-int    seltrue __P((dev_t dev, int which, struct proc *p));
-int    ureadc __P((int, struct uio *));
-void   *hashinit __P((int count, int type, u_long *hashmask));
-void   *phashinit __P((int count, int type, u_long *nentries));
-
-__dead void    panic __P((const char *, ...)) __dead2;
-__dead void    boot __P((int)) __dead2;
-void   tablefull __P((const char *));
-void   addlog __P((const char *, ...));
-#ifndef __REACTOS__
-void   log __P((int, const char *, ...));
-void   printf __P((const char *, ...));
-#else
-#include <oskitfreebsd.h>
-#include <oskitdebug.h>
-#define log(x,...) OS_DbgPrint(x,(__VA_ARGS__))
-#endif
-void   uprintf __P((const char *, ...));
-int    sprintf __P((char *buf, const char *, ...));
-void   ttyprintf __P((struct tty *, const char *, ...));
-void   kprintf __P((const char *fmt, int flags, struct tty *tp, va_list ap));
-
-#ifndef __REACTOS__
-void   bcopy __P((const void *from, void *to, size_t len));
-#endif
-void   ovbcopy __P((const void *from, void *to, size_t len));
-void   blkclr __P((void *buf, u_int len));
-void   bzero __P((void *buf, size_t len));
-
-#ifndef __REACTOS__
-void   *memcpy __P((void *to, const void *from, size_t len));
-#endif
-
-int    copystr __P((void *kfaddr, void *kdaddr, u_int len, u_int *done));
-int    copyinstr __P((void *udaddr, void *kaddr, u_int len, u_int *done));
-int    copyoutstr __P((void *kaddr, void *udaddr, u_int len, u_int *done));
-int    copyin __P((void *udaddr, void *kaddr, u_int len));
-int    copyout __P((void *kaddr, void *udaddr, u_int len));
-
-int    fubyte __P((void *base));
-int    fuibyte __P((void *base));
-int    subyte __P((void *base, int byte));
-int    suibyte __P((void *base, int byte));
-int    fuword __P((void *base));
-int    fuiword __P((void *base));
-int    suword __P((void *base, int word));
-int    susword __P((void *base, int word));
-int    suiword __P((void *base, int word));
-
-int    hzto __P((struct timeval *tv));
-void   realitexpire __P((void *));
-
-struct clockframe;
-void   hardclock __P((struct clockframe *frame));
-void   softclock __P((void));
-void   statclock __P((struct clockframe *frame));
-
-void   initclocks __P((void));
-
-void   startprofclock __P((struct proc *));
-void   stopprofclock __P((struct proc *));
-void   setstatclockrate __P((int hzrate));
-
-void   hardupdate __P((long));
-#include <sys/libkern.h>
-
-/* Initialize the world */
-extern void consinit(void);
-extern void kmeminit(void);
-extern void cpu_startup(void);
-extern void usrinfoinit(void);
-extern void rqinit(void);
-extern void vfsinit(void);
-extern void mbinit(void);
-extern void clist_init(void);
-extern void ifinit(void);
-extern void domaininit(void);
-extern void cpu_initclocks(void);
-extern void vntblinit(void);
-extern void nchinit(void);
-
-/* Finalize the world. */
-void   shutdown_nice __P((void));
-
-extern __dead void vm_pageout(void) __dead2; /* pagedaemon, called in proc 2 */
-extern __dead void vfs_update(void) __dead2; /* update, called in proc 3 */
-extern __dead void scheduler(void) __dead2; /* sched, called in process 0 */
-
-/*
- * Kernel to clock driver interface.
- */
-void   inittodr __P((time_t base));
-void   resettodr __P((void));
-void   startrtclock __P((void));
-
-/* Timeouts */
-typedef void (timeout_t)(void *); /* actual timeout function type */
-typedef timeout_t *timeout_func_t; /* a pointer to this type */
-
-void timeout(timeout_func_t, void *, int);
-void untimeout(timeout_func_t, void *);
-void   logwakeup __P((void));
-
-/* Syscalls that are called internally. */
-struct close_args {
-       int     fd;
-};
-int    close __P((struct proc *, struct close_args *uap, int *retval));
-struct execve_args {
-       char    *fname;
-       char    **argv;
-       char    **envv;
-};
-int    execve __P((struct proc *, struct execve_args *, int *retval));
-struct fork_args {
-       int     dummy;
-};
-int    fork __P((struct proc *, struct fork_args *, int retval[]));
-struct sync_args {
-       int     dummy;
-};
-int    sync __P((struct proc *, struct sync_args *, int *retval));
-struct wait_args {
-       int     pid;
-       int     *status;
-       int     options;
-       struct  rusage *rusage;
-#if defined(COMPAT_43) || defined(COMPAT_IBCS2)
-       int     compat;         /* pseudo */
-#endif
-};
-int    wait1 __P((struct proc *, struct wait_args *, int retval[]));
-
-#endif /* !_SYS_SYSTM_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/time.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/time.h
deleted file mode 100644 (file)
index dc28aa7..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)time.h      8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_TIME_H_
-#define _SYS_TIME_H_
-
-/*
- * Structure returned by gettimeofday(2) system call,
- * and used in other calls.
- */
-struct timeval {
-       long    tv_sec;         /* seconds */
-       long    tv_usec;        /* and microseconds */
-};
-
-/*
- * Structure defined by POSIX.4 to be like a timeval.
- */
-struct timespec {
-       long    ts_sec;         /* seconds */
-       long    ts_nsec;        /* and nanoseconds */
-};
-
-#define        TIMEVAL_TO_TIMESPEC(tv, ts) {                                   \
-       (ts)->ts_sec = (tv)->tv_sec;                                    \
-       (ts)->ts_nsec = (tv)->tv_usec * 1000;                           \
-}
-#define        TIMESPEC_TO_TIMEVAL(tv, ts) {                                   \
-       (tv)->tv_sec = (ts)->ts_sec;                                    \
-       (tv)->tv_usec = (ts)->ts_nsec / 1000;                           \
-}
-
-struct timezone {
-       int     tz_minuteswest; /* minutes west of Greenwich */
-       int     tz_dsttime;     /* type of dst correction */
-};
-#define        DST_NONE        0       /* not on dst */
-#define        DST_USA         1       /* USA style dst */
-#define        DST_AUST        2       /* Australian style dst */
-#define        DST_WET         3       /* Western European dst */
-#define        DST_MET         4       /* Middle European dst */
-#define        DST_EET         5       /* Eastern European dst */
-#define        DST_CAN         6       /* Canada */
-
-/* Operations on timevals. */
-#define        timerclear(tvp)         (tvp)->tv_sec = (tvp)->tv_usec = 0
-#define        timerisset(tvp)         ((tvp)->tv_sec || (tvp)->tv_usec)
-#define        timercmp(tvp, uvp, cmp)                                         \
-       (((tvp)->tv_sec == (uvp)->tv_sec) ?                             \
-           ((tvp)->tv_usec cmp (uvp)->tv_usec) :                       \
-           ((tvp)->tv_sec cmp (uvp)->tv_sec))
-
-/*
- * Names of the interval timers, and structure
- * defining a timer setting.
- */
-#define        ITIMER_REAL     0
-#define        ITIMER_VIRTUAL  1
-#define        ITIMER_PROF     2
-
-struct itimerval {
-       struct  timeval it_interval;    /* timer interval */
-       struct  timeval it_value;       /* current value */
-};
-
-/*
- * Getkerninfo clock information structure
- */
-struct clockinfo {
-       int     hz;             /* clock frequency */
-       int     tick;           /* micro-seconds per hz tick */
-       int     stathz;         /* statistics clock frequency */
-       int     profhz;         /* profiling clock frequency */
-};
-
-#ifdef KERNEL
-
-int    itimerdecr __P((struct itimerval *itp,int usec));
-int    itimerfix __P((struct timeval *));
-void   microtime __P((struct timeval *));
-void   timevaladd __P((struct timeval *, struct timeval *));
-void   timevalfix __P((struct timeval *));
-void   timevalsub __P((struct timeval *, struct timeval *));
-
-#else /* not KERNEL */
-#include <time.h>
-
-#ifndef _POSIX_SOURCE
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int    adjtime __P((const struct timeval *, struct timeval *));
-int    getitimer __P((int, struct itimerval *));
-int    gettimeofday __P((struct timeval *, struct timezone *));
-int    setitimer __P((int, const struct itimerval *, struct itimerval *));
-int    settimeofday __P((const struct timeval *, const struct timezone *));
-int    utimes __P((const char *, const struct timeval *));
-__END_DECLS
-#endif /* !POSIX */
-
-#endif /* !KERNEL */
-
-#endif /* !_SYS_TIME_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/ttycom.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/ttycom.h
deleted file mode 100644 (file)
index 3ae6ee5..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1990, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ttycom.h    8.1 (Berkeley) 3/28/94
- */
-
-#ifndef        _SYS_TTYCOM_H_
-#define        _SYS_TTYCOM_H_
-
-#include <sys/ioccom.h>
-
-/*
- * Tty ioctl's except for those supported only for backwards compatibility
- * with the old tty driver.
- */
-
-/*
- * Window/terminal size structure.  This information is stored by the kernel
- * in order to provide a consistent interface, but is not used by the kernel.
- */
-struct winsize {
-       unsigned short  ws_row;         /* rows, in characters */
-       unsigned short  ws_col;         /* columns, in characters */
-       unsigned short  ws_xpixel;      /* horizontal size, pixels */
-       unsigned short  ws_ypixel;      /* vertical size, pixels */
-};
-
-#define        TIOCMODG        _IOR('t', 3, int)       /* get modem control state */
-#define        TIOCMODS        _IOW('t', 4, int)       /* set modem control state */
-#define                TIOCM_LE        0001            /* line enable */
-#define                TIOCM_DTR       0002            /* data terminal ready */
-#define                TIOCM_RTS       0004            /* request to send */
-#define                TIOCM_ST        0010            /* secondary transmit */
-#define                TIOCM_SR        0020            /* secondary receive */
-#define                TIOCM_CTS       0040            /* clear to send */
-#define                TIOCM_CAR       0100            /* carrier detect */
-#define                TIOCM_CD        TIOCM_CAR
-#define                TIOCM_RNG       0200            /* ring */
-#define                TIOCM_RI        TIOCM_RNG
-#define                TIOCM_DSR       0400            /* data set ready */
-                                               /* 8-10 compat */
-#define        TIOCEXCL         _IO('t', 13)           /* set exclusive use of tty */
-#define        TIOCNXCL         _IO('t', 14)           /* reset exclusive use of tty */
-                                               /* 15 unused */
-#define        TIOCFLUSH       _IOW('t', 16, int)      /* flush buffers */
-                                               /* 17-18 compat */
-#define        TIOCGETA        _IOR('t', 19, struct termios) /* get termios struct */
-#define        TIOCSETA        _IOW('t', 20, struct termios) /* set termios struct */
-#define        TIOCSETAW       _IOW('t', 21, struct termios) /* drain output, set */
-#define        TIOCSETAF       _IOW('t', 22, struct termios) /* drn out, fls in, set */
-#define        TIOCGETD        _IOR('t', 26, int)      /* get line discipline */
-#define        TIOCSETD        _IOW('t', 27, int)      /* set line discipline */
-                                               /* 127-124 compat */
-#define        TIOCSBRK         _IO('t', 123)          /* set break bit */
-#define        TIOCCBRK         _IO('t', 122)          /* clear break bit */
-#define        TIOCSDTR         _IO('t', 121)          /* set data terminal ready */
-#define        TIOCCDTR         _IO('t', 120)          /* clear data terminal ready */
-#define        TIOCGPGRP       _IOR('t', 119, int)     /* get pgrp of tty */
-#define        TIOCSPGRP       _IOW('t', 118, int)     /* set pgrp of tty */
-                                               /* 117-116 compat */
-#define        TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
-#define        TIOCSTI         _IOW('t', 114, char)    /* simulate terminal input */
-#define        TIOCNOTTY        _IO('t', 113)          /* void tty association */
-#define        TIOCPKT         _IOW('t', 112, int)     /* pty: set/clear packet mode */
-#define                TIOCPKT_DATA            0x00    /* data packet */
-#define                TIOCPKT_FLUSHREAD       0x01    /* flush packet */
-#define                TIOCPKT_FLUSHWRITE      0x02    /* flush packet */
-#define                TIOCPKT_STOP            0x04    /* stop output */
-#define                TIOCPKT_START           0x08    /* start output */
-#define                TIOCPKT_NOSTOP          0x10    /* no more ^S, ^Q */
-#define                TIOCPKT_DOSTOP          0x20    /* now do ^S ^Q */
-#define                TIOCPKT_IOCTL           0x40    /* state change of pty driver */
-#define        TIOCSTOP         _IO('t', 111)          /* stop output, like ^S */
-#define        TIOCSTART        _IO('t', 110)          /* start output, like ^Q */
-#define        TIOCMSET        _IOW('t', 109, int)     /* set all modem bits */
-#define        TIOCMBIS        _IOW('t', 108, int)     /* bis modem bits */
-#define        TIOCMBIC        _IOW('t', 107, int)     /* bic modem bits */
-#define        TIOCMGET        _IOR('t', 106, int)     /* get all modem bits */
-#define        TIOCREMOTE      _IOW('t', 105, int)     /* remote input editing */
-#define        TIOCGWINSZ      _IOR('t', 104, struct winsize)  /* get window size */
-#define        TIOCSWINSZ      _IOW('t', 103, struct winsize)  /* set window size */
-#define        TIOCUCNTL       _IOW('t', 102, int)     /* pty: set/clr usr cntl mode */
-#define        TIOCSTAT         _IO('t', 101)          /* simulate a control-T status msg */
-#define                UIOCCMD(n)      _IO('u', n)     /* usr cntl op "n" */
-#define        TIOCCONS        _IOW('t', 98, int)      /* become virtual console */
-#define        TIOCSCTTY        _IO('t', 97)           /* become controlling tty */
-#define        TIOCEXT         _IOW('t', 96, int)      /* pty: external processing */
-#define        TIOCSIG          _IO('t', 95)           /* pty: generate signal */
-#define        TIOCDRAIN        _IO('t', 94)           /* wait till output drained */
-#define TIOCMSDTRWAIT  _IOW('t', 91, int)      /* modem: set wait on close */
-#define TIOCMGDTRWAIT  _IOR('t', 90, int)      /* modem: get wait on close */
-#define TIOCTIMESTAMP  _IOR('t', 89, struct timeval)   /* get timestamp of
-                                               last interrupt for xntp. */
-#define TIOCDSIMICROCODE _IO('t', 85)          /* Download microcode to
-                                               DSI Softmodem */
-#define        TIOCSDRAINWAIT  _IOW('t', 87, int)      /* set ttywait timeout */
-#define        TIOCGDRAINWAIT  _IOR('t', 86, int)      /* get ttywait timeout */
-
-#define        TTYDISC         0               /* termios tty line discipline */
-#define        TABLDISC        3               /* tablet discipline */
-#define        SLIPDISC        4               /* serial IP discipline */
-#define PPPDISC                5               /* PPP discipline */
-
-
-#endif /* !_SYS_TTYCOM_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/types.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/types.h
deleted file mode 100644 (file)
index dbcacb4..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)types.h     8.4 (Berkeley) 1/21/94
- */
-
-#ifndef _SYS_TYPES_H_
-#define        _SYS_TYPES_H_
-
-#include <sys/cdefs.h>
-
-/* Machine type dependent parameters. */
-#include <machine/endian.h>
-
-#if !defined(_POSIX_SOURCE)
-typedef        unsigned char   u_char;
-typedef        unsigned short  u_short;
-typedef        unsigned int    u_int;
-typedef        unsigned long   u_long;
-typedef        unsigned short  ushort;         /* Sys V compatibility */
-typedef        unsigned int    uint;           /* Sys V compatibility */
-
-typedef        unsigned long long u_quad_t;    /* quads */
-typedef        long long       quad_t;
-typedef        quad_t *        qaddr_t;
-
-typedef        char *          caddr_t;        /* core address */
-typedef        long            daddr_t;        /* disk address */
-typedef        unsigned long   dev_t;          /* device number */
-typedef unsigned long  fixpt_t;        /* fixed point number */
-typedef        unsigned long   gid_t;          /* group id */
-typedef        unsigned long   ino_t;          /* inode number */
-typedef        unsigned short  mode_t;         /* permissions */
-typedef        unsigned short  nlink_t;        /* link count */
-typedef        quad_t          off_t;          /* file offset */
-typedef        long            pid_t;          /* process id */
-typedef        long            segsz_t;        /* segment size */
-typedef        long            swblk_t;        /* swap offset */
-typedef        unsigned long   uid_t;          /* user id */
-#endif
-
-/*
- * This belongs in unistd.h, but is placed here to ensure that programs
- * casting the second parameter of lseek to off_t will get the correct
- * version of lseek.
- */
-#ifndef KERNEL
-__BEGIN_DECLS
-off_t   lseek __P((int, off_t, int));
-__END_DECLS
-#endif
-
-#ifndef _POSIX_SOURCE
-/*
- * minor() gives a cookie instead of an index since we don't want to
- * change the meanings of bits 0-15 or waste time and space shifting
- * bits 16-31 for devices that don't use them.
- */
-#define        major(x)        ((int)(((u_int)(x) >> 8)&0xff)) /* major number */
-#define        minor(x)        ((int)((x)&0xffff00ff))         /* minor number */
-#define        makedev(x,y)    ((dev_t)(((x)<<8) | (y)))       /* create dev_t */
-#endif
-
-#include <machine/ansi.h>
-#include <machine/types.h>
-
-#ifdef _BSD_CLOCK_T_
-typedef        _BSD_CLOCK_T_   clock_t;
-#undef _BSD_CLOCK_T_
-#endif
-
-#ifdef _BSD_SIZE_T_
-typedef        _BSD_SIZE_T_    size_t;
-#undef _BSD_SIZE_T_
-#endif
-
-#ifdef _BSD_SSIZE_T_
-typedef        _BSD_SSIZE_T_   ssize_t;
-#undef _BSD_SSIZE_T_
-#endif
-
-#ifdef _BSD_TIME_T_
-typedef        _BSD_TIME_T_    time_t;
-#undef _BSD_TIME_T_
-#endif
-
-#ifndef _POSIX_SOURCE
-#define        NBBY    8               /* number of bits in a byte */
-
-/*
- * Select uses bit masks of file descriptors in longs.  These macros
- * manipulate such bit fields (the filesystem macros use chars).
- * FD_SETSIZE may be defined by the user, but the default here should
- * be enough for most uses.
- */
-#ifndef        FD_SETSIZE
-#define        FD_SETSIZE      256
-#endif
-
-typedef long   fd_mask;
-#define NFDBITS        (sizeof(fd_mask) * NBBY)        /* bits per mask */
-
-#ifndef howmany
-#define        howmany(x, y)   (((x)+((y)-1))/(y))
-#endif
-
-typedef        struct fd_set {
-       fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
-} fd_set;
-
-#define        FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
-#define        FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
-#define        FD_ISSET(n, p)  ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
-#define        FD_COPY(f, t)   bcopy(f, t, sizeof(*(f)))
-#define        FD_ZERO(p)      bzero(p, sizeof(*(p)))
-
-#if defined(__STDC__) && defined(KERNEL)
-/*
- * Forward structure declarations for function prototypes.  We include the
- * common structures that cross subsystem boundaries here; others are mostly
- * used in the same place that the structure is defined.
- */
-struct proc;
-struct pgrp;
-struct ucred;
-struct rusage;
-struct file;
-struct buf;
-struct tty;
-struct uio;
-#endif
-#endif /* !_POSIX_SOURCE */
-#endif /* !_SYS_TYPES_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/ucred.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/ucred.h
deleted file mode 100644 (file)
index 0d74bd9..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ucred.h     8.2 (Berkeley) 1/4/94
- */
-
-#ifndef _SYS_UCRED_H_
-#define        _SYS_UCRED_H_
-
-/*
- * Credentials.
- */
-struct ucred {
-       u_short cr_ref;                 /* reference count */
-       uid_t   cr_uid;                 /* effective user id */
-       short   cr_ngroups;             /* number of groups */
-       gid_t   cr_groups[NGROUPS];     /* groups */
-};
-#define cr_gid cr_groups[0]
-#define NOCRED ((struct ucred *)-1)    /* no credential available */
-#define FSCRED ((struct ucred *)-2)    /* filesystem credential */
-
-#ifdef KERNEL
-#define        crhold(cr)      (cr)->cr_ref++
-struct ucred *crget(void);
-struct ucred *crcopy(struct ucred *);
-struct ucred *crdup(struct ucred *);
-extern void crfree(struct ucred *);
-extern int suser(struct ucred *, u_short *);
-int    groupmember __P((gid_t, struct ucred *));
-
-#endif /* KERNEL */
-
-#endif /* !_SYS_UCRED_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/uio.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/uio.h
deleted file mode 100644 (file)
index 35e46ab..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)uio.h       8.5 (Berkeley) 2/22/94
- */
-
-#ifndef _SYS_UIO_H_
-#define        _SYS_UIO_H_
-
-/*
- * XXX
- * iov_base should be a void *.
- */
-struct iovec {
-       char    *iov_base;      /* Base address. */
-       size_t   iov_len;       /* Length. */
-};
-
-enum   uio_rw { UIO_READ, UIO_WRITE };
-
-/* Segment flag values. */
-enum uio_seg {
-       UIO_USERSPACE,          /* from user data space */
-       UIO_SYSSPACE,           /* from system space */
-       UIO_USERISPACE,         /* from user I space */
-       UIO_NOCOPY              /* don't copy, already in object */
-};
-
-#ifdef KERNEL
-struct uio {
-       struct  iovec *uio_iov;
-       int     uio_iovcnt;
-       off_t   uio_offset;
-       int     uio_resid;
-       enum    uio_seg uio_segflg;
-       enum    uio_rw uio_rw;
-       struct  proc *uio_procp;
-};
-
-/*
- * Limits
- */
-#define UIO_MAXIOV     1024            /* max 1K of iov's */
-#define UIO_SMALLIOV   8               /* 8 on stack, else malloc */
-#endif /* KERNEL */
-
-#ifdef KERNEL
-
-int    uiomove __P((caddr_t, int, struct uio *));
-
-#else /* !KERNEL */
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-ssize_t        readv __P((int, const struct iovec *, int));
-ssize_t        writev __P((int, const struct iovec *, int));
-__END_DECLS
-
-#endif /* KERNEL */
-
-#endif /* !_SYS_UIO_H_ */
diff --git a/reactos/lib/oskittcp/include/freebsd/src/sys/sys/unistd.h b/reactos/lib/oskittcp/include/freebsd/src/sys/sys/unistd.h
deleted file mode 100644 (file)
index cb4b33e..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)unistd.h    8.2 (Berkeley) 1/7/94
- */
-
-#ifndef _SYS_UNISTD_H_
-#define        _SYS_UNISTD_H_
-
-/* compile-time symbolic constants */
-#define        _POSIX_JOB_CONTROL      /* implementation supports job control */
-
-/*
- * This feature does not work for root according to POSIX 1003.1.
- * We use the saved IDs in seteuid/setegid, which are not currently
- * part of the POSIX 1003.1 specification.
- */
-#define        _POSIX_SAVED_IDS        /* saved set-user-ID and set-group-ID */
-
-#define        _POSIX_VERSION          198808L
-#define        _POSIX2_VERSION         199212L
-
-/* execution-time symbolic constants */
-                               /* chown requires appropriate privileges */
-#define        _POSIX_CHOWN_RESTRICTED 1
-                               /* too-long path components generate errors */
-#define        _POSIX_NO_TRUNC         1
-                               /* may disable terminal special characters */
-#define        _POSIX_VDISABLE         0xff
-
-/* access function */
-#define        F_OK            0       /* test for existence of file */
-#define        X_OK            0x01    /* test for execute or search permission */
-#define        W_OK            0x02    /* test for write permission */
-#define        R_OK            0x04    /* test for read permission */
-
-/* whence values for lseek(2) */
-#define        SEEK_SET        0       /* set file offset to offset */
-#define        SEEK_CUR        1       /* set file offset to current plus offset */
-#define        SEEK_END        2       /* set file offset to EOF plus offset */
-
-#ifndef _POSIX_SOURCE
-/* whence values for lseek(2); renamed by POSIX 1003.1 */
-#define        L_SET           SEEK_SET
-#define        L_INCR          SEEK_CUR
-#define        L_XTND          SEEK_END
-#endif
-
-/* configurable pathname variables */
-#define        _PC_LINK_MAX             1
-#define        _PC_MAX_CANON            2
-#define        _PC_MAX_INPUT            3
-#define        _PC_NAME_MAX             4
-#define        _PC_PATH_MAX             5
-#define        _PC_PIPE_BUF             6
-#define        _PC_CHOWN_RESTRICTED     7
-#define        _PC_NO_TRUNC             8
-#define        _PC_VDISABLE             9
-
-/* configurable system variables */
-#define        _SC_ARG_MAX              1
-#define        _SC_CHILD_MAX            2
-#define        _SC_CLK_TCK              3
-#define        _SC_NGROUPS_MAX          4
-#define        _SC_OPEN_MAX             5
-#define        _SC_JOB_CONTROL          6
-#define        _SC_SAVED_IDS            7
-#define        _SC_VERSION              8
-#define        _SC_BC_BASE_MAX          9
-#define        _SC_BC_DIM_MAX          10
-#define        _SC_BC_SCALE_MAX        11
-#define        _SC_BC_STRING_MAX       12
-#define        _SC_COLL_WEIGHTS_MAX    13
-#define        _SC_EXPR_NEST_MAX       14
-#define        _SC_LINE_MAX            15
-#define        _SC_RE_DUP_MAX          16
-#define        _SC_2_VERSION           17
-#define        _SC_2_C_BIND            18
-#define        _SC_2_C_DEV             19
-#define        _SC_2_CHAR_TERM         20
-#define        _SC_2_FORT_DEV          21
-#define        _SC_2_FORT_RUN          22
-#define        _SC_2_LOCALEDEF         23
-#define        _SC_2_SW_DEV            24
-#define        _SC_2_UPE               25
-#define        _SC_STREAM_MAX          26
-#define        _SC_TZNAME_MAX          27
-
-/* configurable system strings */
-#define        _CS_PATH                 1
-
-#endif /* !_SYS_UNISTD_H_ */
diff --git a/reactos/lib/oskittcp/include/memtrack.h b/reactos/lib/oskittcp/include/memtrack.h
deleted file mode 100644 (file)
index b4c0bbc..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef MEMTRACK_H
-#define MEMTRACK_H
-
-#ifndef FOURCC
-#define FOURCC(a,b,c,d) (((a)<<24)|((b)<<16)|((c)<<8)|(d))
-#endif
-
-#define FBSD_MALLOC FOURCC('d','s','b','f')
-#define EXALLOC_TAG FOURCC('E','x','A','l')
-
-#ifdef MEMTRACK
-#define MTMARK() TrackDumpFL(__FILE__, __LINE__)
-#define NdisAllocateBuffer(x,y,z,a,b) { \
-    NdisAllocateBuffer(x,y,z,a,b); \
-    if( *x == NDIS_STATUS_SUCCESS ) { \
-        Track(NDIS_BUFFER_TAG, *y); \
-    } \
-}
-#define NdisAllocatePacket(x,y,z) { \
-    NdisAllocatePacket(x,y,z); \
-    if( *x == NDIS_STATUS_SUCCESS ) { \
-        Track(NDIS_PACKET_TAG, *y); \
-    } \
-}
-#define FreeNdisPacket(x) { TI_DbgPrint(MID_TRACE,("Deleting Packet %x\n", x)); FreeNdisPacketX(x); }
-#define NdisFreePacket(x) { Untrack(x); NdisFreePacket(x); }
-#define NdisFreeBuffer(x) { Untrack(x); NdisFreeBuffer(x); }
-#define exAllocatePool(x,y) ExAllocatePoolX(x,y,__FILE__,__LINE__) 
-#define exAllocatePoolWithTag(x,y,z) ExAllocatePoolX(x,y,__FILE__,__LINE__)
-#define exFreePool(x) ExFreePoolX(x,__FILE__,__LINE__)
-
-extern LIST_ENTRY AllocatedObjectsHead;
-extern KSPIN_LOCK AllocatedObjectsLock;
-
-typedef struct _ALLOCATION_TRACKER {
-    LIST_ENTRY Entry;
-    DWORD Tag;
-    PVOID Thing;
-    PCHAR FileName;
-    DWORD LineNo;
-} ALLOCATION_TRACKER, *PALLOCATION_TRACKER;
-
-VOID TrackingInit();
-VOID TrackWithTag( DWORD Tag, PVOID Thing, PCHAR File, DWORD Line );
-#define Track(Tag,Thing) TrackWithTag(Tag,Thing,__FILE__,__LINE__)
-VOID UntrackFL( PCHAR File, DWORD Line, PVOID Thing );
-#define Untrack(Thing) UntrackFL(__FILE__,__LINE__,Thing)
-VOID TrackDumpFL( PCHAR File, DWORD Line );
-#define TrackDump() TrackDumpFL(__FILE__,__LINE__)
-VOID TrackTag( DWORD Tag );
-
-static inline PVOID ExAllocatePoolX( POOL_TYPE type, SIZE_T size, PCHAR File, ULONG Line ) {
-    PVOID Out = ExAllocatePool( type, size );
-    if( Out ) TrackWithTag( EXALLOC_TAG, Out, File, Line );
-    return Out;
-}
-static inline VOID ExFreePoolX( PVOID Data, PCHAR File, ULONG Line ) {
-    UntrackFL(File, Line, Data);
-    ExFreePool(Data);
-}
-
-#define MEMTRACK_MAX_TAGS_TO_TRACK 64
-#else
-#define MTMARK()
-#define Track(x,y)
-#define TrackingInit()
-#define TrackDump()
-#define Untrack(x)
-#define TrackTag(x)
-#define FreeNdisPacket FreeNdisPacketX
-#endif
-
-#endif/*MEMMTRAC_H*/
diff --git a/reactos/lib/oskittcp/include/oskitdebug.h b/reactos/lib/oskittcp/include/oskitdebug.h
deleted file mode 100644 (file)
index c263b4b..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS TCP/IP protocol driver
- * FILE:        include/debug.h
- * PURPOSE:     Debugging support macros
- * DEFINES:     DBG     - Enable debug output
- *              NASSERT - Disable assertions
- */
-#ifndef __OSKITDEBUG_H
-#define __OSKITDEBUG_H
-
-#define OSK_NORMAL_MASK     0x000000FF
-#define OSK_SPECIAL_MASK    0xFFFFFF00
-#define OSK_MIN_TRACE       0x00000001
-#define OSK_MID_TRACE       0x00000002
-#define OSK_MAX_TRACE       0x00000003
-
-#define OSK_DEBUG_CHECK     0x00000100
-#define OSK_DEBUG_MEMORY    0x00000200
-#define OSK_DEBUG_BUFFER    0x00000400
-#define OSK_DEBUG_IRP       0x00000800
-#define OSK_DEBUG_REFCOUNT  0x00001000
-#define OSK_DEBUG_ADDRFILE  0x00002000
-#define OSK_DEBUG_DATALINK  0x00004000
-#define OSK_DEBUG_ARP       0x00008000
-#define OSK_DEBUG_IP        0x00010000
-#define OSK_DEBUG_UDP       0x00020000
-#define OSK_DEBUG_TCP       0x00040000
-#define OSK_DEBUG_ICMP      0x00080000
-#define OSK_DEBUG_ROUTER    0x00100000
-#define OSK_DEBUG_RCACHE    0x00200000
-#define OSK_DEBUG_NCACHE    0x00400000
-#define OSK_DEBUG_CPOINT    0x00800000
-#define OSK_DEBUG_ULTRA     0xFFFFFFFF
-
-#include <roscfg.h>
-#include <oskittypes.h>
-
-#ifdef DBG
-
-extern OSK_UINT OskitDebugTraceLevel;
-
-#ifdef _MSC_VER
-
-#define OS_DbgPrint(_t_, _x_) \
-    if (((OskitDebugTraceLevel & OSK_NORMAL_MASK) >= _t_) || \
-        ((OskitDebugTraceLevel & _t_) > OSK_NORMAL_MASK)) { \
-        DbgPrint("(%s:%d) ", __FILE__, __LINE__); \
-        DbgPrint _x_ ; \
-    }
-
-#else /* _MSC_VER */
-
-#define OS_DbgPrint(_t_, _x_) \
-    if (((OskitDebugTraceLevel & OSK_NORMAL_MASK) >= _t_) || \
-        ((OskitDebugTraceLevel & _t_) > OSK_NORMAL_MASK)) { \
-        DbgPrint("(%s:%d)(%s) ", __FILE__, __LINE__, __FUNCTION__); \
-        DbgPrint _x_ ; \
-    }
-
-#endif /* _MSC_VER */
-
-#if 0
-#ifdef ASSERT
-#undef ASSERT
-#endif
-
-#ifdef NASSERT
-#define ASSERT(x)
-#else /* NASSERT */
-#define ASSERT(x) if (!(x)) { OS_DbgPrint(MIN_TRACE, ("Assertion "#x" failed at %s:%d\n", __FILE__, __LINE__)); KeBugCheck(0); }
-#endif /* NASSERT */
-#endif
-
-#define ASSERT_IRQL(x) ASSERT(KeGetCurrentIrql() <= (x))
-
-#else /* DBG */
-
-#define OS_DbgPrint(_t_, _x_)
-
-#if 0
-#define ASSERT_IRQL(x)
-#define ASSERT(x)
-#endif
-
-#endif /* DBG */
-
-
-#define assert(x) ASSERT(x)
-#define assert_irql(x) ASSERT_IRQL(x)
-
-#endif /* __OSKITDEBUG_H */
-
-/* EOF */
diff --git a/reactos/lib/oskittcp/include/oskiterrno.h b/reactos/lib/oskittcp/include/oskiterrno.h
deleted file mode 100644 (file)
index d8d2efa..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)errno.h     8.5 (Berkeley) 1/21/94
- */
-
-#ifndef _OSK_SYS_ERRNO_H_
-#define _OSK_SYS_ERRNO_H_
-
-#ifndef __REACTOS__
-#ifndef KERNEL
-extern int errno;                      /* global error number */
-#endif
-#endif
-
-#define        OSK_EPERM               1               /* Operation not permitted */
-#define        OSK_ENOENT              2               /* No such file or directory */
-#define        OSK_ESRCH               3               /* No such process */
-#define        OSK_EINTR               4               /* Interrupted system call */
-#define        OSK_EIO         5               /* Input/output error */
-#define        OSK_ENXIO               6               /* Device not configured */
-#define        OSK_E2BIG               7               /* Argument list too long */
-#define        OSK_ENOEXEC             8               /* Exec format error */
-#define        OSK_EBADF               9               /* Bad file descriptor */
-#define        OSK_ECHILD              10              /* No child processes */
-#define        OSK_EDEADLK             11              /* Resource deadlock avoided */
-/* 11 was OSK_EAGAIN */
-#define        OSK_ENOMEM              12              /* Cannot allocate memory */
-#define        OSK_EACCES              13              /* Permission denied */
-#define        OSK_EFAULT              14              /* Bad address */
-#ifndef _POSIX_SOURCOSK_E
-#define        OSK_ENOTBLK             15              /* Block device required */
-#endif
-#define        OSK_EBUSY               16              /* Device busy */
-#define        OSK_EEXIST              17              /* File exists */
-#define        OSK_EXDEV               18              /* Cross-device link */
-#define        OSK_ENODEV              19              /* Operation not supported by device */
-#define        OSK_ENOTDIR             20              /* Not a directory */
-#define        OSK_EISDIR              21              /* Is a directory */
-#define        OSK_EINVAL              22              /* Invalid argument */
-#define        OSK_ENFILE              23              /* Too many open files in system */
-#define        OSK_EMFILE              24              /* Too many open files */
-#define        OSK_ENOTTY              25              /* Inappropriate ioctl for device */
-#ifndef _POSIX_SOURCE
-#define        OSK_ETXTBSY             26              /* Text file busy */
-#endif
-#define        OSK_EFBIG               27              /* File too large */
-#define        OSK_ENOSPC              28              /* No space left on device */
-#define        OSK_ESPIPE              29              /* Illegal seek */
-#define        OSK_EROFS               30              /* Read-only file system */
-#define        OSK_EMLINK              31              /* Too many links */
-#define        OSK_EPIPE               32              /* Broken pipe */
-
-/* math software */
-#define        OSK_EDOM                33              /* Numerical argument out of domain */
-#define        OSK_ERANGE              34              /* Result too large */
-
-/* non-blocking and interrupt i/o */
-#define        OSK_EAGAIN              35              /* Resource temporarily unavailable */
-#ifndef _POSIX_SOURCE
-#define        OSK_EWOULDBLOCK EAGAIN          /* Operation would block */
-#define        OSK_EINPROGRESS 36              /* Operation now in progress */
-#define        OSK_EALREADY    37              /* Operation already in progress */
-
-/* ipc/network software -- argument errors */
-#define        OSK_ENOTSOCK    38              /* Socket operation on non-socket */
-#define        OSK_EDESTADDRREQ        39              /* Destination address required */
-#define        OSK_EMSGSIZE    40              /* Message too long */
-#define        OSK_EPROTOTYPE  41              /* Protocol wrong type for socket */
-#define        OSK_ENOPROTOOPT 42              /* Protocol not available */
-#define        OSK_EPROTONOSUPPORT     43              /* Protocol not supported */
-#define        OSK_ESOCKTNOSUPPORT     44              /* Socket type not supported */
-#define        OSK_EOPNOTSUPP  45              /* Operation not supported */
-#define        OSK_EPFNOSUPPORT        46              /* Protocol family not supported */
-#define        OSK_EAFNOSUPPORT        47              /* Address family not supported by protocol family */
-#define        OSK_EADDRINUSE  48              /* Address already in use */
-#define        OSK_EADDRNOTAVAIL       49              /* Can't assign requested address */
-
-/* ipc/network software -- operational errors */
-#define        OSK_ENETDOWN    50              /* Network is down */
-#define        OSK_ENETUNREACH 51              /* Network is unreachable */
-#define        OSK_ENETRESET   52              /* Network dropped connection on reset */
-#define        OSK_ECONNABORTED        53              /* Software caused connection abort */
-#define        OSK_ECONNRESET  54              /* Connection reset by peer */
-#define        OSK_ENOBUFS             55              /* No buffer space available */
-#define        OSK_EISCONN             56              /* Socket is already connected */
-#define        OSK_ENOTCONN    57              /* Socket is not connected */
-#define        OSK_ESHUTDOWN   58              /* Can't send after socket shutdown */
-#define        OSK_ETOOMANYREFS        59              /* Too many references: can't splice */
-#define        OSK_ETIMEDOUT   60              /* Operation timed out */
-#define        OSK_ECONNREFUSED        61              /* Connection refused */
-
-#define        OSK_ELOOP               62              /* Too many levels of symbolic links */
-#endif /* _POSIX_SOURCE */
-#define        OSK_ENAMETOOLONG        63              /* File name too long */
-
-/* should be rearranged */
-#ifndef _POSIX_SOURCE
-#define        OSK_EHOSTDOWN   64              /* Host is down */
-#define        OSK_EHOSTUNREACH        65              /* No route to host */
-#endif /* _POSIX_SOURCE */
-#define        OSK_ENOTEMPTY   66              /* Directory not empty */
-
-/* quotas & mush */
-#ifndef _POSIX_SOURCE
-#define        OSK_EPROCLIM    67              /* Too many processes */
-#define        OSK_EUSERS              68              /* Too many users */
-#define        OSK_EDQUOT              69              /* Disc quota exceeded */
-
-/* Network File System */
-#define        OSK_ESTALE              70              /* Stale NFS file handle */
-#define        OSK_EREMOTE             71              /* Too many levels of remote in path */
-#define        OSK_EBADRPC             72              /* RPC struct is bad */
-#define        OSK_ERPCMISMATCH        73              /* RPC version wrong */
-#define        OSK_EPROGUNAVAIL        74              /* RPC prog. not avail */
-#define        OSK_EPROGMISMATCH       75              /* Program version wrong */
-#define        OSK_EPROCUNAVAIL        76              /* Bad procedure for program */
-#endif /* _POSIX_SOURCE */
-
-#define        OSK_ENOLCK              77              /* No locks available */
-#define        OSK_ENOSYS              78              /* Function not implemented */
-
-#ifndef _POSIX_SOURCE
-#define        OSK_EFTYPE              79              /* Inappropriate file type or format */
-#define        OSK_EAUTH               80              /* Authentication error */
-#define        OSK_ENEEDAUTH   81              /* Need authenticator */
-#define        OSK_ELAST               81              /* Must be equal largest errno */
-#endif /* _POSIX_SOURCE */
-
-#ifdef KERNEL
-/* pseudo-errors returned inside kernel to modify return to process */
-#define        OSK_ERESTART    -1              /* restart syscall */
-#define        OSK_EJUSTRETURN -2              /* don't modify regs, just return */
-#endif
-
-#endif/*OSK_SYS_ERRNO*/
diff --git a/reactos/lib/oskittcp/include/oskitfreebsd.h b/reactos/lib/oskittcp/include/oskitfreebsd.h
deleted file mode 100644 (file)
index 36ba212..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _OSKITFREEBSD_H
-#define _OSKITFREEBSD_H
-
-extern void oskittcp_die(const char *file, int line);
-
-#define printf DbgPrint
-#define ovbcopy(x,y,z) bcopy(x,y,z)
-#define bzero(x,y) memset(x,0,y)
-#define bcopy memcpy
-#define panic(...) do { DbgPrint(__VA_ARGS__); \
-       oskittcp_die(__FILE__,__LINE__); } while(0)
-#define kmem_malloc(x,y,z) malloc(y)
-
-#endif//_OSKITFREEBSD_H
diff --git a/reactos/lib/oskittcp/include/oskittcp.h b/reactos/lib/oskittcp/include/oskittcp.h
deleted file mode 100644 (file)
index b98b2fe..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef OSKITTCP_H
-#define OSKITTCP_H
-
-#include <roscfg.h>
-#ifdef KERNEL
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/errno.h>
-#include <sys/queue.h>
-#include <sys/kernel.h>
-
-#include <net/if.h>
-#include <net/route.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-
-struct connect_args {
-    int s;
-    caddr_t name;
-    int namelen;
-};
-#endif
-
-#include <oskittypes.h>
-
-#define IPHDR_SIZE 20
-
-typedef void (*OSKITTCP_SOCKET_DATA_AVAILABLE)
-    ( void *ClientData,
-      void *WhichSocket,
-      void *WhichConnection,
-      OSK_PCHAR Data,
-      OSK_UINT Len );
-typedef void (*OSKITTCP_SOCKET_CONNECT_INDICATION)
-    ( void *ClientData, 
-      void *WhichSocket, 
-      void *WhichConnection );
-typedef void (*OSKITTCP_SOCKET_CLOSE_INDICATION)
-    ( void *WhichSocket );
-typedef void (*OSKITTCP_SOCKET_PENDING_CONNECT_INDICATION)
-    ( void *WhichSocket );
-typedef void (*OSKITTCP_SOCKET_RESET_INDICATION)
-    ( void *WhichSocket );
-typedef int (*OSKITTCP_SEND_PACKET)
-    ( void *ClientData,
-      void *WhichSocket,
-      void *WhichConnection,
-      OSK_PCHAR Data,
-      OSK_UINT Len );
-typedef int (*OSKITTCP_NEED_BIND)
-    ( void *ClientData,
-      void *WhichSocket, 
-      void *WhichConnection,
-      struct sockaddr *address, 
-      OSK_UINT addrlen, 
-      OSK_UINT reuseport );
-
-typedef struct _OSKITTCP_EVENT_HANDLERS {
-    void *ClientData;
-    OSKITTCP_SOCKET_DATA_AVAILABLE SocketDataAvailable;
-    OSKITTCP_SOCKET_CONNECT_INDICATION SocketConnectIndication;
-    OSKITTCP_SOCKET_CLOSE_INDICATION SocketCloseIndication;
-    OSKITTCP_SOCKET_PENDING_CONNECT_INDICATION SocketPendingConnectIndication;
-    OSKITTCP_SOCKET_RESET_INDICATION SocketResetIndication;
-    OSKITTCP_SEND_PACKET PacketSend;
-    OSKITTCP_NEED_BIND Bind;
-} OSKITTCP_EVENT_HANDLERS, *POSKITTCP_EVENT_HANDLERS;
-
-extern OSKITTCP_EVENT_HANDLERS OtcpEvent;
-
-extern void InitOskitTCP();
-extern void DeinitOskitTCP();
-extern void TimerOskitTCP();
-extern int  OskitTCPSocket( void *Connection, void **ConnectionContext,
-                           int Af, int Type, int Proto );
-extern void RegisterOskitTCPEventHandlers
-( POSKITTCP_EVENT_HANDLERS EventHandlers );
-extern void OskitTCPReceiveDatagram( OSK_PCHAR Data, OSK_UINT Len,
-                                    OSK_UINT IpHeaderLen );
-
-#undef errno
-
-#define malloc(x,...) fbsd_malloc(x,__FILE__,__LINE__)
-#define free(x,...) fbsd_free(x,__FILE__,__LINE__)
-
-/* Error codes */
-#include <oskiterrno.h>
-
-#define SOCK_MAXADDRLEN 255
-
-#endif/*OSKITTCP_H*/
diff --git a/reactos/lib/oskittcp/include/oskittypes.h b/reactos/lib/oskittcp/include/oskittypes.h
deleted file mode 100644 (file)
index 1040980..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-
-#ifndef OSKITTYPES_H
-#define OSKITTYPES_H
-
-typedef struct sockaddr OSK_SOCKADDR;
-typedef unsigned char *OSK_PCHAR;
-typedef unsigned int OSK_UINT;
-typedef unsigned short OSK_UI16;
-typedef char * osk_caddr_t;
-
-#define SWAP_FAMILY_LEN(sabuf,s) \
-  (sabuf)->sin_family = htons((sabuf)->sin_family)
-/*  do { s = (sabuf)->sin_family; (sabuf)->sin_family = (sabuf)->sin_len; (sabuf)->sin_len = s; } while(0); */
-
-/*
- * 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 */
-    struct     sockaddr *ifa_dstaddr;  /* other end of p-to-p link */
-#define        ifa_broadaddr   ifa_dstaddr     /* broadcast address interface */
-    struct     sockaddr *ifa_netmask;  /* used to determine subnet */
-    u_short    ifa_flags;              /* mostly rt_flags for cloning */
-    short      ifa_refcnt;             /* extra to malloc for link info */
-    int                ifa_metric;             /* cost of going out this interface */
-    u_short     ifa_mtu;                /* MTU */
-};
-#define        IFA_ROUTE       RTF_UP          /* route installed */
-#define OSK_IFQ_MAXLEN  50
-
-/*
- * These numbers are used by reliable protocols for determining
- * retransmission behavior and are included in the routing structure.
- */
-struct rt_metrics {
-       u_long  rmx_locks;      /* Kernel must leave these values alone */
-       u_long  rmx_mtu;        /* MTU for this path */
-       u_long  rmx_hopcount;   /* max hops expected */
-       u_long  rmx_expire;     /* lifetime for route, e.g. redirect */
-       u_long  rmx_recvpipe;   /* inbound delay-bandwith product */
-       u_long  rmx_sendpipe;   /* outbound delay-bandwith product */
-       u_long  rmx_ssthresh;   /* outbound gateway buffer limit */
-       u_long  rmx_rtt;        /* estimated round trip time */
-       u_long  rmx_rttvar;     /* estimated rtt variance */
-       u_long  rmx_pksent;     /* packets sent using this route */
-       u_long  rmx_filler[4];  /* will be used for T/TCP later */
-};
-
-struct rtentry {
-    struct     sockaddr *rt_gateway;   /* value */
-    u_long     rt_flags;               /* up/down?, host/net */
-    struct     ifaddr rt_ifa;          /* the answer: interface to use */
-    struct     rt_metrics rt_rmx;      /* metrics used by rx'ing protocols */
-    u_long      rt_mtu;                 /* Path MTU */
-};
-
-#endif/*OSKITTYPES_H*/
diff --git a/reactos/lib/oskittcp/makefile b/reactos/lib/oskittcp/makefile
deleted file mode 100644 (file)
index e555c1b..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-# $Id: makefile,v 1.1 2004/05/02 07:21:58 arty Exp $
-
-PATH_TO_TOP = ../..
-
-TARGET_BOOTSTRAP = yes
-
-TARGET_TYPE = library
-
-TARGET_NAME = oskittcp
-
-TARGET_CFLAGS = -g -D__REACTOS__=1 -DKERNEL -Iinclude/freebsd -Iinclude/freebsd/sys/include -Iinclude/freebsd/src/sys -Iinclude/freebsd/dev/include -Iinclude/freebsd/net/include -Iinclude -I$(PATH_TO_TOP)/w32api/include -I$(PATH_TO_TOP)/include -DMEMTRACK
-
-# require os code to explicitly request A/W version of structs/functions
-TARGET_CFLAGS += -D_DISABLE_TIDENTS
-
-TARGET_ASFLAGS = -I $(PATH_TO_TOP)/include
-
-TARGET_LFLAGS = -Wl,--file-alignment,0x1000 \
-  -Wl,--section-alignment,0x1000 \
-  -nostartfiles -nostdlib \
-
-TARGET_GCCLIBS = gcc
-
-TARGET_BASE = 0x79f60000
-
-TARGET_PATH = 
-
-REACTOS_OBJECTS = \
-       oskittcp/defaults.o \
-       oskittcp/in.o \
-       oskittcp/in_cksum.o \
-       oskittcp/in_pcb.o \
-       oskittcp/in_proto.o \
-       oskittcp/in_rmx.o \
-       oskittcp/inet_ntoa.o \
-       oskittcp/interface.o \
-       oskittcp/ip_input.o \
-       oskittcp/ip_output.o \
-       oskittcp/kern_clock.o \
-       oskittcp/kern_subr.o \
-       oskittcp/malloc.o \
-       oskittcp/param.o \
-       oskittcp/radix.o \
-       oskittcp/random.o \
-       oskittcp/rtsock.o \
-       oskittcp/scanc.o \
-       oskittcp/sleep.o \
-       oskittcp/tcp_input.o \
-       oskittcp/tcp_output.o \
-       oskittcp/tcp_subr.o \
-       oskittcp/tcp_usrreq.o \
-       oskittcp/tcp_debug.o \
-       oskittcp/tcp_timer.o \
-       oskittcp/uipc_domain.o \
-       oskittcp/uipc_mbuf.o \
-       oskittcp/uipc_socket.o \
-       oskittcp/uipc_socket2.o 
-
-TARGET_OBJECTS = $(FREEBSD_OBJECTS) $(REACTOS_OBJECTS)
-DEP_OBJECTS = $(TARGET_OBJECTS)
-
-include $(PATH_TO_TOP)/rules.mak
-
-include $(TOOLS_PATH)/helper.mk
-
-include $(TOOLS_PATH)/depend.mk
-
-%/TAGS:
-       etags -o $(@D)/TAGS $(@D)/\*.c
-
-etags: csr/TAGS dbg/TAGS ldr/TAGS main/TAGS rtl/TAGS stdio/TAGS stdlib/TAGS string/TAGS stubs/TAGS
-       etags -i csr/TAGS -i dbg/TAGS -i ldr/TAGS -i main/TAGS -i rtl/TAGS -i stdio/TAGS -i stdlib/TAGS -i string/TAGS -i stubs/TAGS
-
-
-docu:
-       doxygen Doxyfile
-
-.PHONY: docu
-
-
-# EOF
diff --git a/reactos/lib/oskittcp/oskittcp/.cvsignore b/reactos/lib/oskittcp/oskittcp/.cvsignore
deleted file mode 100644 (file)
index 31dc307..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-*.d
-*.o
diff --git a/reactos/lib/oskittcp/oskittcp/defaults.c b/reactos/lib/oskittcp/oskittcp/defaults.c
deleted file mode 100644 (file)
index 0133e65..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 1996-1998 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-/*
- * Routines necessary for the bsdnet code.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <vm/vm.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/domain.h>
-#include "net/netisr.h"
-
-int oskit_cpl;         /* for machine/spl.h */
-int bootverbose;       /* networking code wants to know whether booting 
-                          is to be verbose */
-int securelevel = 3;   /* used in ip_fw.c:ip_fw_ctl -- make it > 2 */
-
-vm_map_t       mb_map; /* this is passed in kmem_alloc, but ignored there */
-
-struct  proc proc0;
-struct  proc *curproc = &proc0;
-
-struct domain localdomain;     /* see uipc_domain.c ADDDOMAIN macro */
-
-/* ---------------------------------------------------------------------- */
-
-/*
- * find a process by pid
- */
-struct proc *
-pfind(pid_t pid)
-{
-       printf(__FUNCTION__" called, pid=%d, returning x%p\n", 
-               (int)pid, (void*)&proc0);
-       return &proc0;
-}
-
-/*
- * signal a process 
- */
-void    
-psignal (struct proc *p, int sig)
-{
-       printf(__FUNCTION__" called, proc=x%p sig=%d\n", p, sig);
-}
-
-/*
- * signal a process group
- */
-void    
-gsignal (int pgid, int sig)
-{
-       printf(__FUNCTION__" called, pgid=%d sig=%d\n", pgid, sig);
-}
-
-/* ---------------------------------------------------------------------- */
-
-/*
- * copy in from userspace
- */
-int     
-copyin (void *udaddr, void *kaddr, u_int len)
-{
-       memcpy(kaddr, udaddr, len);
-       return 0;
-}
-
-/*
- * copy out to userspace
- */
-int     
-copyout (void *kaddr, void *udaddr, u_int len)
-{
-       memcpy(udaddr, kaddr, len);
-       return 0;
-}
-
-/*
- * even though these functions have an odd signature, 
- * they only copy one byte
- */
-int subyte          (void *base, int byte)
-{
-       return (int)((char *)base = (char)byte);
-}
-
-int suibyte         (void *base, int byte)
-{
-       return (int)((char *)base = (char)byte);
-}
-
-/* ---------------------------------------------------------------------- */
-
-#ifndef __REACTOS__
-/*
- * log some information
- */
-void        
-log (int level, const char *format, ...)
-{
-       extern int vprintf(const char *, va_list);
-       va_list args;
-       va_start(args, format);
-       printf("__FUNCTION__(%d):", level);
-       vprintf(format, args);
-       va_end(args);
-}
-#endif
-
-/* ---------------------------------------------------------------------- */
-
-/* 
- * do we have super user credentials? 
- */
-/* ARGSUSED */
-int 
-suser(struct ucred *ucred, u_short *acflag)
-{
-       /* of course. */
-       return 0;
-}
-
-/* ---------------------------------------------------------------------- */
-/* 
- * stuff stolen from kern/kern_sysctl.c
- */
-/*              
- * Validate parameters and get old / set new parameters
- * for an integer-valued sysctl function.
- */
-int     
-sysctl_int(oldp, oldlenp, newp, newlen, valp)
-        void *oldp;
-        size_t *oldlenp;
-        void *newp;
-        size_t newlen; 
-        int *valp;
-{       
-        int error = 0; 
-        
-        if (oldp && *oldlenp < sizeof(int))
-                return (ENOMEM);
-        if (newp && newlen != sizeof(int))
-                return (EINVAL);
-        *oldlenp = sizeof(int);
-        if (oldp)
-                error = copyout(valp, oldp, sizeof(int));
-        if (error == 0 && newp)
-                error = copyin(newp, valp, sizeof(int));
-        return (error);            
-}               
-
-/* 
- * Validate parameters and get old parameters
- * for a structure oriented sysctl function.
- */
-int
-sysctl_rdstruct(oldp, oldlenp, newp, sp, len)
-        void *oldp;
-        size_t *oldlenp;
-        void *newp, *sp;
-        int len;
-{ 
-        int error = 0;
-        if (oldp && *oldlenp < len)
-                return (ENOMEM);
-        if (newp)
-                return (EPERM);
-        *oldlenp = len;
-        if (oldp)
-                error = copyout(sp, oldp, len);
-        return (error);
-}
-
-/* ---------------------------------------------------------------------- */
-/* 
- * normally, this is a builtin function in gcc
- * net/if.c doesn't seem to get it, though
- */
-int
-memcmp(const void *s1v, const void *s2v, size_t size)
-{
-        register const char *s1 = s1v, *s2 = s2v;
-        register unsigned int a, b;
-
-        while (size-- > 0) {
-                if ((a = *s1++) != (b = *s2++))
-                        return (a-b);
-        }
-
-        return 0;
-}
-
-int bcmp(const void *b1, const void *b2, size_t len)
-{
-       return memcmp(b1, b2, len);
-}
-
diff --git a/reactos/lib/oskittcp/oskittcp/in.c b/reactos/lib/oskittcp/oskittcp/in.c
deleted file mode 100644 (file)
index 89ad849..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)in.c        8.2 (Berkeley) 11/15/93
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/ioctl.h>
-#include <sys/errno.h>
-#include <sys/malloc.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/queue.h>
-
-#include <net/if.h>
-#include <net/route.h>
-
-#include <netinet/in_systm.h>
-#include <netinet/in.h>
-#include <netinet/in_var.h>
-#include <netinet/if_ether.h>
-
-#include <netinet/igmp_var.h>
-
-/*
- * This structure is used to keep track of in_multi chains which belong to
- * deleted interface addresses.
- */
-static LIST_HEAD(, multi_kludge) in_mk; /* XXX BSS initialization */
-
-struct multi_kludge {
-       LIST_ENTRY(multi_kludge) mk_entry;
-       struct ifnet *mk_ifp;
-       struct in_multihead mk_head;
-};
-
-/*
- * Return the network number from an internet address.
- */
-u_long
-in_netof(in)
-       struct in_addr in;
-{
-       register u_long i = ntohl(in.s_addr);
-       register u_long net;
-       register struct in_ifaddr *ia;
-
-       if (IN_CLASSA(i))
-               net = i & IN_CLASSA_NET;
-       else if (IN_CLASSB(i))
-               net = i & IN_CLASSB_NET;
-       else if (IN_CLASSC(i))
-               net = i & IN_CLASSC_NET;
-       else if (IN_CLASSD(i))
-               net = i & IN_CLASSD_NET;
-       else
-               return (0);
-
-       /*
-        * Check whether network is a subnet;
-        * if so, return subnet number.
-        */
-       for (ia = in_ifaddr; ia; ia = ia->ia_next)
-               if (net == ia->ia_net)
-                       return (i & ia->ia_subnetmask);
-       return (net);
-}
-
-#ifndef SUBNETSARELOCAL
-#define        SUBNETSARELOCAL 1
-#endif
-int subnetsarelocal = SUBNETSARELOCAL;
-/*
- * Return 1 if an internet address is for a ``local'' host
- * (one to which we have a connection).  If subnetsarelocal
- * is true, this includes other subnets of the local net.
- * Otherwise, it includes only the directly-connected (sub)nets.
- */
-int
-in_localaddr(in)
-       struct in_addr in;
-{
-       register u_long i = ntohl(in.s_addr);
-       register struct in_ifaddr *ia;
-
-       if (subnetsarelocal) {
-               for (ia = in_ifaddr; ia; ia = ia->ia_next)
-                       if ((i & ia->ia_netmask) == ia->ia_net)
-                               return (1);
-       } else {
-               for (ia = in_ifaddr; ia; ia = ia->ia_next)
-                       if ((i & ia->ia_subnetmask) == ia->ia_subnet)
-                               return (1);
-       }
-       return (0);
-}
-
-int    in_interfaces;          /* number of external internet interfaces */
-
-/*
- * Generic internet control operations (ioctl's).
- * Ifp is 0 if not an interface-specific ioctl.
- */
-/* ARGSUSED */
-int
-in_control(so, cmd, data, ifp)
-       struct socket *so;
-       int cmd;
-       caddr_t data;
-       register struct ifnet *ifp;
-{
-       return (0);
-}
-
-/*
- * Delete a multicast address record.
- */
-void
-in_delmulti(inm)
-       register struct in_multi *inm;
-{
-#if 0
-       register struct in_multi **p;
-       struct ifreq ifr;
-       int s = splnet();
-
-       if (--inm->inm_refcount == 0) {
-               /*
-                * No remaining claims to this record; let IGMP know that
-                * we are leaving the multicast group.
-                */
-           /* igmp_leavegroup(inm); XXX arty */
-               /*
-                * Unlink from list.
-                */
-               LIST_REMOVE(inm, inm_entry);
-
-               /*
-                * Notify the network driver to update its multicast reception
-                * filter.
-                */
-               ((struct sockaddr_in *)&(ifr.ifr_addr))->sin_family = AF_INET;
-               ((struct sockaddr_in *)&(ifr.ifr_addr))->sin_addr =
-                                                               inm->inm_addr;
-               (*inm->inm_ifp->if_ioctl)(inm->inm_ifp, SIOCDELMULTI,
-                                                            (caddr_t)&ifr);
-               free(inm, M_IPMADDR);
-       }
-       splx(s);
-#endif
-}
diff --git a/reactos/lib/oskittcp/oskittcp/in_cksum.c b/reactos/lib/oskittcp/oskittcp/in_cksum.c
deleted file mode 100644 (file)
index 4175f8c..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 1988, 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)in_cksum.c  8.1 (Berkeley) 6/10/93
- */
-
-#include <sys/param.h>
-#include <sys/mbuf.h>
-#include <sys/systm.h>
-
-/*
- * Checksum routine for Internet Protocol family headers (Portable Version).
- *
- * This routine is very heavily used in the network
- * code and should be modified for each CPU to be as fast as possible.
- */
-
-#define ADDCARRY(x)  (x > 65535 ? x -= 65535 : x)
-#define REDUCE {l_util.l = sum; sum = l_util.s[0] + l_util.s[1]; ADDCARRY(sum);}
-
-int
-in_cksum(m, len)
-       register struct mbuf *m;
-       register int len;
-{
-       register u_short *w;
-       register int sum = 0;
-       register int mlen = 0;
-       int byte_swapped = 0;
-
-       union {
-               char    c[2];
-               u_short s;
-       } s_util;
-       union {
-               u_short s[2];
-               long    l;
-       } l_util;
-
-       for (;m && len; m = m->m_next) {
-               if (m->m_len == 0)
-                       continue;
-               w = mtod(m, u_short *);
-               if (mlen == -1) {
-                       /*
-                        * The first byte of this mbuf is the continuation
-                        * of a word spanning between this mbuf and the
-                        * last mbuf.
-                        *
-                        * s_util.c[0] is already saved when scanning previous
-                        * mbuf.
-                        */
-                       s_util.c[1] = *(char *)w;
-                       sum += s_util.s;
-                       w = (u_short *)((char *)w + 1);
-                       mlen = m->m_len - 1;
-                       len--;
-               } else
-                       mlen = m->m_len;
-               if (len < mlen)
-                       mlen = len;
-               len -= mlen;
-               /*
-                * Force to even boundary.
-                */
-               if ((1 & (int) w) && (mlen > 0)) {
-                       REDUCE;
-                       sum <<= 8;
-                       s_util.c[0] = *(u_char *)w;
-                       w = (u_short *)((char *)w + 1);
-                       mlen--;
-                       byte_swapped = 1;
-               }
-               /*
-                * Unroll the loop to make overhead from
-                * branches &c small.
-                */
-               while ((mlen -= 32) >= 0) {
-                       sum += w[0]; sum += w[1]; sum += w[2]; sum += w[3];
-                       sum += w[4]; sum += w[5]; sum += w[6]; sum += w[7];
-                       sum += w[8]; sum += w[9]; sum += w[10]; sum += w[11];
-                       sum += w[12]; sum += w[13]; sum += w[14]; sum += w[15];
-                       w += 16;
-               }
-               mlen += 32;
-               while ((mlen -= 8) >= 0) {
-                       sum += w[0]; sum += w[1]; sum += w[2]; sum += w[3];
-                       w += 4;
-               }
-               mlen += 8;
-               if (mlen == 0 && byte_swapped == 0)
-                       continue;
-               REDUCE;
-               while ((mlen -= 2) >= 0) {
-                       sum += *w++;
-               }
-               if (byte_swapped) {
-                       REDUCE;
-                       sum <<= 8;
-                       byte_swapped = 0;
-                       if (mlen == -1) {
-                               s_util.c[1] = *(char *)w;
-                               sum += s_util.s;
-                               mlen = 0;
-                       } else
-                               mlen = -1;
-               } else if (mlen == -1)
-                       s_util.c[0] = *(char *)w;
-       }
-       if (len)
-               printf("cksum: out of data\n");
-       if (mlen == -1) {
-               /* The last mbuf has odd # of bytes. Follow the
-                  standard (the odd byte may be shifted left by 8 bits
-                  or not as determined by endian-ness of the machine) */
-               s_util.c[1] = 0;
-               sum += s_util.s;
-       }
-       REDUCE;
-       return (~sum & 0xffff);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/in_pcb.c b/reactos/lib/oskittcp/oskittcp/in_pcb.c
deleted file mode 100644 (file)
index f050eb6..0000000
+++ /dev/null
@@ -1,521 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1991, 1993, 1995
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)in_pcb.c    8.2 (Berkeley) 1/4/94
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/ioctl.h>
-#include <sys/errno.h>
-#include <sys/time.h>
-#include <sys/proc.h>
-#include <sys/queue.h>
-
-#include <net/if.h>
-#include <net/route.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/in_var.h>
-#include <netinet/ip_var.h>
-
-struct in_addr zeroin_addr;
-
-int
-in_pcballoc(so, pcbinfo)
-       struct socket *so;
-       struct inpcbinfo *pcbinfo;
-{
-       register struct inpcb *inp;
-       int s;
-
-       MALLOC(inp, struct inpcb *, sizeof(*inp), M_PCB, M_NOWAIT);
-       if (inp == NULL)
-               return (ENOBUFS);
-       bzero((caddr_t)inp, sizeof(*inp));
-       inp->inp_pcbinfo = pcbinfo;
-       inp->inp_socket = so;
-       s = splnet();
-       LIST_INSERT_HEAD(pcbinfo->listhead, inp, inp_list);
-       in_pcbinshash(inp);
-       splx(s);
-       so->so_pcb = (caddr_t)inp;
-       return (0);
-}
-
-int
-in_pcbbind(inp, nam)
-       register struct inpcb *inp;
-       struct mbuf *nam;
-{
-       register struct socket *so = inp->inp_socket;
-       struct inpcbhead *head = inp->inp_pcbinfo->listhead;
-       unsigned short *lastport = &inp->inp_pcbinfo->lastport;
-       struct sockaddr_in *sin;
-       struct proc *p = curproc;               /* XXX */
-       struct ifaddr ifa;
-       u_short lport = 0;
-       int wild = 0, reuseport = (so->so_options & SO_REUSEPORT);
-       int error;
-
-       if (inp->inp_lport || inp->inp_laddr.s_addr != INADDR_ANY)
-               return (EINVAL);
-       if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) == 0 &&
-           ((so->so_proto->pr_flags & PR_CONNREQUIRED) == 0 ||
-            (so->so_options & SO_ACCEPTCONN) == 0))
-               wild = INPLOOKUP_WILDCARD;
-       if (nam) {
-               sin = mtod(nam, struct sockaddr_in *);
-               if (nam->m_len != sizeof (*sin))
-                       return (EINVAL);
-#ifdef notdef
-               /*
-                * We should check the family, but old programs
-                * incorrectly fail to initialize it.
-                */
-               if (sin->sin_family != AF_INET)
-                       return (EAFNOSUPPORT);
-#endif
-               lport = sin->sin_port;
-               if (IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) {
-                       /*
-                        * Treat SO_REUSEADDR as SO_REUSEPORT for multicast;
-                        * allow complete duplication of binding if
-                        * SO_REUSEPORT is set, or if SO_REUSEADDR is set
-                        * and a multicast address is bound on both
-                        * new and duplicated sockets.
-                        */
-                       if (so->so_options & SO_REUSEADDR)
-                               reuseport = SO_REUSEADDR|SO_REUSEPORT;
-               } else if (sin->sin_addr.s_addr != INADDR_ANY) {
-                       sin->sin_port = 0;              /* yech... */
-                       if (ifa_ifwithaddr((struct sockaddr *)sin, &ifa) != 0)
-                               return (EADDRNOTAVAIL);
-               }
-               if (lport) {
-                       struct inpcb *t;
-
-                       /* GROSS */
-                       if (ntohs(lport) < IPPORT_RESERVED &&
-                           (error = suser(p->p_ucred, &p->p_acflag)))
-                               return (EACCES);
-                       t = in_pcblookup(head, zeroin_addr, 0,
-                           sin->sin_addr, lport, wild);
-                       if (t && (reuseport & t->inp_socket->so_options) == 0)
-                               return (EADDRINUSE);
-               }
-               inp->inp_laddr = sin->sin_addr;
-       }
-       if (lport == 0)
-               do {
-                       ++*lastport;
-                       if (*lastport < IPPORT_RESERVED ||
-                           *lastport > IPPORT_USERRESERVED)
-                               *lastport = IPPORT_RESERVED;
-                       lport = htons(*lastport);
-               } while (in_pcblookup(head,
-                           zeroin_addr, 0, inp->inp_laddr, lport, wild));
-       inp->inp_lport = lport;
-       in_pcbrehash(inp);
-       return (0);
-}
-
-/*
- *   Transform old in_pcbconnect() into an inner subroutine for new
- *   in_pcbconnect(): Do some validity-checking on the remote
- *   address (in mbuf 'nam') and then determine local host address
- *   (i.e., which interface) to use to access that remote host.
- *
- *   This preserves definition of in_pcbconnect(), while supporting a
- *   slightly different version for T/TCP.  (This is more than
- *   a bit of a kludge, but cleaning up the internal interfaces would
- *   have forced minor changes in every protocol).
- */
-
-int
-in_pcbladdr(inp, nam, plocal_sin)
-       register struct inpcb *inp;
-       struct mbuf *nam;
-       struct sockaddr_in *plocal_sin;
-{
-       struct ifaddr ifa;
-       struct sockaddr_in *ifaddr = 0;
-       register struct sockaddr_in *sin = mtod(nam, struct sockaddr_in *);
-
-       if (nam->m_len != sizeof (*sin))
-               return (EINVAL);
-       if (sin->sin_family != AF_INET) {
-           OS_DbgPrint(OSK_MID_TRACE,("EAFNOSUPPORT: %d\n", sin->sin_family));
-               return (EAFNOSUPPORT);
-       }
-       if (sin->sin_port == 0)
-               return (EADDRNOTAVAIL);
-       if (inp->inp_laddr.s_addr == INADDR_ANY) {
-           register struct route *ro;
-           /*
-            * If route is known or can be allocated now,
-            * our src addr is taken from the i/f, else punt.
-            */
-           ro = &inp->inp_route;
-           if ((inp->inp_socket->so_options & SO_DONTROUTE) == 0) {
-               /* No route yet, so try to acquire one */
-               ro->ro_dst.sa_family = AF_INET;
-               /* ro->ro_dst.sa_len = sizeof(struct sockaddr_in); */
-               ((struct sockaddr_in *) &ro->ro_dst)->sin_addr =
-                   sin->sin_addr;
-               if( ifa_ifwithnet( sin, &ifa ) == 0 ) {
-                   inp->inp_laddr = 
-                       ((struct sockaddr_in *)&ifa.ifa_addr)->sin_addr;
-                   OS_DbgPrint(OSK_MID_TRACE,
-                               ("Assigning local address: %x\n",
-                                inp->inp_laddr.s_addr));
-               }
-           }
-       }
-       /*
-        * Don't do pcblookup call here; return interface in plocal_sin
-        * and exit to caller, that will do the lookup.
-        */
-       plocal_sin->sin_family = AF_INET;
-       plocal_sin->sin_addr = ((struct sockaddr_in *)&ifa.ifa_addr)->sin_addr;
-       plocal_sin->sin_port = sin->sin_port;
-       return(0);
-}
-
-/*
- * Outer subroutine:
- * Connect from a socket to a specified address.
- * Both address and port must be specified in argument sin.
- * If don't have a local address for this socket yet,
- * then pick one.
- */
-int
-in_pcbconnect(inp, nam)
-       register struct inpcb *inp;
-       struct mbuf *nam;
-{
-       struct sockaddr_in ifaddr;
-       register struct sockaddr_in *sin = mtod(nam, struct sockaddr_in *);
-       int error;
-
-       /*
-        *   Call inner routine, to assign local interface address.
-        */
-       if (error = in_pcbladdr(inp, nam, &ifaddr))
-               return(error);
-
-       if (in_pcblookuphash(inp->inp_pcbinfo, sin->sin_addr, sin->sin_port,
-                            inp->inp_laddr.s_addr ? inp->inp_laddr : 
-                            ifaddr.sin_addr,
-           inp->inp_lport) != NULL)
-               return (EADDRINUSE);
-       if (inp->inp_laddr.s_addr == INADDR_ANY) {
-               if (inp->inp_lport == 0)
-                       (void)in_pcbbind(inp, (struct mbuf *)0);
-               inp->inp_laddr = ifaddr.sin_addr;
-       }
-       inp->inp_faddr = sin->sin_addr;
-       inp->inp_fport = sin->sin_port;
-       in_pcbrehash(inp);
-       return (0);
-}
-
-void
-in_pcbdisconnect(inp)
-       struct inpcb *inp;
-{
-
-       inp->inp_faddr.s_addr = INADDR_ANY;
-       inp->inp_fport = 0;
-       in_pcbrehash(inp);
-       if (inp->inp_socket->so_state & SS_NOFDREF)
-               in_pcbdetach(inp);
-}
-
-void
-in_pcbdetach(inp)
-       struct inpcb *inp;
-{
-       struct socket *so = inp->inp_socket;
-       int s;
-
-       so->so_pcb = 0;
-       sofree(so);
-       if (inp->inp_options)
-               (void)m_free(inp->inp_options);
-       ip_freemoptions(inp->inp_moptions);
-       s = splnet();
-       LIST_REMOVE(inp, inp_hash);
-       LIST_REMOVE(inp, inp_list);
-       splx(s);
-       FREE(inp, M_PCB);
-}
-
-void
-in_setsockaddr(inp, nam)
-       register struct inpcb *inp;
-       struct mbuf *nam;
-{
-       register struct sockaddr_in *sin;
-
-       nam->m_len = sizeof (*sin);
-       sin = mtod(nam, struct sockaddr_in *);
-       bzero((caddr_t)sin, sizeof (*sin));
-       sin->sin_family = AF_INET;
-       /* sin->sin_len = sizeof(*sin); */
-       sin->sin_port = inp->inp_lport;
-       sin->sin_addr = inp->inp_laddr;
-}
-
-void
-in_setpeeraddr(inp, nam)
-       struct inpcb *inp;
-       struct mbuf *nam;
-{
-       register struct sockaddr_in *sin;
-
-       nam->m_len = sizeof (*sin);
-       sin = mtod(nam, struct sockaddr_in *);
-       bzero((caddr_t)sin, sizeof (*sin));
-       sin->sin_family = AF_INET;
-       /* sin->sin_len = sizeof(*sin); */
-       sin->sin_port = inp->inp_fport;
-       sin->sin_addr = inp->inp_faddr;
-}
-
-/*
- * Pass some notification to all connections of a protocol
- * associated with address dst.  The local address and/or port numbers
- * may be specified to limit the search.  The "usual action" will be
- * taken, depending on the ctlinput cmd.  The caller must filter any
- * cmds that are uninteresting (e.g., no error in the map).
- * Call the protocol specific routine (if any) to report
- * any errors for each matching socket.
- *
- * Must be called at splnet.
- */
-void
-in_pcbnotify(head, dst, fport_arg, laddr, lport_arg, cmd, notify)
-       struct inpcbhead *head;
-       struct sockaddr *dst;
-       u_int fport_arg, lport_arg;
-       struct in_addr laddr;
-       int cmd;
-       void (*notify) __P((struct inpcb *, int));
-{
-       register struct inpcb *inp, *oinp;
-       struct in_addr faddr;
-       u_short fport = fport_arg, lport = lport_arg;
-       int errno, s;
-
-       if ((unsigned)cmd > PRC_NCMDS || dst->sa_family != AF_INET)
-               return;
-       faddr = ((struct sockaddr_in *)dst)->sin_addr;
-       if (faddr.s_addr == INADDR_ANY)
-               return;
-
-       /*
-        * Redirects go to all references to the destination,
-        * and use in_rtchange to invalidate the route cache.
-        * Dead host indications: notify all references to the destination.
-        * Otherwise, if we have knowledge of the local port and address,
-        * deliver only to that socket.
-        */
-       if (PRC_IS_REDIRECT(cmd) || cmd == PRC_HOSTDEAD) {
-               fport = 0;
-               lport = 0;
-               laddr.s_addr = 0;
-               if (cmd != PRC_HOSTDEAD)
-                       notify = in_rtchange;
-       }
-       errno = inetctlerrmap[cmd];
-       s = splnet();
-       for (inp = head->lh_first; inp != NULL;) {
-               if (inp->inp_faddr.s_addr != faddr.s_addr ||
-                   inp->inp_socket == 0 ||
-                   (lport && inp->inp_lport != lport) ||
-                   (laddr.s_addr && inp->inp_laddr.s_addr != laddr.s_addr) ||
-                   (fport && inp->inp_fport != fport)) {
-                       inp = inp->inp_list.le_next;
-                       continue;
-               }
-               oinp = inp;
-               inp = inp->inp_list.le_next;
-               if (notify)
-                       (*notify)(oinp, errno);
-       }
-       splx(s);
-}
-
-/*
- * After a routing change, flush old routing
- * and allocate a (hopefully) better one.
- */
-void
-in_rtchange(inp, errno)
-       register struct inpcb *inp;
-       int errno;
-{
-}
-
-struct inpcb *
-in_pcblookup(head, faddr, fport_arg, laddr, lport_arg, flags)
-       struct inpcbhead *head;
-       struct in_addr faddr, laddr;
-       u_int fport_arg, lport_arg;
-       int flags;
-{
-       register struct inpcb *inp, *match = NULL;
-       int matchwild = 3, wildcard;
-       u_short fport = fport_arg, lport = lport_arg;
-       int s;
-
-       s = splnet();
-
-       for (inp = head->lh_first; inp != NULL; inp = inp->inp_list.le_next) {
-               if (inp->inp_lport != lport)
-                       continue;
-               wildcard = 0;
-               if (inp->inp_faddr.s_addr != INADDR_ANY) {
-                       if (faddr.s_addr == INADDR_ANY)
-                               wildcard++;
-                       else if (inp->inp_faddr.s_addr != faddr.s_addr ||
-                           inp->inp_fport != fport)
-                               continue;
-               } else {
-                       if (faddr.s_addr != INADDR_ANY)
-                               wildcard++;
-               }
-               if (inp->inp_laddr.s_addr != INADDR_ANY) {
-                       if (laddr.s_addr == INADDR_ANY)
-                               wildcard++;
-                       else if (inp->inp_laddr.s_addr != laddr.s_addr)
-                               continue;
-               } else {
-                       if (laddr.s_addr != INADDR_ANY)
-                               wildcard++;
-               }
-               if (wildcard && (flags & INPLOOKUP_WILDCARD) == 0)
-                       continue;
-               if (wildcard < matchwild) {
-                       match = inp;
-                       matchwild = wildcard;
-                       if (matchwild == 0) {
-                               break;
-                       }
-               }
-       }
-       splx(s);
-       return (match);
-}
-
-/*
- * Lookup PCB in hash list.
- */
-struct inpcb *
-in_pcblookuphash(pcbinfo, faddr, fport_arg, laddr, lport_arg)
-       struct inpcbinfo *pcbinfo;
-       struct in_addr faddr, laddr;
-       u_int fport_arg, lport_arg;
-{
-       struct inpcbhead *head;
-       register struct inpcb *inp;
-       u_short fport = fport_arg, lport = lport_arg;
-       int s;
-
-       s = splnet();
-       /*
-        * First look for an exact match.
-        */
-       head = &pcbinfo->hashbase[(faddr.s_addr + lport + fport) % pcbinfo->hashsize];
-
-       for (inp = head->lh_first; inp != NULL; inp = inp->inp_hash.le_next) {
-               if (inp->inp_faddr.s_addr != faddr.s_addr ||
-                   inp->inp_fport != fport ||
-                   inp->inp_lport != lport ||
-                   inp->inp_laddr.s_addr != laddr.s_addr)
-                       continue;
-               /*
-                * Move PCB to head of this hash chain so that it can be
-                * found more quickly in the future.
-                */
-               if (inp != head->lh_first) {
-                       LIST_REMOVE(inp, inp_hash);
-                       LIST_INSERT_HEAD(head, inp, inp_hash);
-               }
-               break;
-       }
-       splx(s);
-       return (inp);
-}
-
-/*
- * Insert PCB into hash chain. Must be called at splnet.
- */
-void
-in_pcbinshash(inp)
-       struct inpcb *inp;
-{
-       struct inpcbhead *head;
-
-       head = &inp->inp_pcbinfo->hashbase[(inp->inp_faddr.s_addr +
-               inp->inp_lport + inp->inp_fport) % inp->inp_pcbinfo->hashsize];
-
-       LIST_INSERT_HEAD(head, inp, inp_hash);
-}
-
-void
-in_pcbrehash(inp)
-       struct inpcb *inp;
-{
-       struct inpcbhead *head;
-       int s;
-
-       s = splnet();
-       LIST_REMOVE(inp, inp_hash);
-
-       head = &inp->inp_pcbinfo->hashbase[(inp->inp_faddr.s_addr +
-               inp->inp_lport + inp->inp_fport) % inp->inp_pcbinfo->hashsize];
-
-       LIST_INSERT_HEAD(head, inp, inp_hash);
-       splx(s);
-}
-
-void in_losing(struct inpcb *inp) { }
diff --git a/reactos/lib/oskittcp/oskittcp/in_proto.c b/reactos/lib/oskittcp/oskittcp/in_proto.c
deleted file mode 100644 (file)
index 3c8ce2f..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     From: @(#)in_proto.c    8.1 (Berkeley) 6/10/93
- */
-
-#include <sys/param.h>
-#include <sys/kernel.h>
-#include <sys/socket.h>
-#include <sys/protosw.h>
-#include <sys/domain.h>
-#include <sys/mbuf.h>
-#include <sys/queue.h>
-
-#include <net/if.h>
-#include <net/radix.h>
-#include <net/route.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/ip_var.h>
-#include <netinet/ip_icmp.h>
-#include <netinet/in_pcb.h>
-#include <netinet/igmp_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-#ifdef TCPDEBUG
-#include <netinet/tcp_debug.h>
-#endif
-#include <netinet/udp.h>
-#include <netinet/udp_var.h>
-/*
- * TCP/IP protocol family: IP, ICMP, UDP, TCP.
- */
-
-#ifdef NSIP
-void   idpip_input(), nsip_ctlinput();
-#endif
-
-#ifdef TPIP
-void   tpip_input(), tpip_ctlinput(), tp_ctloutput();
-int    tp_init(), tp_slowtimo(), tp_drain(), tp_usrreq();
-#endif
-
-#ifdef EON
-void   eoninput(), eonctlinput(), eonprotoinit();
-#endif /* EON */
-
-void rsvp_input(struct mbuf *, int);
-void ipip_input(struct mbuf *, int);
-
-extern struct domain inetdomain;
-
-struct protosw inetsw[] = {
-{ SOCK_STREAM, &inetdomain,    IPPROTO_TCP,
-       PR_CONNREQUIRED|PR_IMPLOPCL|PR_WANTRCVD,
-  tcp_input,   0,              tcp_ctlinput,   tcp_ctloutput,
-  tcp_usrreq,
-  tcp_init,    tcp_fasttimo,   tcp_slowtimo,   tcp_drain,      tcp_sysctl
-},
-};
-
-extern int in_inithead(void **, int);
-
-struct domain inetdomain =
-    { AF_INET, "internet", 0, 0, 0, 
-      inetsw, &inetsw[sizeof(inetsw)/sizeof(inetsw[0])], 0,
-      in_inithead, 32, sizeof(struct sockaddr_in)
-    };
-
-DOMAIN_SET(inet);
-
-#include "imp.h"
-#if NIMP > 0
-extern struct domain impdomain;
-int    rimp_output(), hostslowtimo();
-
-struct protosw impsw[] = {
-{ SOCK_RAW,    &impdomain,     0,              PR_ATOMIC|PR_ADDR,
-  0,           rimp_output,    0,              0,
-  rip_usrreq,
-  0,           0,              hostslowtimo,   0,
-},
-};
-
-struct domain impdomain =
-    { AF_IMPLINK, "imp", 0, 0, 0,
-      impsw, &impsw[sizeof (impsw)/sizeof(impsw[0])] };
-
-DOMAIN_SET(imp);
-
-#endif
-
-#if 0
-#include "hy.h"
-#if NHY > 0
-/*
- * HYPERchannel protocol family: raw interface.
- */
-int    rhy_output();
-extern struct domain hydomain;
-
-struct protosw hysw[] = {
-{ SOCK_RAW,    &hydomain,      0,              PR_ATOMIC|PR_ADDR,
-  0,           rhy_output,     0,              0,
-  rip_usrreq,
-  0,           0,              0,              0,
-},
-};
-
-struct domain hydomain =
-    { AF_HYLINK, "hy", 0, 0, 0, hysw, &hysw[sizeof (hysw)/sizeof(hysw[0])] };
-
-DOMAIN_SET(hy);
-#endif
-#endif
diff --git a/reactos/lib/oskittcp/oskittcp/in_rmx.c b/reactos/lib/oskittcp/oskittcp/in_rmx.c
deleted file mode 100644 (file)
index ce8d1b0..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 1994, 1995 Massachusetts Institute of Technology
- *
- * Permission to use, copy, modify, and distribute this software and
- * its documentation for any purpose and without fee is hereby
- * granted, provided that both the above copyright notice and this
- * permission notice appear in all copies, that both the above
- * copyright notice and this permission notice appear in all
- * supporting documentation, and that the name of M.I.T. not be used
- * in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.  M.I.T. makes
- * no representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''.  M.I.T. DISCLAIMS
- * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
- * SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-/*
- * This code does two things necessary for the enhanced TCP metrics to
- * function in a useful manner:
- *  1) It marks all non-host routes as `cloning', thus ensuring that
- *     every actual reference to such a route actually gets turned
- *     into a reference to a host route to the specific destination
- *     requested.
- *  2) When such routes lose all their references, it arranges for them
- *     to be deleted in some random collection of circumstances, so that
- *     a large quantity of stale routing data is not kept in kernel memory
- *     indefinitely.  See in_rtqtimo() below for the exact mechanism.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/queue.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/mbuf.h>
-#include <sys/syslog.h>
-
-#include <net/if.h>
-#include <net/route.h>
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/in_var.h>
-
-#include <netinet/ip.h>
-#include <netinet/ip_var.h>
-
-#include <netinet/tcp.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-
-/*
- * Initialize our routing tree.
- */
-int
-in_inithead(void **head, int off)
-{
-       struct radix_node_head *rnh;
-
-       if(!rn_inithead(head, off))
-               return 0;
-
-       if(head != (void **)&rt_tables[AF_INET]) /* BOGUS! */
-               return 1;       /* only do this for the real routing table */
-
-       rnh = *head;
-#if 0
-       rnh->rnh_addaddr = in_addroute;
-       rnh->rnh_matchaddr = in_matroute;
-       rnh->rnh_close = in_clsroute;
-       in_rtqtimo(rnh);        /* kick off timeout first time */
-#endif
-       return 1;
-}
-
diff --git a/reactos/lib/oskittcp/oskittcp/inet_ntoa.c b/reactos/lib/oskittcp/oskittcp/inet_ntoa.c
deleted file mode 100644 (file)
index d25dff8..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-
-/*
- * Copyright 1994, 1995 Massachusetts Institute of Technology
- *
- * Permission to use, copy, modify, and distribute this software and
- * its documentation for any purpose and without fee is hereby
- * granted, provided that both the above copyright notice and this
- * permission notice appear in all copies, that both the above
- * copyright notice and this permission notice appear in all
- * supporting documentation, and that the name of M.I.T. not be used
- * in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.  M.I.T. makes
- * no representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''.  M.I.T. DISCLAIMS
- * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
- * SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-
-#include <netinet/in.h>
-
-#ifndef __REACTOS__
-char *
-inet_ntoa(struct in_addr ina)
-{
-       static char buf[4*sizeof "123"];
-       unsigned char *ucp = (unsigned char *)&ina;
-
-       sprintf(buf, "%d.%d.%d.%d",
-               ucp[0] & 0xff,
-               ucp[1] & 0xff,
-               ucp[2] & 0xff,
-               ucp[3] & 0xff);
-       return buf;
-}
-
-#endif
diff --git a/reactos/lib/oskittcp/oskittcp/interface.c b/reactos/lib/oskittcp/oskittcp/interface.c
deleted file mode 100644 (file)
index 08ef28f..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-#include <oskittcp.h>
-#include <oskitdebug.h>
-#include <ntddk.h>
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/socket.h>
-#include <sys/kernel.h>
-#include <sys/filedesc.h>
-#include <sys/proc.h>
-#include <sys/fcntl.h>
-#include <sys/file.h>
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/uio.h>
-
-struct linker_set domain_set;
-
-OSKITTCP_EVENT_HANDLERS OtcpEvent = { 0 };
-
-OSK_UINT OskitDebugTraceLevel = OSK_DEBUG_ULTRA;
-
-/* SPL */
-unsigned cpl;
-unsigned net_imask;
-unsigned volatile ipending;
-struct timeval boottime;
-
-void InitOskitTCP() {
-    OS_DbgPrint(OSK_MID_TRACE,("Init Called\n"));
-    OS_DbgPrint(OSK_MID_TRACE,("Init fake freebsd scheduling\n"));
-    init_freebsd_sched();
-    OS_DbgPrint(OSK_MID_TRACE,("Init clock\n"));
-    clock_init();
-    OS_DbgPrint(OSK_MID_TRACE,("Init TCP\n"));
-    tcp_init();
-    OS_DbgPrint(OSK_MID_TRACE,("Init routing\n"));
-    domaininit();
-    memset( &OtcpEvent, 0, sizeof( OtcpEvent ) );
-    OS_DbgPrint(OSK_MID_TRACE,("Init Finished\n"));
-    tcp_iss = 1024;
-}
-
-void DeinitOskitTCP() {
-}
-
-void TimerOskitTCP() {
-    tcp_slowtimo();
-}
-
-void RegisterOskitTCPEventHandlers( POSKITTCP_EVENT_HANDLERS EventHandlers ) {
-    memcpy( &OtcpEvent, EventHandlers, sizeof(OtcpEvent) );
-    if( OtcpEvent.PacketSend ) 
-       OS_DbgPrint(OSK_MID_TRACE,("SendPacket handler registered: %x\n",
-                                  OtcpEvent.PacketSend));
-    if( OtcpEvent.Bind )
-       OS_DbgPrint(OSK_MID_TRACE,("Bind handler registered: %x\n",
-                                  OtcpEvent.Bind));
-}
-
-void OskitDumpBuffer( OSK_PCHAR Data, OSK_UINT Len ) {
-    unsigned int i;
-    
-    for( i = 0; i < Len; i++ ) {
-       if( i && !(i & 0xf) ) DbgPrint( "\n" );
-       if( !(i & 0xf) ) DbgPrint( "%08x: ", (UINT)(Data + i) );
-       DbgPrint( " %02x", Data[i] );
-    }
-    DbgPrint("\n");
-}
-
-/* From uipc_syscalls.c */
-
-int OskitTCPSocket( void *context,
-                   void **aso, 
-                   int domain, 
-                   int type, 
-                   int proto ) 
-{
-    struct socket *so;
-    int error = socreate(domain, &so, type, proto);
-    if( !error ) {
-       so->so_connection = context;
-       *aso = so;
-    }
-    return error;
-#if 0
-    register struct protosw *prp;
-    register struct socket *so;
-    register int error;
-
-    if (proto) {
-       prp = pffindproto(domain, proto, type);
-    } else {
-       prp = pffindtype(domain, type);
-    }
-    if (prp == 0 || prp->pr_usrreq == 0) {
-       return (EPROTONOSUPPORT);
-    }
-    if (prp->pr_type != type) {
-       return (EPROTOTYPE);
-    }
-    MALLOC(so, struct socket *, sizeof(*so), M_SOCKET, M_WAIT);
-    bzero((caddr_t)so, sizeof(*so));
-    so->so_type = type;
-    so->so_proto = prp;
-    error =
-       (*prp->pr_usrreq)(so, PRU_ATTACH,
-                         (struct mbuf *)0, 
-                         (struct mbuf *)proto, 
-                         (struct mbuf *)0);
-    if (error) {
-       so->so_state |= SS_NOFDREF;
-       sofree(so);
-       return (error);
-    }
-    *aso = so;
-    OS_DbgPrint(OSK_MAX_TRACE,("Returning Socket %x\n", so));
-    return STATUS_SUCCESS;
-#endif
-}
-
-static int
-getsockaddr(namp, uaddr, len)
-/* [<][>][^][v][top][bottom][index][help] */
-    struct sockaddr **namp;
-caddr_t uaddr;
-size_t len;
-{
-    struct sockaddr *sa;
-    int error;
-
-    if (len > SOCK_MAXADDRLEN)
-       return ENAMETOOLONG;
-    MALLOC(sa, struct sockaddr *, len, M_SONAME, M_WAITOK);
-    error = copyin(uaddr, sa, len);
-    if (error) {
-       FREE(sa, M_SONAME);
-    } else {
-       *namp = sa;
-    }
-    return error;
-}
-
-NTSTATUS OskitTCPConnect( PVOID socket, PVOID connection, 
-                         PVOID nam, OSK_UINT namelen ) {
-    struct socket *so = socket;
-    struct connect_args _uap = {
-       0, nam, namelen
-    }, *uap = &_uap;
-    int error = EFAULT, s;
-    struct mbuf sabuf = { 0 };
-    struct sockaddr addr;
-
-    OS_DbgPrint(OSK_MID_TRACE,("Called, socket = %08x\n", socket));
-
-    so->so_connection = connection;
-
-    if ((so->so_state & SS_NBIO) && (so->so_state & SS_ISCONNECTING)) {
-       error = EALREADY;
-       goto done;
-    }
-
-    OS_DbgPrint(OSK_MIN_TRACE,("Nam: %x\n", nam));
-    if( nam )
-       addr = *((struct sockaddr *)nam);
-
-    sabuf.m_data = (void *)&addr;
-    sabuf.m_len = sizeof(addr);
-    
-    addr.sa_family = addr.sa_len;
-    addr.sa_len = sizeof(struct sockaddr);
-
-    error = soconnect(so, &sabuf);
-
-    if (error)
-       goto bad;
-
-    if ((so->so_state & SS_NBIO) && (so->so_state & SS_ISCONNECTING)) {
-       error = EINPROGRESS;
-       goto done;
-    }
-
-    s = splnet();
-
-    while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) {
-       error = tsleep((caddr_t)&so->so_timeo, PSOCK | PCATCH,
-                      "connect", 0);
-       if (error)
-           break;
-    }
-
-    if (error == 0) {
-       error = so->so_error;
-       so->so_error = 0;
-    }
-
-    splx(s);
-
-bad:
-    so->so_state &= ~SS_ISCONNECTING;
-
-    if (error == ERESTART)
-       error = EINTR;
-
-done:
-    OS_DbgPrint(OSK_MID_TRACE,("Ending: %08x\n", error));
-    return (error);    
-}
-
-DWORD OskitTCPClose( VOID *socket ) {
-}
-
-DWORD OskitTCPSend( VOID *socket, OSK_PCHAR Data, OSK_UINT Len, int flags ) {
-    OskitDumpBuffer( Data, Len );
-    struct mbuf mb;
-    mb.m_data = Data;
-    mb.m_len  = Len;
-    return sosend( socket, NULL, NULL, (struct mbuf *)&mb, NULL, 0 );
-}
-
-void OskitTCPReceive( VOID *socket, PVOID AddrOut, 
-                     OSK_PCHAR Data, OSK_UINT Len, OSK_UINT *OutLen ) {
-}
-
-VOID *OskitTCPAccept( VOID *socket, PVOID AddrOut ) {
-}
-
-void OskitTCPReceiveDatagram( OSK_PCHAR Data, OSK_UINT Len, 
-                             OSK_UINT IpHeaderLen ) {
-    struct mbuf *Ip = m_get(M_DONTWAIT, MT_DATA);
-    char *NewData = malloc( Len );
-
-    OS_DbgPrint(OSK_MAX_TRACE, ("OskitTCPReceiveDatagram: %d Bytes\n", Len));
-
-    OskitDumpBuffer( Data, Len );
-
-    memset( Ip, 0, sizeof( *Ip ) );
-    Ip->m_len = Len;
-    Ip->m_data = NewData;
-    memcpy( Ip->m_data, Data, Len );
-
-    tcp_input(Ip, IpHeaderLen);
-
-    /* The buffer Ip is freed by tcp_input */
-}
-
-void OskitTCPBind( VOID *socket, PVOID name ) {
-}
-
-void OskitTCPListen( VOID *socket, int backlog ) {
-}
-
-void OskitTCPSetAddress( VOID *socket, 
-                        ULONG LocalAddress,
-                        USHORT LocalPort,
-                        ULONG RemoteAddress,
-                        USHORT RemotePort ) {
-    struct socket *so = socket;
-    struct inpcb *inp = so->so_pcb;
-    inp->inp_laddr.s_addr = LocalAddress;
-    inp->inp_lport = LocalPort;
-    inp->inp_faddr.s_addr = RemoteAddress;
-    inp->inp_fport = RemotePort;
-    DbgPrint("OSKIT: SET ADDR %x:%x -> %x:%x\n", 
-            LocalAddress, LocalPort,
-            RemoteAddress, RemotePort);
-}
-
-void OskitTCPGetAddress( VOID *socket, 
-                        PULONG LocalAddress,
-                        PUSHORT LocalPort,
-                        PULONG RemoteAddress,
-                        PUSHORT RemotePort ) {
-    struct socket *so = socket;
-    struct inpcb *inp = so ? so->so_pcb : 0;
-    if( inp ) {
-       *LocalAddress = inp->inp_laddr.s_addr;
-       *LocalPort = inp->inp_lport;
-       *RemoteAddress = inp->inp_faddr.s_addr;
-       *RemotePort = inp->inp_fport;
-       DbgPrint("OSKIT: GET ADDR %x:%x -> %x:%x\n", 
-                *LocalAddress, *LocalPort,
-                *RemoteAddress, *RemotePort);
-    }
-}
-
-void oskittcp_die( const char *file, int line ) {
-    DbgPrint("\n\n*** OSKITTCP: Panic Called at %s:%d ***\n", file, line);
-    KeBugCheck(0);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/ip_input.c b/reactos/lib/oskittcp/oskittcp/ip_input.c
deleted file mode 100644 (file)
index d816fe6..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ip_input.c  8.2 (Berkeley) 1/4/94
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/domain.h>
-#include <sys/protosw.h>
-#include <sys/socket.h>
-#include <sys/errno.h>
-#include <sys/time.h>
-#include <sys/kernel.h>
-#include <sys/syslog.h>
-
-#include <vm/vm.h>
-#include <sys/sysctl.h>
-
-#include <net/if.h>
-#include <net/route.h>
-#include <net/netisr.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/in_var.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/in_var.h>
-#include <netinet/ip_var.h>
-#include <netinet/ip_icmp.h>
-
-#include <netinet/ip_fw.h>
-
-#include <sys/socketvar.h>
-
-u_char inetctlerrmap[PRC_NCMDS] = {
-       0,              0,              0,              0,
-       0,              EMSGSIZE,       EHOSTDOWN,      EHOSTUNREACH,
-       EHOSTUNREACH,   EHOSTUNREACH,   ECONNREFUSED,   ECONNREFUSED,
-       EMSGSIZE,       EHOSTUNREACH,   0,              0,
-       0,              0,              0,              0,
-       ENOPROTOOPT
-};
-
-struct in_ifaddr *in_ifaddr;                   /* first inet address */
-int    ip_defttl = IPDEFTTL;
-struct ipstat ipstat;
-
-/*
- * We need to save the IP options in case a protocol wants to respond
- * to an incoming packet over the same route if the packet got here
- * using IP source routing.  This allows connection establishment and
- * maintenance when the remote end is on a network that is not known
- * to us.
- */
-int    ip_nhops = 0;
-static struct ip_srcrt {
-       struct  in_addr dst;                    /* final destination */
-       char    nop;                            /* one NOP to align */
-       char    srcopt[IPOPT_OFFSET + 1];       /* OPTVAL, OLEN and OFFSET */
-       struct  in_addr route[MAX_IPOPTLEN/sizeof(struct in_addr)];
-} ip_srcrt;
-
-/*
- * Strip out IP options, at higher
- * level protocol in the kernel.
- * Second argument is buffer to which options
- * will be moved, and return value is their length.
- * XXX should be deleted; last arg currently ignored.
- */
-void
-ip_stripoptions(m, mopt)
-       register struct mbuf *m;
-       struct mbuf *mopt;
-{
-       register int i;
-       struct ip *ip = mtod(m, struct ip *);
-       register caddr_t opts;
-       int olen;
-
-       olen = (ip->ip_hl<<2) - sizeof (struct ip);
-       opts = (caddr_t)(ip + 1);
-       i = m->m_len - (sizeof (struct ip) + olen);
-       bcopy(opts + olen, opts, (unsigned)i);
-       m->m_len -= olen;
-       if (m->m_flags & M_PKTHDR)
-               m->m_pkthdr.len -= olen;
-       ip->ip_hl = sizeof(struct ip) >> 2;
-}
-
-/*
- * Retrieve incoming source route for use in replies,
- * in the same form used by setsockopt.
- * The first hop is placed before the options, will be removed later.
- */
-struct mbuf *
-ip_srcroute()
-{
-       register struct in_addr *p, *q;
-       register struct mbuf *m;
-
-       if (ip_nhops == 0)
-               return ((struct mbuf *)0);
-       m = m_get(M_DONTWAIT, MT_SOOPTS);
-       if (m == 0)
-               return ((struct mbuf *)0);
-
-#define OPTSIZ (sizeof(ip_srcrt.nop) + sizeof(ip_srcrt.srcopt))
-
-       /* length is (nhops+1)*sizeof(addr) + sizeof(nop + srcrt header) */
-       m->m_len = ip_nhops * sizeof(struct in_addr) + sizeof(struct in_addr) +
-           OPTSIZ;
-#ifdef DIAGNOSTIC
-       if (ipprintfs)
-               printf("ip_srcroute: nhops %d mlen %d", ip_nhops, m->m_len);
-#endif
-
-       /*
-        * First save first hop for return route
-        */
-       p = &ip_srcrt.route[ip_nhops - 1];
-       *(mtod(m, struct in_addr *)) = *p--;
-#ifdef DIAGNOSTIC
-       if (ipprintfs)
-               printf(" hops %lx", ntohl(mtod(m, struct in_addr *)->s_addr));
-#endif
-
-       /*
-        * Copy option fields and padding (nop) to mbuf.
-        */
-       ip_srcrt.nop = IPOPT_NOP;
-       ip_srcrt.srcopt[IPOPT_OFFSET] = IPOPT_MINOFF;
-       (void)memcpy(mtod(m, caddr_t) + sizeof(struct in_addr),
-           &ip_srcrt.nop, OPTSIZ);
-       q = (struct in_addr *)(mtod(m, caddr_t) +
-           sizeof(struct in_addr) + OPTSIZ);
-#undef OPTSIZ
-       /*
-        * Record return path as an IP source route,
-        * reversing the path (pointers are now aligned).
-        */
-       while (p >= ip_srcrt.route) {
-#ifdef DIAGNOSTIC
-               if (ipprintfs)
-                       printf(" %lx", ntohl(q->s_addr));
-#endif
-               *q++ = *p--;
-       }
-       /*
-        * Last hop goes to final destination.
-        */
-       *q = ip_srcrt.dst;
-#ifdef DIAGNOSTIC
-       if (ipprintfs)
-               printf(" %lx\n", ntohl(q->s_addr));
-#endif
-       return (m);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/ip_output.c b/reactos/lib/oskittcp/oskittcp/ip_output.c
deleted file mode 100644 (file)
index 4a00269..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)ip_output.c 8.3 (Berkeley) 1/21/94
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/errno.h>
-#include <sys/protosw.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/queue.h>
-
-#include <net/if.h>
-#include <net/route.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/in_var.h>
-#include <netinet/ip_var.h>
-
-#include <netinet/ip_fw.h>
-
-#ifdef vax
-#include <machine/mtpr.h>
-#endif
-#include <oskittcp.h>
-
-u_short ip_id;
-
-/*
- * Discard the IP multicast options.
- */
-void
-ip_freemoptions(imo)
-       register struct ip_moptions *imo;
-{
-       register int i;
-
-       if (imo != NULL) {
-               for (i = 0; i < imo->imo_num_memberships; ++i)
-                       in_delmulti(imo->imo_membership[i]);
-               free(imo, M_IPMOPTS);
-       }
-}
-
-/*
- * IP output.  The packet in mbuf chain m contains a skeletal IP
- * header (with len, off, ttl, proto, tos, src, dst).
- * The mbuf chain containing the packet will be freed.
- * The mbuf opt, if present, will not be freed.
- */
-int
-ip_output(so, m0, opt, ro, flags, imo)
-    struct socket *so;
-    struct mbuf *m0;
-    struct mbuf *opt;
-    struct route *ro;
-    int flags;
-    struct ip_moptions *imo;
-{
-    register struct mbuf *m = m0;
-    int error = ENETDOWN;
-    /*
-     * It might seem obvious at first glance that one could easily
-     * make a one-behind cache out of this by simply making `iproute'
-     * static and eliminating the bzero() below.  However, this turns
-     * out not to work, for two reasons:
-     *
-     * 1) This routine needs to be reentrant.  It can be called
-     * recursively from encapsulating network interfaces, and it
-     * is always called recursively from ip_mforward().
-     *
-     * 2) You turn out not to gain much.  There is already a one-
-     * behind cache implemented for the specific case of forwarding,
-     * and sends on a connected socket will use a route associated
-     * with the PCB.  The only cases left are sends on unconnected
-     * and raw sockets, and if these cases are really significant,
-     * something is seriously wrong.
-     */
-    ipstat.ips_localout++;
-
-    /*
-     * If this is the case, we probably don't want to allocate
-     * a protocol-cloned route since we didn't get one from the
-     * ULP.  This lets TCP do its thing, while not burdening
-     * forwarding or ICMP with the overhead of cloning a route.
-     * Of course, we still want to do any cloning requested by
-     * the link layer, as this is probably required in all cases
-     * for correct operation (as it is for ARP).
-     */
-    
-    if( OtcpEvent.PacketSend ) {
-       error = OtcpEvent.PacketSend
-           ( OtcpEvent.ClientData,
-             so,
-             so ? so->so_connection : 0,
-             m->m_data + IPHDR_SIZE, m->m_len - IPHDR_SIZE );
-    }
-
-    return (error);
-}
-
-/*
- * Copy options from ip to jp,
- * omitting those not copied during fragmentation.
- */
-int
-ip_optcopy(ip, jp)
-       struct ip *ip, *jp;
-{
-       register u_char *cp, *dp;
-       int opt, optlen, cnt;
-
-       cp = (u_char *)(ip + 1);
-       dp = (u_char *)(jp + 1);
-       cnt = (ip->ip_hl << 2) - sizeof (struct ip);
-       for (; cnt > 0; cnt -= optlen, cp += optlen) {
-               opt = cp[0];
-               if (opt == IPOPT_EOL)
-                       break;
-               if (opt == IPOPT_NOP) {
-                       /* Preserve for IP mcast tunnel's LSRR alignment. */
-                       *dp++ = IPOPT_NOP;
-                       optlen = 1;
-                       continue;
-               } else
-                       optlen = cp[IPOPT_OLEN];
-               /* bogus lengths should have been caught by ip_dooptions */
-               if (optlen > cnt)
-                       optlen = cnt;
-               if (IPOPT_COPIED(opt)) {
-                       (void)memcpy(dp, cp, (unsigned)optlen);
-                       dp += optlen;
-               }
-       }
-       for (optlen = dp - (u_char *)(jp+1); optlen & 0x3; optlen++)
-               *dp++ = IPOPT_EOL;
-       return (optlen);
-}
-
-/*
- * IP socket option processing.
- */
-int
-ip_ctloutput(op, so, level, optname, mp)
-       int op;
-       struct socket *so;
-       int level, optname;
-       struct mbuf **mp;
-{
-       register struct inpcb *inp = sotoinpcb(so);
-       register struct mbuf *m = *mp;
-       register int optval = 0;
-       int error = 0;
-
-       if (level != IPPROTO_IP) {
-               error = EINVAL;
-               if (op == PRCO_SETOPT && *mp)
-                       (void) m_free(*mp);
-       } else switch (op) {
-
-       case PRCO_SETOPT:
-               switch (optname) {
-               case IP_TOS:
-               case IP_TTL:
-               case IP_RECVOPTS:
-               case IP_RECVRETOPTS:
-               case IP_RECVDSTADDR:
-                       if (m == 0 || m->m_len != sizeof(int))
-                               error = EINVAL;
-                       else {
-                               optval = *mtod(m, int *);
-                               switch (optname) {
-
-                               case IP_TOS:
-                                       inp->inp_ip.ip_tos = optval;
-                                       break;
-
-                               case IP_TTL:
-                                       inp->inp_ip.ip_ttl = optval;
-                                       break;
-#define        OPTSET(bit) \
-       if (optval) \
-               inp->inp_flags |= bit; \
-       else \
-               inp->inp_flags &= ~bit;
-
-                               case IP_RECVOPTS:
-                                       OPTSET(INP_RECVOPTS);
-                                       break;
-
-                               case IP_RECVRETOPTS:
-                                       OPTSET(INP_RECVRETOPTS);
-                                       break;
-
-                               case IP_RECVDSTADDR:
-                                       OPTSET(INP_RECVDSTADDR);
-                                       break;
-                               }
-                       }
-                       break;
-#undef OPTSET
-               default:
-                       error = ENOPROTOOPT;
-                       break;
-               }
-               if (m)
-                       (void)m_free(m);
-               break;
-
-       case PRCO_GETOPT:
-               switch (optname) {
-               case IP_OPTIONS:
-               case IP_RETOPTS:
-                       *mp = m = m_get(M_WAIT, MT_SOOPTS);
-                       if (inp->inp_options) {
-                               m->m_len = inp->inp_options->m_len;
-                               (void)memcpy(mtod(m, void *),
-                                   mtod(inp->inp_options, void *), (unsigned)m->m_len);
-                       } else
-                               m->m_len = 0;
-                       break;
-
-               case IP_TOS:
-               case IP_TTL:
-               case IP_RECVOPTS:
-               case IP_RECVRETOPTS:
-               case IP_RECVDSTADDR:
-                       *mp = m = m_get(M_WAIT, MT_SOOPTS);
-                       m->m_len = sizeof(int);
-                       switch (optname) {
-
-                       case IP_TOS:
-                               optval = inp->inp_ip.ip_tos;
-                               break;
-
-                       case IP_TTL:
-                               optval = inp->inp_ip.ip_ttl;
-                               break;
-
-#define        OPTBIT(bit)     (inp->inp_flags & bit ? 1 : 0)
-
-                       case IP_RECVOPTS:
-                               optval = OPTBIT(INP_RECVOPTS);
-                               break;
-
-                       case IP_RECVRETOPTS:
-                               optval = OPTBIT(INP_RECVRETOPTS);
-                               break;
-
-                       case IP_RECVDSTADDR:
-                               optval = OPTBIT(INP_RECVDSTADDR);
-                               break;
-                       }
-                       *mtod(m, int *) = optval;
-                       break;
-
-               default:
-                       error = ENOPROTOOPT;
-                       break;
-               }
-               break;
-       }
-       return (error);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/kern_clock.c b/reactos/lib/oskittcp/oskittcp/kern_clock.c
deleted file mode 100644 (file)
index c53581f..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * Copyright (c) 1997-1998 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-/*
- * I am having no mercy with this file.
- * I ripped out everything I didn't need
- */
-/*-
- * Copyright (c) 1982, 1986, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)kern_clock.c        8.5 (Berkeley) 1/21/94
- * $\Id: kern_clock.c,v 1.26 1996/07/30 16:59:22 bde Exp $
- */
-
-/* Portions of this software are covered by the following: */
-/******************************************************************************
- *                                                                            *
- * Copyright (c) David L. Mills 1993, 1994                                    *
- *                                                                            *
- * Permission to use, copy, modify, and distribute this software and its      *
- * documentation for any purpose and without fee is hereby granted, provided  *
- * that the above copyright notice appears in all copies and that both the    *
- * copyright notice and this permission notice appear in supporting           *
- * documentation, and that the name University of Delaware not be used in     *
- * advertising or publicity pertaining to distribution of the software        *
- * without specific, written prior permission.  The University of Delaware    *
- * makes no representations about the suitability this software for any       *
- * purpose.  It is provided "as is" without express or implied warranty.      *
- *                                                                            *
- *****************************************************************************/
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/callout.h>
-#include <sys/kernel.h>
-#include <sys/proc.h>
-
-/* Exported to machdep.c. */
-struct callout *callfree, *callout;
-
-static struct callout calltodo;
-
-long tk_cancc;
-long tk_nin;
-long tk_nout;
-long tk_rawcc;
-
-/*
- * Clock handling routines.
- *
- * This code is written to operate with two timers that run independently of
- * each other.  The main clock, running hz times per second, is used to keep
- * track of real time.  The second timer handles kernel and user profiling,
- * and does resource use estimation.  If the second timer is programmable,
- * it is randomized to avoid aliasing between the two clocks.  For example,
- * the randomization prevents an adversary from always giving up the cpu
- * just before its quantum expires.  Otherwise, it would never accumulate
- * cpu ticks.  The mean frequency of the second timer is stathz.
- *
- * If no second timer exists, stathz will be zero; in this case we drive
- * profiling and statistics off the main clock.  This WILL NOT be accurate;
- * do not do it unless absolutely necessary.
- *
- * The statistics clock may (or may not) be run at a higher rate while
- * profiling.  This profile clock runs at profhz.  We require that profhz
- * be an integral multiple of stathz.
- *
- * If the statistics clock is running fast, it must be divided by the ratio
- * profhz/stathz for statistics.  (For profiling, every tick counts.)
- */
-
-/*
- * TODO:
- *     allocate more timeout table slots when table overflows.
- */
-
-/*
- * Bump a timeval by a small number of usec's.
- */
-#define BUMPTIME(t, usec) { \
-       register volatile struct timeval *tp = (t); \
-       register long us; \
- \
-       tp->tv_usec = us = tp->tv_usec + (usec); \
-       if (us >= 1000000) { \
-               tp->tv_usec = us - 1000000; \
-               tp->tv_sec++; \
-       } \
-}
-
-int    ticks;
-volatile struct        timeval time;
-volatile struct        timeval mono_time;
-
-/*
- * The real-time timer, interrupting hz times per second.
- */
-void bsd_hardclock(void)
-{
-       register struct callout *p1;
-       register int needsoft;
-       unsigned cpl;
-       int s;
-
-       save_cpl(&cpl);
-       splhigh();
-
-       /*
-        * Update real-time timeout queue.
-        * At front of queue are some number of events which are ``due''.
-        * The time to these is <= 0 and if negative represents the
-        * number of ticks which have passed since it was supposed to happen.
-        * The rest of the q elements (times > 0) are events yet to happen,
-        * where the time for each is given as a delta from the previous.
-        * Decrementing just the first of these serves to decrement the time
-        * to all events.
-        */
-       needsoft = 0;
-       for (p1 = calltodo.c_next; p1 != NULL; p1 = p1->c_next) {
-               if (--p1->c_time > 0)
-                       break;
-               needsoft = 1;
-               if (p1->c_time == 0)
-                       break;
-       }
-
-       /*
-        * Increment the time-of-day.
-        */
-       ticks++;
-       BUMPTIME(&mono_time, tick);
-       BUMPTIME(&time, tick);
-
-       /*
-        * At this point, we might need a soft interrupt. We say, what the
-        * heck, let's do the work now. Reduce priority level to softclock
-        * first, though. The alternative (postponing it) would be called
-        * 'setsoftclock'
-        */
-       if (needsoft) {
-               (void)splsoftclock();
-               softclock();
-       }
-
-       restore_cpl(cpl);
-}
-
-/*
- * Software (low priority) clock interrupt.
- * Run periodic events from timeout queue.
- */
-/*ARGSUSED*/
-void
-softclock()
-{
-       register struct callout *c;
-       register void *arg;
-       register void (*func) __P((void *));
-       register int s;
-
-       s = splhigh();
-       while ((c = calltodo.c_next) != NULL && c->c_time <= 0) {
-               func = c->c_func;
-               arg = c->c_arg;
-               calltodo.c_next = c->c_next;
-               c->c_next = callfree;
-               callfree = c;
-               splx(s);
-               (*func)(arg);
-               (void) splhigh();
-       }
-       splx(s);
-}
-
-/*
- * timeout --
- *     Execute a function after a specified length of time.
- *
- * untimeout --
- *     Cancel previous timeout function call.
- *
- *     See AT&T BCI Driver Reference Manual for specification.  This
- *     implementation differs from that one in that no identification
- *     value is returned from timeout, rather, the original arguments
- *     to timeout are used to identify entries for untimeout.
- */
-void
-timeout(ftn, arg, ticks)
-       timeout_t ftn;
-       void *arg;
-       register int ticks;
-{
-       register struct callout *new, *p, *t;
-       register int s;
-
-       if (ticks <= 0)
-               ticks = 1;
-
-       /* Lock out the clock. */
-       s = splhigh();
-
-       /* Fill in the next free callout structure. */
-       if (callfree == NULL)
-               panic("timeout table full");
-       new = callfree;
-       callfree = new->c_next;
-       new->c_arg = arg;
-       new->c_func = ftn;
-
-       /*
-        * The time for each event is stored as a difference from the time
-        * of the previous event on the queue.  Walk the queue, correcting
-        * the ticks argument for queue entries passed.  Correct the ticks
-        * value for the queue entry immediately after the insertion point
-        * as well.  Watch out for negative c_time values; these represent
-        * overdue events.
-        */
-       for (p = &calltodo;
-           (t = p->c_next) != NULL && ticks > t->c_time; p = t)
-               if (t->c_time > 0)
-                       ticks -= t->c_time;
-       new->c_time = ticks;
-       if (t != NULL)
-               t->c_time -= ticks;
-
-       /* Insert the new entry into the queue. */
-       p->c_next = new;
-       new->c_next = t;
-       splx(s);
-}
-
-void
-untimeout(ftn, arg)
-       timeout_t ftn;
-       void *arg;
-{
-       register struct callout *p, *t;
-       register int s;
-
-       s = splhigh();
-       for (p = &calltodo; (t = p->c_next) != NULL; p = t)
-               if (t->c_func == ftn && t->c_arg == arg) {
-                       /* Increment next entry's tick count. */
-                       if (t->c_next && t->c_time > 0)
-                               t->c_next->c_time += t->c_time;
-
-                       /* Move entry from callout queue to callfree queue. */
-                       p->c_next = t->c_next;
-                       t->c_next = callfree;
-                       callfree = t;
-                       break;
-               }
-       splx(s);
-}
-
-/*
- * Compute number of hz until specified time.  Used to
- * compute third argument to timeout() from an absolute time.
- */
-int
-hzto(tv)
-       struct timeval *tv;
-{
-       register unsigned long ticks;
-       register long sec, usec;
-       int s;
-
-       /*
-        * If the number of usecs in the whole seconds part of the time
-        * difference fits in a long, then the total number of usecs will
-        * fit in an unsigned long.  Compute the total and convert it to
-        * ticks, rounding up and adding 1 to allow for the current tick
-        * to expire.  Rounding also depends on unsigned long arithmetic
-        * to avoid overflow.
-        *
-        * Otherwise, if the number of ticks in the whole seconds part of
-        * the time difference fits in a long, then convert the parts to
-        * ticks separately and add, using similar rounding methods and
-        * overflow avoidance.  This method would work in the previous
-        * case but it is slightly slower and assumes that hz is integral.
-        *
-        * Otherwise, round the time difference down to the maximum
-        * representable value.
-        *
-        * If ints have 32 bits, then the maximum value for any timeout in
-        * 10ms ticks is 248 days.
-        */
-       s = splclock();
-       sec = tv->tv_sec - time.tv_sec;
-       usec = tv->tv_usec - time.tv_usec;
-       splx(s);
-       if (usec < 0) {
-               sec--;
-               usec += 1000000;
-       }
-       if (sec < 0) {
-#ifdef DIAGNOSTIC
-               printf("hzto: negative time difference %ld sec %ld usec\n",
-                      sec, usec);
-#endif
-               ticks = 1;
-       } else if (sec <= LONG_MAX / 1000000)
-               ticks = (sec * 1000000 + (unsigned long)usec + (tick - 1))
-                       / tick + 1;
-       else if (sec <= LONG_MAX / hz)
-               ticks = sec * hz
-                       + ((unsigned long)usec + (tick - 1)) / tick + 1;
-       else
-               ticks = LONG_MAX;
-       if (ticks > INT_MAX)
-               ticks = INT_MAX;
-       return (ticks);
-}
-
diff --git a/reactos/lib/oskittcp/oskittcp/kern_subr.c b/reactos/lib/oskittcp/oskittcp/kern_subr.c
deleted file mode 100644 (file)
index a7daef4..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)kern_subr.c 8.3 (Berkeley) 1/21/94
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <sys/malloc.h>
-#include <sys/queue.h>
-#include <oskittcp.h>
-
-int
-uiomove(cp, n, uio)
-       register caddr_t cp;
-       register int n;
-       register struct uio *uio;
-{
-       register struct iovec *iov;
-       u_int cnt;
-       int error;
-
-#ifdef DIAGNOSTIC
-       if (uio->uio_rw != UIO_READ && uio->uio_rw != UIO_WRITE)
-               panic("uiomove: mode");
-       if (uio->uio_segflg == UIO_USERSPACE && uio->uio_procp != curproc)
-               panic("uiomove proc");
-#endif
-       while (n > 0 && uio->uio_resid) {
-               iov = uio->uio_iov;
-               cnt = iov->iov_len;
-               if (cnt == 0) {
-                       uio->uio_iov++;
-                       uio->uio_iovcnt--;
-                       continue;
-               }
-               if (cnt > n)
-                       cnt = n;
-
-               switch (uio->uio_segflg) {
-
-               case UIO_USERSPACE:
-               case UIO_USERISPACE:
-                       if (uio->uio_rw == UIO_READ)
-                               error = copyout(cp, iov->iov_base, cnt);
-                       else
-                               error = copyin(iov->iov_base, cp, cnt);
-                       if (error)
-                               return (error);
-                       break;
-
-               case UIO_SYSSPACE:
-                       if (uio->uio_rw == UIO_READ)
-                               bcopy((caddr_t)cp, iov->iov_base, cnt);
-                       else
-                               bcopy(iov->iov_base, (caddr_t)cp, cnt);
-                       break;
-               case UIO_NOCOPY:
-                       break;
-               }
-               iov->iov_base += cnt;
-               iov->iov_len -= cnt;
-               uio->uio_resid -= cnt;
-               uio->uio_offset += cnt;
-               cp += cnt;
-               n -= cnt;
-       }
-       return (0);
-}
-
-/*
- * Give next character to user as result of read.
- */
-int
-ureadc(c, uio)
-       register int c;
-       register struct uio *uio;
-{
-       register struct iovec *iov;
-
-again:
-       if (uio->uio_iovcnt == 0 || uio->uio_resid == 0)
-               panic("ureadc");
-       iov = uio->uio_iov;
-       if (iov->iov_len == 0) {
-               uio->uio_iovcnt--;
-               uio->uio_iov++;
-               goto again;
-       }
-       switch (uio->uio_segflg) {
-
-       case UIO_USERSPACE:
-               if (subyte(iov->iov_base, c) < 0)
-                       return (EFAULT);
-               break;
-
-       case UIO_SYSSPACE:
-               *iov->iov_base = c;
-               break;
-
-       case UIO_USERISPACE:
-               if (suibyte(iov->iov_base, c) < 0)
-                       return (EFAULT);
-               break;
-       case UIO_NOCOPY:
-               break;
-       }
-       iov->iov_base++;
-       iov->iov_len--;
-       uio->uio_resid--;
-       uio->uio_offset++;
-       return (0);
-}
-
-#ifdef vax     /* unused except by ct.c, other oddities XXX */
-/*
- * Get next character written in by user from uio.
- */
-int
-uwritec(uio)
-       struct uio *uio;
-{
-       register struct iovec *iov;
-       register int c;
-
-       if (uio->uio_resid <= 0)
-               return (-1);
-again:
-       if (uio->uio_iovcnt <= 0)
-               panic("uwritec");
-       iov = uio->uio_iov;
-       if (iov->iov_len == 0) {
-               uio->uio_iov++;
-               if (--uio->uio_iovcnt == 0)
-                       return (-1);
-               goto again;
-       }
-       switch (uio->uio_segflg) {
-
-       case UIO_USERSPACE:
-               c = fubyte(iov->iov_base);
-               break;
-
-       case UIO_SYSSPACE:
-               c = *(u_char *) iov->iov_base;
-               break;
-
-       case UIO_USERISPACE:
-               c = fuibyte(iov->iov_base);
-               break;
-       }
-       if (c < 0)
-               return (-1);
-       iov->iov_base++;
-       iov->iov_len--;
-       uio->uio_resid--;
-       uio->uio_offset++;
-       return (c);
-}
-#endif /* vax */
-
-/*
- * General routine to allocate a hash table.
- */
-void *
-hashinit(elements, type, hashmask)
-       int elements, type;
-       u_long *hashmask;
-{
-       long hashsize;
-       LIST_HEAD(generic, generic) *hashtbl;
-       int i;
-
-       if (elements <= 0)
-               panic("hashinit: bad elements");
-       for (hashsize = 1; hashsize <= elements; hashsize <<= 1)
-               continue;
-       hashsize >>= 1;
-       hashtbl = malloc((u_long)hashsize * sizeof(*hashtbl), type, M_WAITOK);
-       for (i = 0; i < hashsize; i++)
-               LIST_INIT(&hashtbl[i]);
-       *hashmask = hashsize - 1;
-       return (hashtbl);
-}
-
-#define NPRIMES 27
-static int primes[] = { 1, 13, 31, 61, 127, 251, 509, 761, 1021, 1531, 2039,
-                       2557, 3067, 3583, 4093, 4603, 5119, 5623, 6143, 6653,
-                       7159, 7673, 8191, 12281, 16381, 24571, 32749 };
-
-/*
- * General routine to allocate a prime number sized hash table.
- */
-void *
-phashinit(elements, type, nentries)
-       int elements, type;
-       u_long *nentries;
-{
-       long hashsize;
-       LIST_HEAD(generic, generic) *hashtbl;
-       int i;
-
-       if (elements <= 0)
-               panic("phashinit: bad elements");
-       for (i = 1, hashsize = primes[1]; hashsize <= elements;) {
-               i++;
-               if (i == NPRIMES)
-                       break;
-               hashsize = primes[i];
-       }
-       hashsize = primes[i - 1];
-       hashtbl = malloc((u_long)hashsize * sizeof(*hashtbl), type, M_WAITOK);
-       for (i = 0; i < hashsize; i++)
-               LIST_INIT(&hashtbl[i]);
-       *nentries = hashsize;
-       return (hashtbl);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/malloc.c b/reactos/lib/oskittcp/oskittcp/malloc.c
deleted file mode 100644 (file)
index 2d3fb43..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <oskittcp.h>
-#include <oskitdebug.h>
-#include <ntddk.h>
-#include <memtrack.h>
-
-void *fbsd_malloc( size_t size, char *file, int line, ... ) {
-    void *v;
-    v = ExAllocatePool( NonPagedPool, size );
-    if( v ) TrackWithTag(FBSD_MALLOC,v,file,line);
-    return v;
-}
-
-void fbsd_free( void *data, char *file, int line, ... ) {
-    UntrackFL(file,line,data);
-    ExFreePool( data );
-}
diff --git a/reactos/lib/oskittcp/oskittcp/param.c b/reactos/lib/oskittcp/oskittcp/param.c
deleted file mode 100644 (file)
index 871441f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 1997-1998 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-
-#define HZ             100
-#define MAXUSERS       64
-
-int    hz = HZ;
-int    tick = 1000000 / HZ; 
-int    nmbclusters = 512 + MAXUSERS * 16;
-
diff --git a/reactos/lib/oskittcp/oskittcp/radix.c b/reactos/lib/oskittcp/oskittcp/radix.c
deleted file mode 100644 (file)
index a23552c..0000000
+++ /dev/null
@@ -1,1006 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)radix.c     8.4 (Berkeley) 11/2/94
- */
-
-/*
- * Routines to build and maintain radix trees for routing lookups.
- */
-#ifndef _RADIX_H_
-#include <sys/param.h>
-#ifdef KERNEL
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#define        M_DONTWAIT M_NOWAIT
-#include <sys/domain.h>
-#else
-#include <stdlib.h>
-#endif
-#include <sys/syslog.h>
-#include <net/radix.h>
-#endif
-#include <oskittcp.h>
-
-int    max_keylen;
-struct radix_mask *rn_mkfreelist;
-struct radix_node_head *mask_rnhead;
-static char *addmask_key;
-static char normal_chars[] = {0, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, -1};
-static char *rn_zeros, *rn_ones;
-
-#define rn_masktop (mask_rnhead->rnh_treetop)
-#undef Bcmp
-#define Bcmp(a, b, l) (l == 0 ? 0 : bcmp((caddr_t)(a), (caddr_t)(b), (u_long)l))
-/*
- * The data structure for the keys is a radix tree with one way
- * branching removed.  The index rn_b at an internal node n represents a bit
- * position to be tested.  The tree is arranged so that all descendants
- * of a node n have keys whose bits all agree up to position rn_b - 1.
- * (We say the index of n is rn_b.)
- *
- * There is at least one descendant which has a one bit at position rn_b,
- * and at least one with a zero there.
- *
- * A route is determined by a pair of key and mask.  We require that the
- * bit-wise logical and of the key and mask to be the key.
- * We define the index of a route to associated with the mask to be
- * the first bit number in the mask where 0 occurs (with bit number 0
- * representing the highest order bit).
- *
- * We say a mask is normal if every bit is 0, past the index of the mask.
- * If a node n has a descendant (k, m) with index(m) == index(n) == rn_b,
- * and m is a normal mask, then the route applies to every descendant of n.
- * If the index(m) < rn_b, this implies the trailing last few bits of k
- * before bit b are all 0, (and hence consequently true of every descendant
- * of n), so the route applies to all descendants of the node as well.
- *
- * Similar logic shows that a non-normal mask m such that
- * index(m) <= index(n) could potentially apply to many children of n.
- * Thus, for each non-host route, we attach its mask to a list at an internal
- * node as high in the tree as we can go.
- *
- * The present version of the code makes use of normal routes in short-
- * circuiting an explict mask and compare operation when testing whether
- * a key satisfies a normal route, and also in remembering the unique leaf
- * that governs a subtree.
- */
-
-struct radix_node *
-rn_search(v_arg, head)
-       void *v_arg;
-       struct radix_node *head;
-{
-       register struct radix_node *x;
-       register caddr_t v;
-
-       for (x = head, v = v_arg; x->rn_b >= 0;) {
-               if (x->rn_bmask & v[x->rn_off])
-                       x = x->rn_r;
-               else
-                       x = x->rn_l;
-       }
-       return (x);
-};
-
-struct radix_node *
-rn_search_m(v_arg, head, m_arg)
-       struct radix_node *head;
-       void *v_arg, *m_arg;
-{
-       register struct radix_node *x;
-       register caddr_t v = v_arg, m = m_arg;
-
-       for (x = head; x->rn_b >= 0;) {
-               if ((x->rn_bmask & m[x->rn_off]) &&
-                   (x->rn_bmask & v[x->rn_off]))
-                       x = x->rn_r;
-               else
-                       x = x->rn_l;
-       }
-       return x;
-};
-
-int
-rn_refines(m_arg, n_arg)
-       void *m_arg, *n_arg;
-{
-       register caddr_t m = m_arg, n = n_arg;
-       register caddr_t lim, lim2 = lim = n + *(u_char *)n;
-       int longer = (*(u_char *)n++) - (int)(*(u_char *)m++);
-       int masks_are_equal = 1;
-
-       if (longer > 0)
-               lim -= longer;
-       while (n < lim) {
-               if (*n & ~(*m))
-                       return 0;
-               if (*n++ != *m++)
-                       masks_are_equal = 0;
-       }
-       while (n < lim2)
-               if (*n++)
-                       return 0;
-       if (masks_are_equal && (longer < 0))
-               for (lim2 = m - longer; m < lim2; )
-                       if (*m++)
-                               return 1;
-       return (!masks_are_equal);
-}
-
-struct radix_node *
-rn_lookup(v_arg, m_arg, head)
-       void *v_arg, *m_arg;
-       struct radix_node_head *head;
-{
-       register struct radix_node *x;
-       caddr_t netmask = 0;
-
-       if (m_arg) {
-               if ((x = rn_addmask(m_arg, 1, head->rnh_treetop->rn_off)) == 0)
-                       return (0);
-               netmask = x->rn_key;
-       }
-       x = rn_match(v_arg, head);
-       if (x && netmask) {
-               while (x && x->rn_mask != netmask)
-                       x = x->rn_dupedkey;
-       }
-       return x;
-}
-
-static int
-rn_satsifies_leaf(trial, leaf, skip)
-       char *trial;
-       register struct radix_node *leaf;
-       int skip;
-{
-       register char *cp = trial, *cp2 = leaf->rn_key, *cp3 = leaf->rn_mask;
-       char *cplim;
-       int length = min(*(u_char *)cp, *(u_char *)cp2);
-
-       if (cp3 == 0)
-               cp3 = rn_ones;
-       else
-               length = min(length, *(u_char *)cp3);
-       cplim = cp + length; cp3 += skip; cp2 += skip;
-       for (cp += skip; cp < cplim; cp++, cp2++, cp3++)
-               if ((*cp ^ *cp2) & *cp3)
-                       return 0;
-       return 1;
-}
-
-struct radix_node *
-rn_match(v_arg, head)
-       void *v_arg;
-       struct radix_node_head *head;
-{
-       caddr_t v = v_arg;
-       register struct radix_node *t = head->rnh_treetop, *x;
-       register caddr_t cp = v, cp2;
-       caddr_t cplim;
-       struct radix_node *saved_t, *top = t;
-       int off = t->rn_off, vlen = *(u_char *)cp, matched_off;
-       register int test, b, rn_b;
-
-       /*
-        * Open code rn_search(v, top) to avoid overhead of extra
-        * subroutine call.
-        */
-       for (; t->rn_b >= 0; ) {
-               if (t->rn_bmask & cp[t->rn_off])
-                       t = t->rn_r;
-               else
-                       t = t->rn_l;
-       }
-       /*
-        * See if we match exactly as a host destination
-        * or at least learn how many bits match, for normal mask finesse.
-        *
-        * It doesn't hurt us to limit how many bytes to check
-        * to the length of the mask, since if it matches we had a genuine
-        * match and the leaf we have is the most specific one anyway;
-        * if it didn't match with a shorter length it would fail
-        * with a long one.  This wins big for class B&C netmasks which
-        * are probably the most common case...
-        */
-       if (t->rn_mask)
-               vlen = *(u_char *)t->rn_mask;
-       cp += off; cp2 = t->rn_key + off; cplim = v + vlen;
-       for (; cp < cplim; cp++, cp2++)
-               if (*cp != *cp2)
-                       goto on1;
-       /*
-        * This extra grot is in case we are explicitly asked
-        * to look up the default.  Ugh!
-        */
-       if ((t->rn_flags & RNF_ROOT) && t->rn_dupedkey)
-               t = t->rn_dupedkey;
-       return t;
-on1:
-       test = (*cp ^ *cp2) & 0xff; /* find first bit that differs */
-       for (b = 7; (test >>= 1) > 0;)
-               b--;
-       matched_off = cp - v;
-       b += matched_off << 3;
-       rn_b = -1 - b;
-       /*
-        * If there is a host route in a duped-key chain, it will be first.
-        */
-       if ((saved_t = t)->rn_mask == 0)
-               t = t->rn_dupedkey;
-       for (; t; t = t->rn_dupedkey)
-               /*
-                * Even if we don't match exactly as a host,
-                * we may match if the leaf we wound up at is
-                * a route to a net.
-                */
-               if (t->rn_flags & RNF_NORMAL) {
-                       if (rn_b <= t->rn_b)
-                               return t;
-               } else if (rn_satsifies_leaf(v, t, matched_off))
-                               return t;
-       t = saved_t;
-       /* start searching up the tree */
-       do {
-               register struct radix_mask *m;
-               t = t->rn_p;
-               m = t->rn_mklist;
-               if (m) {
-                       /*
-                        * If non-contiguous masks ever become important
-                        * we can restore the masking and open coding of
-                        * the search and satisfaction test and put the
-                        * calculation of "off" back before the "do".
-                        */
-                       do {
-                               if (m->rm_flags & RNF_NORMAL) {
-                                       if (rn_b <= m->rm_b)
-                                               return (m->rm_leaf);
-                               } else {
-                                       off = min(t->rn_off, matched_off);
-                                       x = rn_search_m(v, t, m->rm_mask);
-                                       while (x && x->rn_mask != m->rm_mask)
-                                               x = x->rn_dupedkey;
-                                       if (x && rn_satsifies_leaf(v, x, off))
-                                                   return x;
-                               }
-                               m = m->rm_mklist;
-                       } while (m);
-               }
-       } while (t != top);
-       return 0;
-};
-
-#ifdef RN_DEBUG
-int    rn_nodenum;
-struct radix_node *rn_clist;
-int    rn_saveinfo;
-int    rn_debug =  1;
-#endif
-
-struct radix_node *
-rn_newpair(v, b, nodes)
-       void *v;
-       int b;
-       struct radix_node nodes[2];
-{
-       register struct radix_node *tt = nodes, *t = tt + 1;
-       t->rn_b = b; t->rn_bmask = 0x80 >> (b & 7);
-       t->rn_l = tt; t->rn_off = b >> 3;
-       tt->rn_b = -1; tt->rn_key = (caddr_t)v; tt->rn_p = t;
-       tt->rn_flags = t->rn_flags = RNF_ACTIVE;
-#ifdef RN_DEBUG
-       tt->rn_info = rn_nodenum++; t->rn_info = rn_nodenum++;
-       tt->rn_twin = t; tt->rn_ybro = rn_clist; rn_clist = tt;
-#endif
-       return t;
-}
-
-struct radix_node *
-rn_insert(v_arg, head, dupentry, nodes)
-       void *v_arg;
-       struct radix_node_head *head;
-       int *dupentry;
-       struct radix_node nodes[2];
-{
-       caddr_t v = v_arg;
-       struct radix_node *top = head->rnh_treetop;
-       int head_off = top->rn_off, vlen = (int)*((u_char *)v);
-       register struct radix_node *t = rn_search(v_arg, top);
-       register caddr_t cp = v + head_off;
-       register int b;
-       struct radix_node *tt;
-       /*
-        * Find first bit at which v and t->rn_key differ
-        */
-    {
-       register caddr_t cp2 = t->rn_key + head_off;
-       register int cmp_res;
-       caddr_t cplim = v + vlen;
-
-       while (cp < cplim)
-               if (*cp2++ != *cp++)
-                       goto on1;
-       *dupentry = 1;
-       return t;
-on1:
-       *dupentry = 0;
-       cmp_res = (cp[-1] ^ cp2[-1]) & 0xff;
-       for (b = (cp - v) << 3; cmp_res; b--)
-               cmp_res >>= 1;
-    }
-    {
-       register struct radix_node *p, *x = top;
-       cp = v;
-       do {
-               p = x;
-               if (cp[x->rn_off] & x->rn_bmask)
-                       x = x->rn_r;
-               else x = x->rn_l;
-       } while (b > (unsigned) x->rn_b); /* x->rn_b < b && x->rn_b >= 0 */
-#ifdef RN_DEBUG
-       if (rn_debug)
-               log(LOG_DEBUG, "rn_insert: Going In:\n"), traverse(p);
-#endif
-       t = rn_newpair(v_arg, b, nodes); tt = t->rn_l;
-       if ((cp[p->rn_off] & p->rn_bmask) == 0)
-               p->rn_l = t;
-       else
-               p->rn_r = t;
-       x->rn_p = t; t->rn_p = p; /* frees x, p as temp vars below */
-       if ((cp[t->rn_off] & t->rn_bmask) == 0) {
-               t->rn_r = x;
-       } else {
-               t->rn_r = tt; t->rn_l = x;
-       }
-#ifdef RN_DEBUG
-       if (rn_debug)
-               log(LOG_DEBUG, "rn_insert: Coming Out:\n"), traverse(p);
-#endif
-    }
-       return (tt);
-}
-
-struct radix_node *
-rn_addmask(n_arg, search, skip)
-       int search, skip;
-       void *n_arg;
-{
-       caddr_t netmask = (caddr_t)n_arg;
-       register struct radix_node *x;
-       register caddr_t cp, cplim;
-       register int b = 0, mlen, j;
-       int maskduplicated, m0, isnormal;
-       struct radix_node *saved_x;
-       static int last_zeroed = 0;
-
-       if ((mlen = *(u_char *)netmask) > max_keylen)
-               mlen = max_keylen;
-       if (skip == 0)
-               skip = 1;
-       if (mlen <= skip)
-               return (mask_rnhead->rnh_nodes);
-       if (skip > 1)
-               Bcopy(rn_ones + 1, addmask_key + 1, skip - 1);
-       if ((m0 = mlen) > skip)
-               Bcopy(netmask + skip, addmask_key + skip, mlen - skip);
-       /*
-        * Trim trailing zeroes.
-        */
-       for (cp = addmask_key + mlen; (cp > addmask_key) && cp[-1] == 0;)
-               cp--;
-       mlen = cp - addmask_key;
-       if (mlen <= skip) {
-               if (m0 >= last_zeroed)
-                       last_zeroed = mlen;
-               return (mask_rnhead->rnh_nodes);
-       }
-       if (m0 < last_zeroed)
-               Bzero(addmask_key + m0, last_zeroed - m0);
-       *addmask_key = last_zeroed = mlen;
-       x = rn_search(addmask_key, rn_masktop);
-       if (Bcmp(addmask_key, x->rn_key, mlen) != 0)
-               x = 0;
-       if (x || search)
-               return (x);
-       R_Malloc(x, struct radix_node *, max_keylen + 2 * sizeof (*x));
-       if ((saved_x = x) == 0)
-               return (0);
-       Bzero(x, max_keylen + 2 * sizeof (*x));
-       netmask = cp = (caddr_t)(x + 2);
-       Bcopy(addmask_key, cp, mlen);
-       x = rn_insert(cp, mask_rnhead, &maskduplicated, x);
-       if (maskduplicated) {
-               log(LOG_ERR, "rn_addmask: mask impossibly already in tree");
-               Free(saved_x);
-               return (x);
-       }
-       /*
-        * Calculate index of mask, and check for normalcy.
-        */
-       cplim = netmask + mlen; isnormal = 1;
-       for (cp = netmask + skip; (cp < cplim) && *(u_char *)cp == 0xff;)
-               cp++;
-       if (cp != cplim) {
-               for (j = 0x80; (j & *cp) != 0; j >>= 1)
-                       b++;
-               if (*cp != normal_chars[b] || cp != (cplim - 1))
-                       isnormal = 0;
-       }
-       b += (cp - netmask) << 3;
-       x->rn_b = -1 - b;
-       if (isnormal)
-               x->rn_flags |= RNF_NORMAL;
-       return (x);
-}
-
-static int     /* XXX: arbitrary ordering for non-contiguous masks */
-rn_lexobetter(m_arg, n_arg)
-       void *m_arg, *n_arg;
-{
-       register u_char *mp = m_arg, *np = n_arg, *lim;
-
-       if (*mp > *np)
-               return 1;  /* not really, but need to check longer one first */
-       if (*mp == *np)
-               for (lim = mp + *mp; mp < lim;)
-                       if (*mp++ > *np++)
-                               return 1;
-       return 0;
-}
-
-static struct radix_mask *
-rn_new_radix_mask(tt, next)
-       register struct radix_node *tt;
-       register struct radix_mask *next;
-{
-       register struct radix_mask *m;
-
-       MKGet(m);
-       if (m == 0) {
-               log(LOG_ERR, "Mask for route not entered\n");
-               return (0);
-       }
-       Bzero(m, sizeof *m);
-       m->rm_b = tt->rn_b;
-       m->rm_flags = tt->rn_flags;
-       if (tt->rn_flags & RNF_NORMAL)
-               m->rm_leaf = tt;
-       else
-               m->rm_mask = tt->rn_mask;
-       m->rm_mklist = next;
-       tt->rn_mklist = m;
-       return m;
-}
-
-struct radix_node *
-rn_addroute(v_arg, n_arg, head, treenodes)
-       void *v_arg, *n_arg;
-       struct radix_node_head *head;
-       struct radix_node treenodes[2];
-{
-       caddr_t v = (caddr_t)v_arg, netmask = (caddr_t)n_arg;
-       register struct radix_node *t, *x = 0, *tt;
-       struct radix_node *saved_tt, *top = head->rnh_treetop;
-       short b = 0, b_leaf = 0;
-       int keyduplicated;
-       caddr_t mmask;
-       struct radix_mask *m, **mp;
-
-       /*
-        * In dealing with non-contiguous masks, there may be
-        * many different routes which have the same mask.
-        * We will find it useful to have a unique pointer to
-        * the mask to speed avoiding duplicate references at
-        * nodes and possibly save time in calculating indices.
-        */
-       if (netmask)  {
-               if ((x = rn_addmask(netmask, 0, top->rn_off)) == 0)
-                       return (0);
-               b_leaf = x->rn_b;
-               b = -1 - x->rn_b;
-               netmask = x->rn_key;
-       }
-       /*
-        * Deal with duplicated keys: attach node to previous instance
-        */
-       saved_tt = tt = rn_insert(v, head, &keyduplicated, treenodes);
-       if (keyduplicated) {
-               for (t = tt; tt; t = tt, tt = tt->rn_dupedkey) {
-                       if (tt->rn_mask == netmask)
-                               return (0);
-                       if (netmask == 0 ||
-                           (tt->rn_mask &&
-                            ((b_leaf < tt->rn_b) || /* index(netmask) > node */
-                              rn_refines(netmask, tt->rn_mask) ||
-                              rn_lexobetter(netmask, tt->rn_mask))))
-                               break;
-               }
-               /*
-                * If the mask is not duplicated, we wouldn't
-                * find it among possible duplicate key entries
-                * anyway, so the above test doesn't hurt.
-                *
-                * We sort the masks for a duplicated key the same way as
-                * in a masklist -- most specific to least specific.
-                * This may require the unfortunate nuisance of relocating
-                * the head of the list.
-                */
-               if (tt == saved_tt) {
-                       struct  radix_node *xx = x;
-                       /* link in at head of list */
-                       (tt = treenodes)->rn_dupedkey = t;
-                       tt->rn_flags = t->rn_flags;
-                       tt->rn_p = x = t->rn_p;
-                       t->rn_p = tt;                           /* parent */
-                       if (x->rn_l == t) x->rn_l = tt; else x->rn_r = tt;
-                       saved_tt = tt; x = xx;
-               } else {
-                       (tt = treenodes)->rn_dupedkey = t->rn_dupedkey;
-                       t->rn_dupedkey = tt;
-                       tt->rn_p = t;                           /* parent */
-                       if (tt->rn_dupedkey)                    /* parent */
-                               tt->rn_dupedkey->rn_p = tt;     /* parent */
-               }
-#ifdef RN_DEBUG
-               t=tt+1; tt->rn_info = rn_nodenum++; t->rn_info = rn_nodenum++;
-               tt->rn_twin = t; tt->rn_ybro = rn_clist; rn_clist = tt;
-#endif
-               tt->rn_key = (caddr_t) v;
-               tt->rn_b = -1;
-               tt->rn_flags = RNF_ACTIVE;
-       }
-       /*
-        * Put mask in tree.
-        */
-       if (netmask) {
-               tt->rn_mask = netmask;
-               tt->rn_b = x->rn_b;
-               tt->rn_flags |= x->rn_flags & RNF_NORMAL;
-       }
-       t = saved_tt->rn_p;
-       if (keyduplicated)
-               goto on2;
-       b_leaf = -1 - t->rn_b;
-       if (t->rn_r == saved_tt) x = t->rn_l; else x = t->rn_r;
-       /* Promote general routes from below */
-       if (x->rn_b < 0) {
-           for (mp = &t->rn_mklist; x; x = x->rn_dupedkey)
-               if (x->rn_mask && (x->rn_b >= b_leaf) && x->rn_mklist == 0) {
-                       *mp = m = rn_new_radix_mask(x, 0);
-                       if (m)
-                               mp = &m->rm_mklist;
-               }
-       } else if (x->rn_mklist) {
-               /*
-                * Skip over masks whose index is > that of new node
-                */
-               for (mp = &x->rn_mklist; (m = *mp); mp = &m->rm_mklist)
-                       if (m->rm_b >= b_leaf)
-                               break;
-               t->rn_mklist = m; *mp = 0;
-       }
-on2:
-       /* Add new route to highest possible ancestor's list */
-       if ((netmask == 0) || (b > t->rn_b ))
-               return tt; /* can't lift at all */
-       b_leaf = tt->rn_b;
-       do {
-               x = t;
-               t = t->rn_p;
-       } while (b <= t->rn_b && x != top);
-       /*
-        * Search through routes associated with node to
-        * insert new route according to index.
-        * Need same criteria as when sorting dupedkeys to avoid
-        * double loop on deletion.
-        */
-       for (mp = &x->rn_mklist; (m = *mp); mp = &m->rm_mklist) {
-               if (m->rm_b < b_leaf)
-                       continue;
-               if (m->rm_b > b_leaf)
-                       break;
-               if (m->rm_flags & RNF_NORMAL) {
-                       mmask = m->rm_leaf->rn_mask;
-                       if (tt->rn_flags & RNF_NORMAL) {
-                               log(LOG_ERR,
-                                  "Non-unique normal route, mask not entered");
-                               return tt;
-                       }
-               } else
-                       mmask = m->rm_mask;
-               if (mmask == netmask) {
-                       m->rm_refs++;
-                       tt->rn_mklist = m;
-                       return tt;
-               }
-               if (rn_refines(netmask, mmask) || rn_lexobetter(netmask, mmask))
-                       break;
-       }
-       *mp = rn_new_radix_mask(tt, *mp);
-       return tt;
-}
-
-struct radix_node *
-rn_delete(v_arg, netmask_arg, head)
-       void *v_arg, *netmask_arg;
-       struct radix_node_head *head;
-{
-       register struct radix_node *t, *p, *x, *tt;
-       struct radix_mask *m, *saved_m, **mp;
-       struct radix_node *dupedkey, *saved_tt, *top;
-       caddr_t v, netmask;
-       int b, head_off, vlen;
-
-       v = v_arg;
-       netmask = netmask_arg;
-       x = head->rnh_treetop;
-       tt = rn_search(v, x);
-       head_off = x->rn_off;
-       vlen =  *(u_char *)v;
-       saved_tt = tt;
-       top = x;
-       if (tt == 0 ||
-           Bcmp(v + head_off, tt->rn_key + head_off, vlen - head_off))
-               return (0);
-       /*
-        * Delete our route from mask lists.
-        */
-       if (netmask) {
-               if ((x = rn_addmask(netmask, 1, head_off)) == 0)
-                       return (0);
-               netmask = x->rn_key;
-               while (tt->rn_mask != netmask)
-                       if ((tt = tt->rn_dupedkey) == 0)
-                               return (0);
-       }
-       if (tt->rn_mask == 0 || (saved_m = m = tt->rn_mklist) == 0)
-               goto on1;
-       if (tt->rn_flags & RNF_NORMAL) {
-               if (m->rm_leaf != tt || m->rm_refs > 0) {
-                       log(LOG_ERR, "rn_delete: inconsistent annotation\n");
-                       return 0;  /* dangling ref could cause disaster */
-               }
-       } else {
-               if (m->rm_mask != tt->rn_mask) {
-                       log(LOG_ERR, "rn_delete: inconsistent annotation\n");
-                       goto on1;
-               }
-               if (--m->rm_refs >= 0)
-                       goto on1;
-       }
-       b = -1 - tt->rn_b;
-       t = saved_tt->rn_p;
-       if (b > t->rn_b)
-               goto on1; /* Wasn't lifted at all */
-       do {
-               x = t;
-               t = t->rn_p;
-       } while (b <= t->rn_b && x != top);
-       for (mp = &x->rn_mklist; (m = *mp); mp = &m->rm_mklist)
-               if (m == saved_m) {
-                       *mp = m->rm_mklist;
-                       MKFree(m);
-                       break;
-               }
-       if (m == 0) {
-               log(LOG_ERR, "rn_delete: couldn't find our annotation\n");
-               if (tt->rn_flags & RNF_NORMAL)
-                       return (0); /* Dangling ref to us */
-       }
-on1:
-       /*
-        * Eliminate us from tree
-        */
-       if (tt->rn_flags & RNF_ROOT)
-               return (0);
-#ifdef RN_DEBUG
-       /* Get us out of the creation list */
-       for (t = rn_clist; t && t->rn_ybro != tt; t = t->rn_ybro) {}
-       if (t) t->rn_ybro = tt->rn_ybro;
-#endif
-       t = tt->rn_p;
-       dupedkey = saved_tt->rn_dupedkey;
-       if (dupedkey) {
-               /*
-                * at this point, tt is the deletion target and saved_tt
-                * is the head of the dupekey chain
-                */
-               if (tt == saved_tt) {
-                       /* remove from head of chain */
-                       x = dupedkey; x->rn_p = t;
-                       if (t->rn_l == tt) t->rn_l = x; else t->rn_r = x;
-               } else {
-                       /* find node in front of tt on the chain */
-                       for (x = p = saved_tt; p && p->rn_dupedkey != tt;)
-                               p = p->rn_dupedkey;
-                       if (p) {
-                               p->rn_dupedkey = tt->rn_dupedkey;
-                               if (tt->rn_dupedkey)               /* parent */
-                                       tt->rn_dupedkey->rn_p = p; /* parent */
-                       } else log(LOG_ERR, "rn_delete: couldn't find us\n");
-               }
-               t = tt + 1;
-               if  (t->rn_flags & RNF_ACTIVE) {
-#ifndef RN_DEBUG
-                       *++x = *t; p = t->rn_p;
-#else
-                       b = t->rn_info; *++x = *t; t->rn_info = b; p = t->rn_p;
-#endif
-                       if (p->rn_l == t) p->rn_l = x; else p->rn_r = x;
-                       x->rn_l->rn_p = x; x->rn_r->rn_p = x;
-               }
-               goto out;
-       }
-       if (t->rn_l == tt) x = t->rn_r; else x = t->rn_l;
-       p = t->rn_p;
-       if (p->rn_r == t) p->rn_r = x; else p->rn_l = x;
-       x->rn_p = p;
-       /*
-        * Demote routes attached to us.
-        */
-       if (t->rn_mklist) {
-               if (x->rn_b >= 0) {
-                       for (mp = &x->rn_mklist; (m = *mp);)
-                               mp = &m->rm_mklist;
-                       *mp = t->rn_mklist;
-               } else {
-                       /* If there are any key,mask pairs in a sibling
-                          duped-key chain, some subset will appear sorted
-                          in the same order attached to our mklist */
-                       for (m = t->rn_mklist; m && x; x = x->rn_dupedkey)
-                               if (m == x->rn_mklist) {
-                                       struct radix_mask *mm = m->rm_mklist;
-                                       x->rn_mklist = 0;
-                                       if (--(m->rm_refs) < 0)
-                                               MKFree(m);
-                                       m = mm;
-                               }
-                       if (m)
-                               log(LOG_ERR, "%s %p at %x\n",
-                                           "rn_delete: Orphaned Mask", m, x);
-               }
-       }
-       /*
-        * We may be holding an active internal node in the tree.
-        */
-       x = tt + 1;
-       if (t != x) {
-#ifndef RN_DEBUG
-               *t = *x;
-#else
-               b = t->rn_info; *t = *x; t->rn_info = b;
-#endif
-               t->rn_l->rn_p = t; t->rn_r->rn_p = t;
-               p = x->rn_p;
-               if (p->rn_l == x) p->rn_l = t; else p->rn_r = t;
-       }
-out:
-       tt->rn_flags &= ~RNF_ACTIVE;
-       tt[1].rn_flags &= ~RNF_ACTIVE;
-       return (tt);
-}
-
-/*
- * This is the same as rn_walktree() except for the parameters and the
- * exit.
- */
-int
-rn_walktree_from(h, a, m, f, w)
-       struct radix_node_head *h;
-       void *a, *m;
-       register int (*f)();
-       void *w;
-{
-       int error;
-       struct radix_node *base, *next;
-       u_char *xa = (u_char *)a;
-       u_char *xm = (u_char *)m;
-       register struct radix_node *rn, *last = 0 /* shut up gcc */;
-       int stopping = 0;
-       int lastb;
-
-       /*
-        * rn_search_m is sort-of-open-coded here.
-        */
-       /* printf("about to search\n"); */
-       for (rn = h->rnh_treetop; rn->rn_b >= 0; ) {
-               last = rn;
-               /* printf("rn_b %d, rn_bmask %x, xm[rn_off] %x\n",
-                      rn->rn_b, rn->rn_bmask, xm[rn->rn_off]); */
-               if (!(rn->rn_bmask & xm[rn->rn_off])) {
-                       break;
-               }
-               if (rn->rn_bmask & xa[rn->rn_off]) {
-                       rn = rn->rn_r;
-               } else {
-                       rn = rn->rn_l;
-               }
-       }
-       /* printf("done searching\n"); */
-
-       /*
-        * Two cases: either we stepped off the end of our mask,
-        * in which case last == rn, or we reached a leaf, in which
-        * case we want to start from the last node we looked at.
-        * Either way, last is the node we want to start from.
-        */
-       rn = last;
-       lastb = rn->rn_b;
-
-       /* printf("rn %p, lastb %d\n", rn, lastb);*/
-
-       /*
-        * This gets complicated because we may delete the node
-        * while applying the function f to it, so we need to calculate
-        * the successor node in advance.
-        */
-       while (rn->rn_b >= 0)
-               rn = rn->rn_l;
-
-       while (!stopping) {
-               /* printf("node %p (%d)\n", rn, rn->rn_b); */
-               base = rn;
-               /* If at right child go back up, otherwise, go right */
-               while (rn->rn_p->rn_r == rn && !(rn->rn_flags & RNF_ROOT)) {
-                       rn = rn->rn_p;
-
-                       /* if went up beyond last, stop */
-                       if (rn->rn_b < lastb) {
-                               stopping = 1;
-                               /* printf("up too far\n"); */
-                       }
-               }
-
-               /* Find the next *leaf* since next node might vanish, too */
-               for (rn = rn->rn_p->rn_r; rn->rn_b >= 0;)
-                       rn = rn->rn_l;
-               next = rn;
-               /* Process leaves */
-               while ((rn = base) != 0) {
-                       base = rn->rn_dupedkey;
-                       /* printf("leaf %p\n", rn); */
-                       if (!(rn->rn_flags & RNF_ROOT)
-                           && (error = (*f)(rn, w)))
-                               return (error);
-               }
-               rn = next;
-
-               if (rn->rn_flags & RNF_ROOT) {
-                       /* printf("root, stopping"); */
-                       stopping = 1;
-               }
-
-       }
-       return 0;
-}
-
-int
-rn_walktree(h, f, w)
-       struct radix_node_head *h;
-       register int (*f)();
-       void *w;
-{
-       int error;
-       struct radix_node *base, *next;
-       register struct radix_node *rn = h->rnh_treetop;
-       /*
-        * This gets complicated because we may delete the node
-        * while applying the function f to it, so we need to calculate
-        * the successor node in advance.
-        */
-       /* First time through node, go left */
-       while (rn->rn_b >= 0)
-               rn = rn->rn_l;
-       for (;;) {
-               base = rn;
-               /* If at right child go back up, otherwise, go right */
-               while (rn->rn_p->rn_r == rn && (rn->rn_flags & RNF_ROOT) == 0)
-                       rn = rn->rn_p;
-               /* Find the next *leaf* since next node might vanish, too */
-               for (rn = rn->rn_p->rn_r; rn->rn_b >= 0;)
-                       rn = rn->rn_l;
-               next = rn;
-               /* Process leaves */
-               while ((rn = base)) {
-                       base = rn->rn_dupedkey;
-                       if (!(rn->rn_flags & RNF_ROOT) && (error = (*f)(rn, w)))
-                               return (error);
-               }
-               rn = next;
-               if (rn->rn_flags & RNF_ROOT)
-                       return (0);
-       }
-       /* NOTREACHED */
-}
-
-int
-rn_inithead(head, off)
-       void **head;
-       int off;
-{
-       register struct radix_node_head *rnh;
-       register struct radix_node *t, *tt, *ttt;
-       if (*head)
-               return (1);
-       R_Malloc(rnh, struct radix_node_head *, sizeof (*rnh));
-       if (rnh == 0)
-               return (0);
-       Bzero(rnh, sizeof (*rnh));
-       *head = rnh;
-       t = rn_newpair(rn_zeros, off, rnh->rnh_nodes);
-       ttt = rnh->rnh_nodes + 2;
-       t->rn_r = ttt;
-       t->rn_p = t;
-       tt = t->rn_l;
-       tt->rn_flags = t->rn_flags = RNF_ROOT | RNF_ACTIVE;
-       tt->rn_b = -1 - off;
-       *ttt = *tt;
-       ttt->rn_key = rn_ones;
-       rnh->rnh_addaddr = rn_addroute;
-       rnh->rnh_deladdr = rn_delete;
-       rnh->rnh_matchaddr = rn_match;
-       rnh->rnh_lookup = rn_lookup;
-       rnh->rnh_walktree = rn_walktree;
-       rnh->rnh_walktree_from = rn_walktree_from;
-       rnh->rnh_treetop = t;
-       return (1);
-}
-
-void
-rn_init()
-{
-       char *cp, *cplim;
-#ifdef KERNEL
-       struct domain *dom;
-
-       for (dom = domains; dom; dom = dom->dom_next)
-               if (dom->dom_maxrtkey > max_keylen)
-                       max_keylen = dom->dom_maxrtkey;
-#endif
-       if (max_keylen == 0) {
-               log(LOG_ERR,
-                   "rn_init: radix functions require max_keylen be set\n");
-               return;
-       }
-       R_Malloc(rn_zeros, char *, 3 * max_keylen);
-       if (rn_zeros == NULL)
-               panic("rn_init");
-       Bzero(rn_zeros, 3 * max_keylen);
-       rn_ones = cp = rn_zeros + max_keylen;
-       addmask_key = cplim = rn_ones + max_keylen;
-       while (cp < cplim)
-               *cp++ = -1;
-       if (rn_inithead((void **)&mask_rnhead, 0) == 0)
-               panic("rn_init 2");
-}
diff --git a/reactos/lib/oskittcp/oskittcp/random.c b/reactos/lib/oskittcp/oskittcp/random.c
deleted file mode 100644 (file)
index ffbf030..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)random.c    8.1 (Berkeley) 6/10/93
- */
-
-#include <sys/libkern.h>
-
-/*
- * Pseudo-random number generator for randomizing the profiling clock,
- * and whatever else we might use it for.  The result is uniform on
- * [0, 2^31 - 1].
- */
-unsigned long
-random()
-{
-       static unsigned long randseed = 1;
-       register long x, hi, lo, t;
-
-       /*
-        * Compute x[n + 1] = (7^5 * x[n]) mod (2^31 - 1).
-        * From "Random number generators: good ones are hard to find",
-        * Park and Miller, Communications of the ACM, vol. 31, no. 10,
-        * October 1988, p. 1195.
-        */
-       x = randseed;
-       hi = x / 127773;
-       lo = x % 127773;
-       t = 16807 * lo - 2836 * hi;
-       if (t <= 0)
-               t += 0x7fffffff;
-       randseed = t;
-       return (t);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/route.c b/reactos/lib/oskittcp/oskittcp/route.c
deleted file mode 100644 (file)
index a7b2f1e..0000000
+++ /dev/null
@@ -1,807 +0,0 @@
-/*
- * Copyright (c) 1980, 1986, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)route.c     8.2 (Berkeley) 11/15/93
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/proc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/domain.h>
-#include <sys/protosw.h>
-#include <sys/ioctl.h>
-
-#include <net/if.h>
-#include <net/route.h>
-#include <net/raw_cb.h>
-
-#include <netinet/in.h>
-#include <netinet/in_var.h>
-#include <netinet/ip_mroute.h>
-
-#define        SA(p) ((struct sockaddr *)(p))
-
-int    rttrash;                /* routes not in table but not freed */
-struct sockaddr wildcard;      /* zero valued cookie for wildcard searches */
-
-#define UNIMP panic("Unimplemented function")
-
-/*
- * Packet routing routines.
- */
-void
-rtalloc(ro)
-       register struct route *ro;
-{
-#if 0
-       if (ro->ro_rt && ro->ro_rt->rt_ifp && (ro->ro_rt->rt_flags & RTF_UP))
-               return;                          /* XXX */
-       ro->ro_rt = rtalloc1(&ro->ro_dst, 1, 0UL);
-#endif
-       UNIMP;
-}
-
-void
-rtalloc_ign(ro, ignore)
-       register struct route *ro;
-       u_long ignore;
-{
-#if 0
-       if (ro->ro_rt && ro->ro_rt->rt_ifp && (ro->ro_rt->rt_flags & RTF_UP))
-               return;                          /* XXX */
-       ro->ro_rt = rtalloc1(&ro->ro_dst, 1, ignore);
-#endif
-       UNIMP;
-}
-
-struct rtentry *
-rtalloc1(dst, report, ignflags)
-       register struct sockaddr *dst;
-       int report;
-       u_long ignflags;
-{
-#if 0
-       register struct radix_node_head *rnh = rt_tables[dst->sa_family];
-       register struct rtentry *rt;
-       register struct radix_node *rn;
-       struct rtentry *newrt = 0;
-       struct rt_addrinfo info;
-       u_long nflags;
-       int  s = splnet(), err = 0, msgtype = RTM_MISS;
-
-       if (rnh && (rn = rnh->rnh_matchaddr((caddr_t)dst, rnh)) &&
-           ((rn->rn_flags & RNF_ROOT) == 0)) {
-               newrt = rt = (struct rtentry *)rn;
-               nflags = rt->rt_flags & ~ignflags;
-               if (report && (nflags & (RTF_CLONING | RTF_PRCLONING))) {
-                       err = rtrequest(RTM_RESOLVE, dst, SA(0),
-                                             SA(0), 0, &newrt);
-                       if (err) {
-                               newrt = rt;
-                               rt->rt_refcnt++;
-                               goto miss;
-                       }
-                       if ((rt = newrt) && (rt->rt_flags & RTF_XRESOLVE)) {
-                               msgtype = RTM_RESOLVE;
-                               goto miss;
-                       }
-               } else
-                       rt->rt_refcnt++;
-       } else {
-               rtstat.rts_unreach++;
-       miss:   if (report) {
-                       bzero((caddr_t)&info, sizeof(info));
-                       info.rti_info[RTAX_DST] = dst;
-                       rt_missmsg(msgtype, &info, 0, err);
-               }
-       }
-       splx(s);
-       return (newrt);
-#endif
-       UNIMP;
-}
-
-void
-rtfree(rt)
-       register struct rtentry *rt;
-{
-#if 0
-       register struct radix_node_head *rnh =
-               rt_tables[rt_key(rt)->sa_family];
-       register struct ifaddr *ifa;
-
-       if (rt == 0 || rnh == 0)
-               panic("rtfree");
-       rt->rt_refcnt--;
-       if(rnh->rnh_close && rt->rt_refcnt == 0) {
-               rnh->rnh_close((struct radix_node *)rt, rnh);
-       }
-       if (rt->rt_refcnt <= 0 && (rt->rt_flags & RTF_UP) == 0) {
-               if (rt->rt_nodes->rn_flags & (RNF_ACTIVE | RNF_ROOT))
-                       panic ("rtfree 2");
-               rttrash--;
-               if (rt->rt_refcnt < 0) {
-                       printf("rtfree: %p not freed (neg refs)\n", rt);
-                       return;
-               }
-               ifa = rt->rt_ifa;
-               IFAFREE(ifa);
-               if (rt->rt_parent) {
-                       RTFREE(rt->rt_parent);
-               }
-               Free(rt_key(rt));
-               Free(rt);
-       }
-#endif
-       UNIMP;
-}
-
-void
-ifafree(ifa)
-       register struct ifaddr *ifa;
-{
-#if 0
-       if (ifa == NULL)
-               panic("ifafree");
-       if (ifa->ifa_refcnt == 0)
-               free(ifa, M_IFADDR);
-       else
-               ifa->ifa_refcnt--;
-#endif
-       UNIMP;
-}
-
-/*
- * Force a routing table entry to the specified
- * destination to go through the given gateway.
- * Normally called as a result of a routing redirect
- * message from the network layer.
- *
- * N.B.: must be called at splnet
- *
- */
-void
-rtredirect(dst, gateway, netmask, flags, src, rtp)
-       struct sockaddr *dst, *gateway, *netmask, *src;
-       int flags;
-       struct rtentry **rtp;
-{
-#if 0
-       register struct rtentry *rt;
-       int error = 0;
-       short *stat = 0;
-       struct rt_addrinfo info;
-       struct ifaddr *ifa;
-
-       /* verify the gateway is directly reachable */
-       if ((ifa = ifa_ifwithnet(gateway)) == 0) {
-               error = ENETUNREACH;
-               goto out;
-       }
-       rt = rtalloc1(dst, 0, 0UL);
-       /*
-        * If the redirect isn't from our current router for this dst,
-        * it's either old or wrong.  If it redirects us to ourselves,
-        * we have a routing loop, perhaps as a result of an interface
-        * going down recently.
-        */
-#define        equal(a1, a2) (bcmp((caddr_t)(a1), (caddr_t)(a2), (a1)->sa_len) == 0)
-       if (!(flags & RTF_DONE) && rt &&
-            (!equal(src, rt->rt_gateway) || rt->rt_ifa != ifa))
-               error = EINVAL;
-       else if (ifa_ifwithaddr(gateway))
-               error = EHOSTUNREACH;
-       if (error)
-               goto done;
-       /*
-        * Create a new entry if we just got back a wildcard entry
-        * or the the lookup failed.  This is necessary for hosts
-        * which use routing redirects generated by smart gateways
-        * to dynamically build the routing tables.
-        */
-       if ((rt == 0) || (rt_mask(rt) && rt_mask(rt)->sa_len < 2))
-               goto create;
-       /*
-        * Don't listen to the redirect if it's
-        * for a route to an interface.
-        */
-       if (rt->rt_flags & RTF_GATEWAY) {
-               if (((rt->rt_flags & RTF_HOST) == 0) && (flags & RTF_HOST)) {
-                       /*
-                        * Changing from route to net => route to host.
-                        * Create new route, rather than smashing route to net.
-                        */
-               create:
-                       flags |=  RTF_GATEWAY | RTF_DYNAMIC;
-                       error = rtrequest((int)RTM_ADD, dst, gateway,
-                                   netmask, flags,
-                                   (struct rtentry **)0);
-                       stat = &rtstat.rts_dynamic;
-               } else {
-                       /*
-                        * Smash the current notion of the gateway to
-                        * this destination.  Should check about netmask!!!
-                        */
-                       rt->rt_flags |= RTF_MODIFIED;
-                       flags |= RTF_MODIFIED;
-                       stat = &rtstat.rts_newgateway;
-                       rt_setgate(rt, rt_key(rt), gateway);
-               }
-       } else
-               error = EHOSTUNREACH;
-done:
-       if (rt) {
-               if (rtp && !error)
-                       *rtp = rt;
-               else
-                       rtfree(rt);
-       }
-out:
-       if (error)
-               rtstat.rts_badredirect++;
-       else if (stat != NULL)
-               (*stat)++;
-       bzero((caddr_t)&info, sizeof(info));
-       info.rti_info[RTAX_DST] = dst;
-       info.rti_info[RTAX_GATEWAY] = gateway;
-       info.rti_info[RTAX_NETMASK] = netmask;
-       info.rti_info[RTAX_AUTHOR] = src;
-       rt_missmsg(RTM_REDIRECT, &info, flags, error);
-#endif
-       UNIMP;
-}
-
-/*
-* Routing table ioctl interface.
-*/
-int
-rtioctl(req, data, p)
-       int req;
-       caddr_t data;
-       struct proc *p;
-{
-#if 0
-#ifdef INET
-       /* Multicast goop, grrr... */
-       return mrt_ioctl(req, data, p);
-#else /* INET */
-       return ENXIO;
-#endif /* INET */
-#endif
-       UNIMP;
-}
-
-struct ifaddr *
-ifa_ifwithroute(flags, dst, gateway)
-       int flags;
-       struct sockaddr *dst, *gateway;
-{
-#if 0
-       register struct ifaddr *ifa;
-       if ((flags & RTF_GATEWAY) == 0) {
-               /*
-                * If we are adding a route to an interface,
-                * and the interface is a pt to pt link
-                * we should search for the destination
-                * as our clue to the interface.  Otherwise
-                * we can use the local address.
-                */
-               ifa = 0;
-               if (flags & RTF_HOST) {
-                       ifa = ifa_ifwithdstaddr(dst);
-               }
-               if (ifa == 0)
-                       ifa = ifa_ifwithaddr(gateway);
-       } else {
-               /*
-                * If we are adding a route to a remote net
-                * or host, the gateway may still be on the
-                * other end of a pt to pt link.
-                */
-               ifa = ifa_ifwithdstaddr(gateway);
-       }
-       if (ifa == 0)
-               ifa = ifa_ifwithnet(gateway);
-       if (ifa == 0) {
-               struct rtentry *rt = rtalloc1(dst, 0, 0UL);
-               if (rt == 0)
-                       return (0);
-               rt->rt_refcnt--;
-               if ((ifa = rt->rt_ifa) == 0)
-                       return (0);
-       }
-       if (ifa->ifa_addr->sa_family != dst->sa_family) {
-               struct ifaddr *oifa = ifa;
-               ifa = ifaof_ifpforaddr(dst, ifa->ifa_ifp);
-               if (ifa == 0)
-                       ifa = oifa;
-       }
-       return (ifa);
-#endif
-       UNIMP;
-}
-
-#define ROUNDUP(a) (a>0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
-
-static int rt_fixdelete(struct radix_node *, void *);
-static int rt_fixchange(struct radix_node *, void *);
-
-struct rtfc_arg {
-       struct rtentry *rt0;
-       struct radix_node_head *rnh;
-};
-
-int
-rtrequest(req, dst, gateway, netmask, flags, ret_nrt)
-       int req, flags;
-       struct sockaddr *dst, *gateway, *netmask;
-       struct rtentry **ret_nrt;
-{
-#if 0
-       int s = splnet(); int error = 0;
-       register struct rtentry *rt;
-       register struct radix_node *rn;
-       register struct radix_node_head *rnh;
-       struct ifaddr *ifa;
-       struct sockaddr *ndst;
-       u_long prflags = 0UL;
-#define senderr(x) { error = x ; goto bad; }
-
-       if ((rnh = rt_tables[dst->sa_family]) == 0)
-               senderr(ESRCH);
-       if (flags & RTF_HOST)
-               netmask = 0;
-       switch (req) {
-       case RTM_DELETE:
-               if ((rn = rnh->rnh_deladdr(dst, netmask, rnh)) == 0)
-                       senderr(ESRCH);
-               if (rn->rn_flags & (RNF_ACTIVE | RNF_ROOT))
-                       panic ("rtrequest delete");
-               rt = (struct rtentry *)rn;
-
-               /*
-                * Now search what's left of the subtree for any cloned
-                * routes which might have been formed from this node.
-                */
-               if ((rt->rt_flags & RTF_PRCLONING) && netmask) {
-                       rnh->rnh_walktree_from(rnh, dst, netmask,
-                                              rt_fixdelete, rt);
-               }
-
-               if (rt->rt_gwroute) {
-                       rt = rt->rt_gwroute; RTFREE(rt);
-                       (rt = (struct rtentry *)rn)->rt_gwroute = 0;
-               }
-
-               /*
-                * NB: RTF_UP must be set during the search above,
-                * because we might delete the last ref, causing
-                * rt to get freed prematurely.
-                */
-               rt->rt_flags &= ~RTF_UP;
-
-               if ((ifa = rt->rt_ifa) && ifa->ifa_rtrequest)
-                       ifa->ifa_rtrequest(RTM_DELETE, rt, SA(0));
-               rttrash++;
-               if (ret_nrt)
-                       *ret_nrt = rt;
-               else if (rt->rt_refcnt <= 0) {
-                       rt->rt_refcnt++;
-                       rtfree(rt);
-               }
-               break;
-
-       case RTM_RESOLVE:
-               if (ret_nrt == 0 || (rt = *ret_nrt) == 0)
-                       senderr(EINVAL);
-               ifa = rt->rt_ifa;
-               flags = rt->rt_flags &
-                   ~(RTF_CLONING | RTF_PRCLONING | RTF_STATIC);
-               flags |= RTF_WASCLONED;
-               gateway = rt->rt_gateway;
-               if ((netmask = rt->rt_genmask) == 0)
-                       flags |= RTF_HOST;
-               goto makeroute;
-
-       case RTM_ADD:
-               if ((flags & RTF_GATEWAY) && !gateway)
-                       panic("rtrequest: GATEWAY but no gateway");
-
-               if ((ifa = ifa_ifwithroute(flags, dst, gateway)) == 0)
-                       senderr(ENETUNREACH);
-
-       makeroute:
-               R_Malloc(rt, struct rtentry *, sizeof(*rt));
-               if (rt == 0)
-                       senderr(ENOBUFS);
-               Bzero(rt, sizeof(*rt));
-               rt->rt_flags = RTF_UP | flags;
-               if (rt_setgate(rt, dst, gateway)) {
-                       Free(rt);
-                       senderr(ENOBUFS);
-               }
-               ndst = rt_key(rt);
-               if (netmask) {
-                       rt_maskedcopy(dst, ndst, netmask);
-               } else
-                       Bcopy(dst, ndst, dst->sa_len);
-
-               /*
-                * This moved from below so that rnh->rnh_addaddr() can
-                * examine the ifa and ifp if it so desires.
-                */
-               ifa->ifa_refcnt++;
-               rt->rt_ifa = ifa;
-               rt->rt_ifp = ifa->ifa_ifp;
-
-               rn = rnh->rnh_addaddr((caddr_t)ndst, (caddr_t)netmask,
-                                       rnh, rt->rt_nodes);
-               if (rn == 0) {
-                       struct rtentry *rt2;
-                       /*
-                        * Uh-oh, we already have one of these in the tree.
-                        * We do a special hack: if the route that's already
-                        * there was generated by the protocol-cloning
-                        * mechanism, then we just blow it away and retry
-                        * the insertion of the new one.
-                        */
-                       rt2 = rtalloc1(dst, 0, RTF_PRCLONING);
-                       if (rt2 && rt2->rt_parent) {
-                               rtrequest(RTM_DELETE, 
-                                         (struct sockaddr *)rt_key(rt2),
-                                         rt2->rt_gateway,
-                                         rt_mask(rt2), rt2->rt_flags, 0);
-                               RTFREE(rt2);
-                               rn = rnh->rnh_addaddr((caddr_t)ndst,
-                                                     (caddr_t)netmask,
-                                                     rnh, rt->rt_nodes);
-                       } else if (rt2) {
-                               RTFREE(rt2);
-                       }
-               }
-
-               if (rn == 0) {
-                       if (rt->rt_gwroute)
-                               rtfree(rt->rt_gwroute);
-                       if (rt->rt_ifa) {
-                               IFAFREE(rt->rt_ifa);
-                       }
-                       Free(rt_key(rt));
-                       Free(rt);
-                       senderr(EEXIST);
-               }
-               rt->rt_parent = 0;
-
-               if (req == RTM_RESOLVE) {
-                       rt->rt_rmx = (*ret_nrt)->rt_rmx; /* copy metrics */
-                       if ((*ret_nrt)->rt_flags & RTF_PRCLONING) {
-                               rt->rt_parent = (*ret_nrt);
-                               (*ret_nrt)->rt_refcnt++;
-                       }
-               }
-               if (ifa->ifa_rtrequest)
-                       ifa->ifa_rtrequest(req, rt, SA(ret_nrt ? *ret_nrt : 0));
-               /*
-                * We repeat the same procedure from rt_setgate() here because
-                * it doesn't fire when we call it there because the node
-                * hasn't been added to the tree yet.
-                */
-               if (!(rt->rt_flags & RTF_HOST)) {
-                       struct rtfc_arg arg;
-                       arg.rnh = rnh;
-                       arg.rt0 = rt;
-                       rnh->rnh_walktree_from(rnh, rt_key(rt), rt_mask(rt),
-                                              rt_fixchange, &arg);
-               }
-
-               if (ret_nrt) {
-                       *ret_nrt = rt;
-                       rt->rt_refcnt++;
-               }
-               break;
-       }
-bad:
-       splx(s);
-       return (error);
-#endif
-       UNIMP;
-}
-
-/*
- * Called from rtrequest(RTM_DELETE, ...) to fix up the route's ``family''
- * (i.e., the routes related to it by the operation of cloning).  This
- * routine is iterated over all potential former-child-routes by way of
- * rnh->rnh_walktree_from() above, and those that actually are children of
- * the late parent (passed in as VP here) are themselves deleted.
- */
-static int
-rt_fixdelete(struct radix_node *rn, void *vp)
-{
-#if 0
-       struct rtentry *rt = (struct rtentry *)rn;
-       struct rtentry *rt0 = vp;
-
-       if (rt->rt_parent == rt0 && !(rt->rt_flags & RTF_PINNED)) {
-               return rtrequest(RTM_DELETE, rt_key(rt),
-                                (struct sockaddr *)0, rt_mask(rt),
-                                rt->rt_flags, (struct rtentry **)0);
-       }
-       return 0;
-#endif
-       UNIMP;
-}
-
-/*
- * This routine is called from rt_setgate() to do the analogous thing for
- * adds and changes.  There is the added complication in this case of a
- * middle insert; i.e., insertion of a new network route between an older
- * network route and (cloned) host routes.  For this reason, a simple check
- * of rt->rt_parent is insufficient; each candidate route must be tested
- * against the (mask, value) of the new route (passed as before in vp)
- * to see if the new route matches it.  Unfortunately, this has the obnoxious
- * property of also triggering for insertion /above/ a pre-existing network
- * route and clones.  Sigh.  This may be fixed some day.
- *
- * XXX - it may be possible to do fixdelete() for changes and reserve this
- * routine just for adds.  I'm not sure why I thought it was necessary to do
- * changes this way.
- */
-#ifdef DEBUG
-int rtfcdebug = 0;
-#endif
-
-static int
-rt_fixchange(struct radix_node *rn, void *vp)
-{
-       struct rtentry *rt = (struct rtentry *)rn;
-       struct rtfc_arg *ap = vp;
-       struct rtentry *rt0 = ap->rt0;
-       struct radix_node_head *rnh = ap->rnh;
-       u_char *xk1, *xm1, *xk2;
-       int i, len;
-
-#if 0
-#ifdef DEBUG
-       if (rtfcdebug)
-               printf("rt_fixchange: rt %p, rt0 %p\n", rt, rt0);
-#endif
-
-       if (!rt->rt_parent || (rt->rt_flags & RTF_PINNED)) {
-#ifdef DEBUG
-               if(rtfcdebug) printf("no parent or pinned\n");
-#endif
-               return 0;
-       }
-
-       if (rt->rt_parent == rt0) {
-#ifdef DEBUG
-               if(rtfcdebug) printf("parent match\n");
-#endif
-               return rtrequest(RTM_DELETE, rt_key(rt),
-                                (struct sockaddr *)0, rt_mask(rt),
-                                rt->rt_flags, (struct rtentry **)0);
-       }
-
-       /*
-        * There probably is a function somewhere which does this...
-        * if not, there should be.
-        */
-       len = imin(((struct sockaddr *)rt_key(rt0))->sa_len,
-                  ((struct sockaddr *)rt_key(rt))->sa_len);
-
-       xk1 = (u_char *)rt_key(rt0);
-       xm1 = (u_char *)rt_mask(rt0);
-       xk2 = (u_char *)rt_key(rt);
-
-       for (i = rnh->rnh_treetop->rn_off; i < len; i++) {
-               if ((xk2[i] & xm1[i]) != xk1[i]) {
-#ifdef DEBUG
-                       if(rtfcdebug) printf("no match\n");
-#endif
-                       return 0;
-               }
-       }
-
-       /*
-        * OK, this node is a clone, and matches the node currently being
-        * changed/added under the node's mask.  So, get rid of it.
-        */
-#ifdef DEBUG
-       if(rtfcdebug) printf("deleting\n");
-#endif
-       return rtrequest(RTM_DELETE, rt_key(rt), (struct sockaddr *)0,
-                        rt_mask(rt), rt->rt_flags, (struct rtentry **)0);
-#endif
-       UNIMP;
-}
-
-int
-rt_setgate(rt0, dst, gate)
-       struct rtentry *rt0;
-       struct sockaddr *dst, *gate;
-{
-#if 0
-       caddr_t new, old;
-       int dlen = ROUNDUP(dst->sa_len), glen = ROUNDUP(gate->sa_len);
-       register struct rtentry *rt = rt0;
-       struct radix_node_head *rnh = rt_tables[dst->sa_family];
-
-       if (rt->rt_gateway == 0 || glen > ROUNDUP(rt->rt_gateway->sa_len)) {
-               old = (caddr_t)rt_key(rt);
-               R_Malloc(new, caddr_t, dlen + glen);
-               if (new == 0)
-                       return 1;
-               rt->rt_nodes->rn_key = new;
-       } else {
-               new = rt->rt_nodes->rn_key;
-               old = 0;
-       }
-       Bcopy(gate, (rt->rt_gateway = (struct sockaddr *)(new + dlen)), glen);
-       if (old) {
-               Bcopy(dst, new, dlen);
-               Free(old);
-       }
-       if (rt->rt_gwroute) {
-               rt = rt->rt_gwroute; RTFREE(rt);
-               rt = rt0; rt->rt_gwroute = 0;
-       }
-       /*
-        * Cloning loop avoidance:
-        * In the presence of protocol-cloning and bad configuration,
-        * it is possible to get stuck in bottomless mutual recursion
-        * (rtrequest rt_setgate rtalloc1).  We avoid this by not allowing
-        * protocol-cloning to operate for gateways (which is probably the
-        * correct choice anyway), and avoid the resulting reference loops
-        * by disallowing any route to run through itself as a gateway.
-        * This is obviuosly mandatory when we get rt->rt_output().
-        */
-       if (rt->rt_flags & RTF_GATEWAY) {
-               rt->rt_gwroute = rtalloc1(gate, 1, RTF_PRCLONING);
-               if (rt->rt_gwroute == rt) {
-                       RTFREE(rt->rt_gwroute);
-                       rt->rt_gwroute = 0;
-                       return 1; /* failure */
-               }
-       }
-
-       /*
-        * This isn't going to do anything useful for host routes, so
-        * don't bother.  Also make sure we have a reasonable mask
-        * (we don't yet have one during adds).
-        */
-       if (!(rt->rt_flags & RTF_HOST) && rt_mask(rt) != 0) {
-               struct rtfc_arg arg;
-               arg.rnh = rnh;
-               arg.rt0 = rt;
-               rnh->rnh_walktree_from(rnh, rt_key(rt), rt_mask(rt),
-                                      rt_fixchange, &arg);
-       }
-
-       return 0;
-#endif
-       UNIMP;
-}
-
-void
-rt_maskedcopy(src, dst, netmask)
-       struct sockaddr *src, *dst, *netmask;
-{
-#if 0
-       register u_char *cp1 = (u_char *)src;
-       register u_char *cp2 = (u_char *)dst;
-       register u_char *cp3 = (u_char *)netmask;
-       u_char *cplim = cp2 + *cp3;
-       u_char *cplim2 = cp2 + *cp1;
-
-       *cp2++ = *cp1++; *cp2++ = *cp1++; /* copies sa_len & sa_family */
-       cp3 += 2;
-       if (cplim > cplim2)
-               cplim = cplim2;
-       while (cp2 < cplim)
-               *cp2++ = *cp1++ & *cp3++;
-       if (cp2 < cplim2)
-               bzero((caddr_t)cp2, (unsigned)(cplim2 - cp2));
-#endif
-       UNIMP;
-}
-
-/*
- * Set up a routing table entry, normally
- * for an interface.
- */
-int
-rtinit(ifa, cmd, flags)
-       register struct ifaddr *ifa;
-       int cmd, flags;
-{
-#if 0
-       register struct rtentry *rt;
-       register struct sockaddr *dst;
-       register struct sockaddr *deldst;
-       struct mbuf *m = 0;
-       struct rtentry *nrt = 0;
-       int error;
-
-       dst = flags & RTF_HOST ? ifa->ifa_dstaddr : ifa->ifa_addr;
-       if (cmd == RTM_DELETE) {
-               if ((flags & RTF_HOST) == 0 && ifa->ifa_netmask) {
-                       m = m_get(M_WAIT, MT_SONAME);
-                       deldst = mtod(m, struct sockaddr *);
-                       rt_maskedcopy(dst, deldst, ifa->ifa_netmask);
-                       dst = deldst;
-               }
-               rt = rtalloc1(dst, 0, 0UL);
-               if (rt) {
-                       rt->rt_refcnt--;
-                       if (rt->rt_ifa != ifa) {
-                               if (m)
-                                       (void) m_free(m);
-                               return (flags & RTF_HOST ? EHOSTUNREACH
-                                                       : ENETUNREACH);
-                       }
-               }
-       }
-       error = rtrequest(cmd, dst, ifa->ifa_addr, ifa->ifa_netmask,
-                       flags | ifa->ifa_flags, &nrt);
-       if (m)
-               (void) m_free(m);
-       if (cmd == RTM_DELETE && error == 0 && (rt = nrt)) {
-               rt_newaddrmsg(cmd, ifa, error, nrt);
-               if (rt->rt_refcnt <= 0) {
-                       rt->rt_refcnt++;
-                       rtfree(rt);
-               }
-       }
-       if (cmd == RTM_ADD && error == 0 && (rt = nrt)) {
-               rt->rt_refcnt--;
-               if (rt->rt_ifa != ifa) {
-                       printf("rtinit: wrong ifa (%p) was (%p)\n", ifa,
-                               rt->rt_ifa);
-                       if (rt->rt_ifa->ifa_rtrequest)
-                           rt->rt_ifa->ifa_rtrequest(RTM_DELETE, rt, SA(0));
-                       IFAFREE(rt->rt_ifa);
-                       rt->rt_ifa = ifa;
-                       rt->rt_ifp = ifa->ifa_ifp;
-                       ifa->ifa_refcnt++;
-                       if (ifa->ifa_rtrequest)
-                           ifa->ifa_rtrequest(RTM_ADD, rt, SA(0));
-               }
-               rt_newaddrmsg(cmd, ifa, error, nrt);
-       }
-       return (error);
-#endif
-       UNIMP;
-}
diff --git a/reactos/lib/oskittcp/oskittcp/rtsock.c b/reactos/lib/oskittcp/oskittcp/rtsock.c
deleted file mode 100644 (file)
index 51cc2ef..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 1988, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)rtsock.c    8.5 (Berkeley) 11/2/94
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/proc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/domain.h>
-#include <sys/protosw.h>
-
-#include <net/if.h>
-#include <net/route.h>
-#include <net/raw_cb.h>
-
-/*
- * This routine is called to generate a message from the routing
- * socket indicating that a redirect has occured, a routing lookup
- * has failed, or that a protocol has detected timeouts to a particular
- * destination.
- */
-void
-rt_missmsg(type, rtinfo, flags, error)
-       int type, flags, error;
-       register struct rt_addrinfo *rtinfo;
-{
-#if 0
-       register struct rt_msghdr *rtm;
-       register struct mbuf *m;
-       struct sockaddr *sa = rtinfo->rti_info[RTAX_DST];
-
-       if (route_cb.any_count == 0)
-               return;
-       m = rt_msg1(type, rtinfo);
-       if (m == 0)
-               return;
-       rtm = mtod(m, struct rt_msghdr *);
-       rtm->rtm_flags = RTF_DONE | flags;
-       rtm->rtm_errno = error;
-       rtm->rtm_addrs = rtinfo->rti_addrs;
-       route_proto.sp_protocol = sa ? sa->sa_family : 0;
-       raw_input(m, &route_proto, &route_src, &route_dst);
-#endif
-       panic("Unimplemented function\n");
-}
diff --git a/reactos/lib/oskittcp/oskittcp/scanc.c b/reactos/lib/oskittcp/oskittcp/scanc.c
deleted file mode 100644 (file)
index 491bd36..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)scanc.c     8.1 (Berkeley) 6/10/93
- *
- * $\Id: scanc.c,v 1.3 1995/03/17 06:15:39 phk Exp $
- */
-
-#include <sys/libkern.h>
-
-int
-scanc(size, cp, table, mask0)
-       u_int size;
-       register u_char *cp, table[];
-       int mask0;
-{
-       register u_char *end;
-       register u_char mask;
-
-       mask = mask0;
-       for (end = &cp[size]; cp < end && (table[*cp] & mask) == 0; ++cp);
-       return (end - cp);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/sleep.c b/reactos/lib/oskittcp/oskittcp/sleep.c
deleted file mode 100644 (file)
index 83bed68..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-#include <roscfg.h>
-#include <oskittcp.h>
-#include <ntddk.h>
-#include <sys/callout.h>
-#include <oskitfreebsd.h>
-#include <oskitdebug.h>
-
-typedef struct _SLEEPING_THREAD {
-    LIST_ENTRY Entry;
-    PVOID SleepToken;
-    KEVENT Event;
-} SLEEPING_THREAD, *PSLEEPING_THREAD;
-
-LIST_ENTRY SleepingThreadsList;
-KSPIN_LOCK SleepingThreadsLock;
-
-/* clock_init */
-int ncallout = 256;
-struct callout *callout;
-
-void init_freebsd_sched() {
-    KeInitializeSpinLock( &SleepingThreadsLock );
-    InitializeListHead( &SleepingThreadsList );    
-}
-
-void tsleep( void *token, int priority, char *wmesg, int tmio ) {
-    KIRQL OldIrql;
-    KEVENT Event;
-    PLIST_ENTRY Entry;
-    PSLEEPING_THREAD SleepingThread;
-    
-    OS_DbgPrint(OSK_MID_TRACE,
-               ("Called TSLEEP: tok = %x, pri = %d, wmesg = %s, tmio = %x\n",
-                token, priority, wmesg, tmio));
-
-    SleepingThread = ExAllocatePool( NonPagedPool, sizeof( *SleepingThread ) );
-    if( SleepingThread ) {
-       KeInitializeEvent( &SleepingThread->Event, NotificationEvent, FALSE );
-       SleepingThread->SleepToken = token;
-       ExInterlockedInsertTailList( &SleepingThreadsList,
-                                    &SleepingThread->Entry,
-                                    &SleepingThreadsLock );
-    }
-
-    OS_DbgPrint(OSK_MID_TRACE,("Waiting on %x\n", token));
-    KeWaitForSingleObject( &SleepingThread->Event,
-                          WrSuspended,
-                          KernelMode,
-                          TRUE,
-                          NULL );
-    OS_DbgPrint(OSK_MID_TRACE,("Waiting finished: %x\n", token));
-}
-
-void wakeup( void *token ) {
-    KIRQL OldIrql;
-    KEVENT Event;
-    PLIST_ENTRY Entry;
-    PSLEEPING_THREAD SleepingThread;
-    
-    OS_DbgPrint(OSK_MID_TRACE,("Wakeup %x!\n",token));
-
-    KeAcquireSpinLock( &SleepingThreadsLock, &OldIrql );
-    Entry = SleepingThreadsList.Flink;
-    while( Entry != &SleepingThreadsList ) {
-       SleepingThread = CONTAINING_RECORD(Entry, SLEEPING_THREAD, Entry);
-       if( SleepingThread->SleepToken == token ) {
-           RemoveEntryList(Entry);
-           KeReleaseSpinLock( &SleepingThreadsLock, OldIrql );
-           OS_DbgPrint(OSK_MID_TRACE,("Setting event to wake %x\n", token));
-           KeSetEvent( &SleepingThread->Event, IO_NO_INCREMENT, FALSE );
-           ExFreePool( SleepingThread );
-           return;
-       }
-       Entry = Entry->Flink;
-    }
-    KeReleaseSpinLock( &SleepingThreadsLock, OldIrql );
-    OS_DbgPrint(OSK_MID_TRACE,("Wakeup done %x\n", token));
-}
-
-/* ---------------------------------------------------------------------- */
-
-
-static void 
-timeout_init(void)
-{
-       int i;
-
-       callout = (struct callout *)
-           malloc(sizeof(struct callout) * ncallout, M_FREE, M_WAITOK);
-       if (!callout)
-               panic("can't allocate callout queue!\n");
-
-       /*
-        * Initialize callouts
-        */
-       callfree = callout;
-       for (i = 1; i < ncallout; i++)
-               callout[i-1].c_next = &callout[i];
-
-}
-
-/* get clock up and running */
-void clock_init()
-{
-       timeout_init();
-       /* inittodr(0); // what does this do? */
-       boottime = time;
-       /* Start a clock we can use for timeouts */
-}
-
-
-extern unsigned bio_imask;     /* group of interrupts masked with splbio() */
-extern unsigned cpl;           /* current priority level mask */
-extern volatile unsigned idelayed;     /* interrupts to become pending */
-extern volatile unsigned ipending;     /* active interrupts masked by cpl */
-extern unsigned net_imask;     /* group of interrupts masked with splimp() */
-extern unsigned stat_imask;    /* interrupts masked with splstatclock() */
-extern unsigned tty_imask;     /* group of interrupts masked with spltty() */
-
-/*
- * ipending has to be volatile so that it is read every time it is accessed
- * in splx() and spl0(), but we don't want it to be read nonatomically when
- * it is changed.  Pretending that ipending is a plain int happens to give
- * suitable atomic code for "ipending |= constant;".
- */
-#define        setdelayed()    (*(unsigned *)&ipending |= loadandclear(&idelayed))
-#define        setsoftast()    (*(unsigned *)&ipending |= SWI_AST_PENDING)
-#define        setsoftclock()  (*(unsigned *)&ipending |= SWI_CLOCK_PENDING)
-#define        setsoftnet()    (*(unsigned *)&ipending |= SWI_NET_PENDING)
-#define        setsofttty()    (*(unsigned *)&ipending |= SWI_TTY_PENDING)
-
-#define        schedsofttty()  (*(unsigned *)&idelayed |= SWI_TTY_PENDING)
-
-#define        GENSPL(name, set_cpl) \
-static __inline int name(void)                 \
-{                                              \
-       unsigned x;                             \
-                                               \
-       __asm __volatile("" : : : "memory");    \
-       x = cpl;                                \
-       set_cpl;                                \
-       return (x);                             \
-}
-
-#if 0
-GENSPL(splbio, cpl |= bio_imask)
-GENSPL(splclock, cpl = HWI_MASK | SWI_MASK)
-GENSPL(splhigh, cpl = HWI_MASK | SWI_MASK)
-GENSPL(splimp, cpl |= net_imask)
-GENSPL(splnet, cpl |= SWI_NET_MASK)
-GENSPL(splsoftclock, cpl = SWI_CLOCK_MASK)
-GENSPL(splsofttty, cpl |= SWI_TTY_MASK)
-GENSPL(splstatclock, cpl |= stat_imask)
-GENSPL(spltty, cpl |= tty_imask)
-#endif
-
-#if 0
-void spl0(void) {
-    cpl = SWI_AST_MASK;
-    if (ipending & ~SWI_AST_MASK)
-       splz();
-}
-
-void splx(int ipl) {
-    cpl = ipl;
-    if (ipending & ~ipl)
-       splz();
-}
-#endif
-
-void splz(void) {
-    OS_DbgPrint(OSK_MID_TRACE,("Called SPLZ\n"));
-}
-
-/*
- * functions to save and restore the current cpl
- */
-void save_cpl(unsigned *x) 
-{
-    *x = cpl;
-}
-
-void restore_cpl(unsigned x) 
-{
-    cpl = x;
-}
-
-void selrecord( struct proc *selector, struct selinfo *sip) {
-    OS_DbgPrint(OSK_MID_TRACE,("Called selrecord\n"));
-}
-
-void wakeupsocket( struct socket *so, struct selinfo *sel ) {
-    void *connection = so->so_connection;
-    char *data = 0;
-    int datalen = 0;
-    int flags = 0;
-    
-    OS_DbgPrint(OSK_MID_TRACE,("Wakeup: %x\n", so));
-#if 0
-    if( soreceive(so, &paddr, 0, &mp0, &controlp, flags) == 0 ) {
-       /* We have data available */
-       OS_DbgPrint(OSK_MID_TRACE,("Data available on %x\n", so));
-    }
-#endif
-}
-
-void selwakeup( struct selinfo *sel ) {
-    OS_DbgPrint(OSK_MID_TRACE,("Called selwakeup\n"));
-}
diff --git a/reactos/lib/oskittcp/oskittcp/tcp_debug.c b/reactos/lib/oskittcp/oskittcp/tcp_debug.c
deleted file mode 100644 (file)
index 5d48032..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_debug.c 8.1 (Berkeley) 6/10/93
- */
-
-#ifdef TCPDEBUG
-/* load symbolic names */
-#define PRUREQUESTS
-#define TCPSTATES
-#define        TCPTIMERS
-#define        TANAMES
-#endif
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/protosw.h>
-#include <sys/errno.h>
-#include <sys/queue.h>
-
-#include <net/route.h>
-#include <net/if.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-#include <netinet/tcp_debug.h>
-
-#ifdef TCPDEBUG
-int    tcpconsdebug = 0;
-#endif
-/*
- * Tcp debug routines
- */
-void
-tcp_trace(act, ostate, tp, ti, req)
-       short act, ostate;
-       struct tcpcb *tp;
-       struct tcpiphdr *ti;
-       int req;
-{
-       tcp_seq seq, ack;
-       int len, flags;
-       struct tcp_debug *td = &tcp_debug[tcp_debx++];
-
-       if (tcp_debx == TCP_NDEBUG)
-               tcp_debx = 0;
-       td->td_time = iptime();
-       td->td_act = act;
-       td->td_ostate = ostate;
-       td->td_tcb = (caddr_t)tp;
-       if (tp)
-               td->td_cb = *tp;
-       else
-               bzero((caddr_t)&td->td_cb, sizeof (*tp));
-       if (ti)
-               td->td_ti = *ti;
-       else
-               bzero((caddr_t)&td->td_ti, sizeof (*ti));
-       td->td_req = req;
-#ifdef TCPDEBUG
-       if (tcpconsdebug == 0)
-               return;
-       if (tp)
-               printf("%p %s:", tp, tcpstates[ostate]);
-       else
-               printf("???????? ");
-       printf("%s ", tanames[act]);
-       switch (act) {
-
-       case TA_INPUT:
-       case TA_OUTPUT:
-       case TA_DROP:
-               if (ti == 0)
-                       break;
-               seq = ti->ti_seq;
-               ack = ti->ti_ack;
-               len = ti->ti_len;
-               if (act == TA_OUTPUT) {
-                       seq = ntohl(seq);
-                       ack = ntohl(ack);
-                       len = ntohs((u_short)len);
-               }
-               if (act == TA_OUTPUT)
-                       len -= sizeof (struct tcphdr);
-               if (len)
-                       printf("[%x..%x)", seq, seq+len);
-               else
-                       printf("%x", seq);
-               printf("@%x, urp=%x", ack, ti->ti_urp);
-               flags = ti->ti_flags;
-               if (flags) {
-                       char *cp = "<";
-#define pf(f) {                                        \
-       if (ti->ti_flags & TH_##f) {            \
-               printf("%s%s", cp, #f);         \
-               cp = ",";                       \
-       }                                       \
-}
-                       pf(SYN); pf(ACK); pf(FIN); pf(RST); pf(PUSH); pf(URG);
-                       printf(">");
-               }
-               break;
-
-       case TA_USER:
-               printf("%s", prurequests[req&0xff]);
-               if ((req & 0xff) == PRU_SLOWTIMO)
-                       printf("<%s>", tcptimers[req>>8]);
-               break;
-       }
-       if (tp)
-               printf(" -> %s", tcpstates[tp->t_state]);
-       /* print out internal state of tp !?! */
-       printf("\n");
-       if (tp == 0)
-               return;
-       printf("\trcv_(nxt,wnd,up) (%x,%x,%x) snd_(una,nxt,max) (%x,%x,%x)\n",
-           tp->rcv_nxt, tp->rcv_wnd, tp->rcv_up, tp->snd_una, tp->snd_nxt,
-           tp->snd_max);
-       printf("\tsnd_(wl1,wl2,wnd) (%x,%x,%x)\n",
-           tp->snd_wl1, tp->snd_wl2, tp->snd_wnd);
-#endif /* TCPDEBUG */
-}
diff --git a/reactos/lib/oskittcp/oskittcp/tcp_input.c b/reactos/lib/oskittcp/oskittcp/tcp_input.c
deleted file mode 100644 (file)
index 260b695..0000000
+++ /dev/null
@@ -1,2160 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1990, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     From: @(#)tcp_input.c   8.5 (Berkeley) 4/10/94
- */
-
-#ifndef TUBA_INCLUDE
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/errno.h>
-#include <sys/queue.h>
-#include <sys/kernel.h>
-
-#include <net/if.h>
-#include <net/route.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-#ifdef TCPDEBUG
-#include <netinet/tcp_debug.h>
-struct tcpiphdr tcp_saveti;
-#endif
-
-int    tcprexmtthresh = 3;
-tcp_seq        tcp_iss;
-tcp_cc tcp_ccgen;
-struct tcpstat tcpstat;
-u_long tcp_now;
-struct inpcbhead tcb;
-struct inpcbinfo tcbinfo;
-
-#endif /* TUBA_INCLUDE */
-
-/*
- * Insert segment ti into reassembly queue of tcp with
- * control block tp.  Return TH_FIN if reassembly now includes
- * a segment with FIN.  The macro form does the common case inline
- * (segment is the next to be received on an established connection,
- * and the queue is empty), avoiding linkage into and removal
- * from the queue and repetition of various conversions.
- * Set DELACK for segments received in order, but ack immediately
- * when segments are out of order (so fast retransmit can work).
- */
-#ifdef TCP_ACK_HACK
-#define        TCP_REASS(tp, ti, m, so, flags) { \
-       if ((ti)->ti_seq == (tp)->rcv_nxt && \
-           (tp)->seg_next == (struct tcpiphdr *)(tp) && \
-           (tp)->t_state == TCPS_ESTABLISHED) { \
-               if (ti->ti_flags & TH_PUSH) \
-                       tp->t_flags |= TF_ACKNOW; \
-               else \
-                       tp->t_flags |= TF_DELACK; \
-               (tp)->rcv_nxt += (ti)->ti_len - IPHDR_SIZE; \
-                OS_DbgPrint(OSK_MID_TRACE,("Added %d to rcv_nxt\n", \
-                                           (ti)->ti_len - IPHDR_SIZE)); \
-               flags = (ti)->ti_flags & TH_FIN; \
-               tcpstat.tcps_rcvpack++;\
-               tcpstat.tcps_rcvbyte += (ti)->ti_len;\
-               sbappend(so, &(so)->so_rcv, (m)); \
-               sorwakeup(so); \
-       } else { \
-               (flags) = tcp_reass((tp), (ti), (m)); \
-               tp->t_flags |= TF_ACKNOW; \
-       } \
-}
-#else
-#define        TCP_REASS(tp, ti, m, so, flags) { \
-       if ((ti)->ti_seq == (tp)->rcv_nxt && \
-           (tp)->seg_next == (struct tcpiphdr *)(tp) && \
-           (tp)->t_state == TCPS_ESTABLISHED) { \
-               tp->t_flags |= TF_DELACK; \
-               (tp)->rcv_nxt += (ti)->ti_len - IPHDR_SIZE; \
-                OS_DbgPrint(OSK_MID_TRACE,("Added %d to rcv_nxt\n", \
-                                           (ti)->ti_len - IPHDR_SIZE)); \
-               flags = (ti)->ti_flags & TH_FIN; \
-               tcpstat.tcps_rcvpack++;\
-               tcpstat.tcps_rcvbyte += (ti)->ti_len;\
-               sbappend(so, &(so)->so_rcv, (m)); \
-               sorwakeup(so); \
-       } else { \
-               (flags) = tcp_reass((tp), (ti), (m)); \
-               tp->t_flags |= TF_ACKNOW; \
-       } \
-}
-#endif
-#ifndef TUBA_INCLUDE
-
-int
-tcp_reass(tp, ti, m)
-       register struct tcpcb *tp;
-       register struct tcpiphdr *ti;
-       struct mbuf *m;
-{
-       register struct tcpiphdr *q;
-       struct socket *so = tp->t_inpcb->inp_socket;
-       int flags;
-
-       /*
-        * Call with ti==0 after become established to
-        * force pre-ESTABLISHED data up to user socket.
-        */
-       if (ti == 0)
-               goto present;
-
-       /*
-        * Find a segment which begins after this one does.
-        */
-       for (q = tp->seg_next; q != (struct tcpiphdr *)tp;
-           q = (struct tcpiphdr *)q->ti_next)
-               if (SEQ_GT(q->ti_seq, ti->ti_seq))
-                       break;
-
-       /*
-        * If there is a preceding segment, it may provide some of
-        * our data already.  If so, drop the data from the incoming
-        * segment.  If it provides all of our data, drop us.
-        */
-       if ((struct tcpiphdr *)q->ti_prev != (struct tcpiphdr *)tp) {
-               register int i;
-               q = (struct tcpiphdr *)q->ti_prev;
-               /* conversion to int (in i) handles seq wraparound */
-               i = q->ti_seq + q->ti_len - ti->ti_seq;
-               if (i > 0) {
-                       if (i >= ti->ti_len) {
-                               tcpstat.tcps_rcvduppack++;
-                               tcpstat.tcps_rcvdupbyte += ti->ti_len;
-                               m_freem(m);
-                               /*
-                                * Try to present any queued data
-                                * at the left window edge to the user.
-                                * This is needed after the 3-WHS
-                                * completes.
-                                */
-                               goto present;   /* ??? */
-                       }
-                       m_adj(m, i);
-                       ti->ti_len -= i;
-                       ti->ti_seq += i;
-               }
-               q = (struct tcpiphdr *)(q->ti_next);
-       }
-       tcpstat.tcps_rcvoopack++;
-       tcpstat.tcps_rcvoobyte += ti->ti_len;
-       REASS_MBUF(ti) = m;             /* XXX */
-
-       /*
-        * While we overlap succeeding segments trim them or,
-        * if they are completely covered, dequeue them.
-        */
-       while (q != (struct tcpiphdr *)tp) {
-               register int i = (ti->ti_seq + ti->ti_len) - q->ti_seq;
-               if (i <= 0)
-                       break;
-               if (i < q->ti_len) {
-                       q->ti_seq += i;
-                       q->ti_len -= i;
-                       m_adj(REASS_MBUF(q), i);
-                       break;
-               }
-               q = (struct tcpiphdr *)q->ti_next;
-               m = REASS_MBUF((struct tcpiphdr *)q->ti_prev);
-               remque(q->ti_prev);
-               m_freem(m);
-       }
-
-       /*
-        * Stick new segment in its place.
-        */
-       insque(ti, q->ti_prev);
-
-present:
-       /*
-        * Present data to user, advancing rcv_nxt through
-        * completed sequence space.
-        */
-       if (!TCPS_HAVEESTABLISHED(tp->t_state))
-               return (0);
-       ti = tp->seg_next;
-       if (ti == (struct tcpiphdr *)tp || ti->ti_seq != tp->rcv_nxt)
-               return (0);
-       do {
-               tp->rcv_nxt += ti->ti_len;
-               OS_DbgPrint(OSK_MID_TRACE,("Added %d to rcv_nxt\n",
-                                          ti->ti_len));
-               flags = ti->ti_flags & TH_FIN;
-               remque(ti);
-               m = REASS_MBUF(ti);
-               ti = (struct tcpiphdr *)ti->ti_next;
-               if (so->so_state & SS_CANTRCVMORE)
-                   m_freem(m);
-               else
-                       sbappend(so, &so->so_rcv, m);
-       } while (ti != (struct tcpiphdr *)tp && ti->ti_seq == tp->rcv_nxt);
-       sorwakeup(so);
-       return (flags);
-}
-
-/*
- * TCP input routine, follows pages 65-76 of the
- * protocol specification dated September, 1981 very closely.
- */
-void
-tcp_input(m, iphlen)
-       register struct mbuf *m;
-       int iphlen;
-{
-       register struct tcpiphdr *ti;
-       register struct inpcb *inp;
-       caddr_t optp = NULL;
-       int optlen = 0;
-       int len, tlen, off;
-       register struct tcpcb *tp = 0;
-       register int tiflags;
-       struct socket *so = 0;
-       int todrop, acked, ourfinisacked, needoutput = 0;
-       struct in_addr laddr;
-       int dropsocket = 0;
-       int iss = 0;
-       u_long tiwin;
-       struct tcpopt to;               /* options in this segment */
-       struct rmxp_tao *taop;          /* pointer to our TAO cache entry */
-       struct rmxp_tao tao_noncached;  /* in case there's no cached entry */
-#ifdef TCPDEBUG
-       short ostate = 0;
-#endif
-
-       bzero((char *)&to, sizeof(to));
-
-       tcpstat.tcps_rcvtotal++;
-       /*
-        * Get IP and TCP header together in first mbuf.
-        * Note: IP leaves IP header in first mbuf.
-        */
-       ti = mtod(m, struct tcpiphdr *);
-       if (iphlen > sizeof (struct ip))
-               ip_stripoptions(m, (struct mbuf *)0);
-       if (m->m_len < sizeof (struct tcpiphdr)) {
-               if ((m = m_pullup(m, sizeof (struct tcpiphdr))) == 0) {
-                       tcpstat.tcps_rcvshort++;
-                       return;
-               }
-               ti = mtod(m, struct tcpiphdr *);
-       }
-
-       /*
-        * Checksum extended TCP header and data.
-        */
-       tlen = ntohs(((struct ip *)ti)->ip_len);
-       len = sizeof (struct ip);
-       OS_DbgPrint(OSK_MID_TRACE,("tlen = %x, len = %x, m_len = %d\n", tlen, len, m->m_len));
-       OS_DbgPrint(OSK_MID_TRACE,("ti->ti_len = %x\n", htons(ti->ti_len)));
-       ti->ti_sum = in_cksum(m, len);
-       OskitDumpBuffer(m->m_data, len);
-       ti->ti_next = ti->ti_prev = 0;
-       ti->ti_x1 = 0;
-       if (ti->ti_sum) {
-               tcpstat.tcps_rcvbadsum++;
-               OS_DbgPrint(OSK_MID_TRACE,("Dropping packet due to bad csum (%x)\n", ti->ti_sum));
-               goto drop;
-       }
-       ti->ti_len = htons((u_short)tlen);
-#endif /* TUBA_INCLUDE */
-
-       /*
-        * Check that TCP offset makes sense,
-        * pull out TCP options and adjust length.              XXX
-        */
-       off = ti->ti_off << 2;
-       if (off < sizeof (struct tcphdr) || off > tlen) {
-               tcpstat.tcps_rcvbadoff++;
-               goto drop;
-       }
-       tlen -= off;
-       ti->ti_len = tlen;
-       if (off > sizeof (struct tcphdr)) {
-               if (m->m_len < sizeof(struct ip) + off) {
-                       if ((m = m_pullup(m, sizeof (struct ip) + off)) == 0) {
-                               tcpstat.tcps_rcvshort++;
-                               return;
-                       }
-                       ti = mtod(m, struct tcpiphdr *);
-               }
-               optlen = off - sizeof (struct tcphdr);
-               optp = mtod(m, caddr_t) + sizeof (struct tcpiphdr);
-       }
-       tiflags = ti->ti_flags;
-
-       /*
-        * Convert TCP protocol specific fields to host format.
-        */
-       NTOHL(ti->ti_seq);
-       NTOHL(ti->ti_ack);
-       NTOHS(ti->ti_win);
-       NTOHS(ti->ti_urp);
-
-       /*
-        * Drop TCP, IP headers and TCP options.
-        */
-       m->m_data += sizeof(struct tcpiphdr)+off-sizeof(struct tcphdr);
-       m->m_len  -= sizeof(struct tcpiphdr)+off-sizeof(struct tcphdr);
-
-       /*
-        * Locate pcb for segment.
-        */
-findpcb:
-       /*
-        * First look for an exact match.
-        */
-       inp = in_pcblookuphash(&tcbinfo, ti->ti_src, ti->ti_sport,
-           ti->ti_dst, ti->ti_dport);
-       /*
-        * ...and if that fails, do a wildcard search.
-        */
-       if (inp == NULL) {
-               inp = in_pcblookup(&tcb, ti->ti_src, ti->ti_sport,
-                   ti->ti_dst, ti->ti_dport, INPLOOKUP_WILDCARD);
-       }
-
-       /*
-        * If the state is CLOSED (i.e., TCB does not exist) then
-        * all data in the incoming segment is discarded.
-        * If the TCB exists but is in CLOSED state, it is embryonic,
-        * but should either do a listen or a connect soon.
-        */
-       if (inp == NULL)
-               goto dropwithreset;
-       tp = intotcpcb(inp);
-       if (tp == 0)
-               goto dropwithreset;
-       if (tp->t_state == TCPS_CLOSED)
-               goto drop;
-
-       /* Unscale the window into a 32-bit value. */
-       if ((tiflags & TH_SYN) == 0)
-               tiwin = ti->ti_win << tp->snd_scale;
-       else
-               tiwin = ti->ti_win;
-
-       so = inp->inp_socket;
-       if (so->so_options & (SO_DEBUG|SO_ACCEPTCONN)) {
-#ifdef TCPDEBUG
-               if (so->so_options & SO_DEBUG) {
-                       ostate = tp->t_state;
-                       tcp_saveti = *ti;
-               }
-#endif
-               if (so->so_options & SO_ACCEPTCONN) {
-                       register struct tcpcb *tp0 = tp;
-                       struct socket *so2;
-                       if ((tiflags & (TH_RST|TH_ACK|TH_SYN)) != TH_SYN) {
-                               /*
-                                * Note: dropwithreset makes sure we don't
-                                * send a RST in response to a RST.
-                                */
-                               if (tiflags & TH_ACK) {
-                                       tcpstat.tcps_badsyn++;
-                                       goto dropwithreset;
-                               }
-                               goto drop;
-                       }
-                       so2 = sonewconn(so, 0);
-                       if (so2 == 0) {
-                               unsigned int i, j, qlen;
-
-                               static int rnd;
-                               static long old_mono_secs;
-                               static unsigned int cur_cnt, old_cnt;
-
-                               tcpstat.tcps_listendrop++;
-
-                               /*
-                                * Keep a decaying average of the number
-                                * of overruns we've been getting.
-                                */
-                               if ((i = (mono_time.tv_sec -
-                                         old_mono_secs)) != 0) {
-                                       old_mono_secs = mono_time.tv_sec;
-                                       old_cnt = cur_cnt / i;
-                                       cur_cnt = 0;
-                               }
-
-                               so2 = so->so_q0;
-                               if (so2 == 0)
-                                       goto drop;
-
-                               /*
-                                * If we've been getting a lot of hits,
-                                * random drop an incomplete connection
-                                * from the queue, otherwise, fall through
-                                * so we head-drop from the queue.
-                                */
-                               qlen = so->so_q0len;
-                               if (++cur_cnt > qlen || old_cnt > qlen) {
-                                       rnd = (314159 * rnd + 66329) & 0xffff;
-                                       j = ((qlen + 1) * rnd) >> 16;
-
-                                       while (j-- && so2)
-                                               so2 = so2->so_q0;
-                               }
-                               if (so2) {
-                                       tcp_drop(sototcpcb(so2), ETIMEDOUT);
-                                       so2 = sonewconn(so, 0);
-                               }
-                               if (!so2)
-                                       goto drop;
-                       }
-                       so = so2;
-                       /*
-                        * This is ugly, but ....
-                        *
-                        * Mark socket as temporary until we're
-                        * committed to keeping it.  The code at
-                        * ``drop'' and ``dropwithreset'' check the
-                        * flag dropsocket to see if the temporary
-                        * socket created here should be discarded.
-                        * We mark the socket as discardable until
-                        * we're committed to it below in TCPS_LISTEN.
-                        */
-                       dropsocket++;
-                       inp = (struct inpcb *)so->so_pcb;
-                       inp->inp_laddr = ti->ti_dst;
-                       inp->inp_lport = ti->ti_dport;
-                       in_pcbrehash(inp);
-#if BSD>=43
-                       inp->inp_options = ip_srcroute();
-#endif
-                       tp = intotcpcb(inp);
-                       tp->t_state = TCPS_LISTEN;
-                       tp->t_flags |= tp0->t_flags & (TF_NOPUSH|TF_NOOPT);
-
-                       /* Compute proper scaling value from buffer space */
-                       while (tp->request_r_scale < TCP_MAX_WINSHIFT &&
-                          TCP_MAXWIN << tp->request_r_scale < so->so_rcv.sb_hiwat)
-                               tp->request_r_scale++;
-               }
-       }
-
-       /*
-        * Segment received on connection.
-        * Reset idle time and keep-alive timer.
-        */
-       tp->t_idle = 0;
-       if (TCPS_HAVEESTABLISHED(tp->t_state))
-               tp->t_timer[TCPT_KEEP] = tcp_keepidle;
-
-       /*
-        * Process options if not in LISTEN state,
-        * else do it below (after getting remote address).
-        */
-       if (tp->t_state != TCPS_LISTEN)
-               tcp_dooptions(tp, optp, optlen, ti, &to);
-
-       /*
-        * Header prediction: check for the two common cases
-        * of a uni-directional data xfer.  If the packet has
-        * no control flags, is in-sequence, the window didn't
-        * change and we're not retransmitting, it's a
-        * candidate.  If the length is zero and the ack moved
-        * forward, we're the sender side of the xfer.  Just
-        * free the data acked & wake any higher level process
-        * that was blocked waiting for space.  If the length
-        * is non-zero and the ack didn't move, we're the
-        * receiver side.  If we're getting packets in-order
-        * (the reassembly queue is empty), add the data to
-        * the socket buffer and note that we need a delayed ack.
-        * Make sure that the hidden state-flags are also off.
-        * Since we check for TCPS_ESTABLISHED above, it can only
-        * be TH_NEEDSYN.
-        */
-       if (tp->t_state == TCPS_ESTABLISHED &&
-           (tiflags & (TH_SYN|TH_FIN|TH_RST|TH_URG|TH_ACK)) == TH_ACK &&
-           ((tp->t_flags & (TF_NEEDSYN|TF_NEEDFIN)) == 0) &&
-           ((to.to_flag & TOF_TS) == 0 ||
-            TSTMP_GEQ(to.to_tsval, tp->ts_recent)) &&
-           /*
-            * Using the CC option is compulsory if once started:
-            *   the segment is OK if no T/TCP was negotiated or
-            *   if the segment has a CC option equal to CCrecv
-            */
-           ((tp->t_flags & (TF_REQ_CC|TF_RCVD_CC)) != (TF_REQ_CC|TF_RCVD_CC) ||
-            (to.to_flag & TOF_CC) != 0 && to.to_cc == tp->cc_recv) &&
-           ti->ti_seq == tp->rcv_nxt &&
-           tiwin && tiwin == tp->snd_wnd &&
-           tp->snd_nxt == tp->snd_max) {
-
-               /*
-                * If last ACK falls within this segment's sequence numbers,
-                * record the timestamp.
-                * NOTE that the test is modified according to the latest
-                * proposal of the tcplw@cray.com list (Braden 1993/04/26).
-                */
-               if ((to.to_flag & TOF_TS) != 0 &&
-                  SEQ_LEQ(ti->ti_seq, tp->last_ack_sent)) {
-                       tp->ts_recent_age = tcp_now;
-                       tp->ts_recent = to.to_tsval;
-               }
-
-               if (ti->ti_len == 0) {
-                       if (SEQ_GT(ti->ti_ack, tp->snd_una) &&
-                           SEQ_LEQ(ti->ti_ack, tp->snd_max) &&
-                           tp->snd_cwnd >= tp->snd_wnd) {
-                               /*
-                                * this is a pure ack for outstanding data.
-                                */
-                               ++tcpstat.tcps_predack;
-                               if ((to.to_flag & TOF_TS) != 0)
-                                       tcp_xmit_timer(tp,
-                                           tcp_now - to.to_tsecr + 1);
-                               else if (tp->t_rtt &&
-                                           SEQ_GT(ti->ti_ack, tp->t_rtseq))
-                                       tcp_xmit_timer(tp, tp->t_rtt);
-                               acked = ti->ti_ack - tp->snd_una;
-                               tcpstat.tcps_rcvackpack++;
-                               tcpstat.tcps_rcvackbyte += acked;
-                               sbdrop(&so->so_snd, acked);
-                               tp->snd_una = ti->ti_ack;
-                               m_freem(m);
-
-                               /*
-                                * If all outstanding data are acked, stop
-                                * retransmit timer, otherwise restart timer
-                                * using current (possibly backed-off) value.
-                                * If process is waiting for space,
-                                * wakeup/selwakeup/signal.  If data
-                                * are ready to send, let tcp_output
-                                * decide between more output or persist.
-                                */
-                               if (tp->snd_una == tp->snd_max)
-                                       tp->t_timer[TCPT_REXMT] = 0;
-                               else if (tp->t_timer[TCPT_PERSIST] == 0)
-                                       tp->t_timer[TCPT_REXMT] = tp->t_rxtcur;
-
-                               if (so->so_snd.sb_flags & SB_NOTIFY)
-                                       sowwakeup(so);
-                               if (so->so_snd.sb_cc)
-                                       (void) tcp_output(tp);
-                               return;
-                       }
-               } else if (ti->ti_ack == tp->snd_una &&
-                   tp->seg_next == (struct tcpiphdr *)tp &&
-                   ti->ti_len <= sbspace(&so->so_rcv)) {
-                       /*
-                        * this is a pure, in-sequence data packet
-                        * with nothing on the reassembly queue and
-                        * we have enough buffer space to take it.
-                        */
-                       ++tcpstat.tcps_preddat;
-                       tp->rcv_nxt += ti->ti_len;
-                       OS_DbgPrint(OSK_MID_TRACE,("Added %d to rcv_nxt\n",
-                                                  ti->ti_len));
-                       tcpstat.tcps_rcvpack++;
-                       tcpstat.tcps_rcvbyte += ti->ti_len;
-                       /*
-                        * Add data to socket buffer.
-                        */
-                       sbappend(so, &so->so_rcv, m);
-                       sorwakeup(so);
-#ifdef TCP_ACK_HACK
-                       /*
-                        * If this is a short packet, then ACK now - with Nagel
-                        *      congestion avoidance sender won't send more until
-                        *      he gets an ACK.
-                        */
-                       if (tiflags & TH_PUSH) {
-                               tp->t_flags |= TF_ACKNOW;
-                               tcp_output(tp);
-                       } else {
-                               tp->t_flags |= TF_DELACK;
-                       }
-#else
-                       tp->t_flags |= TF_DELACK;
-#endif
-                       return;
-               }
-       }
-
-       /*
-        * Calculate amount of space in receive window,
-        * and then do TCP input processing.
-        * Receive window is amount of space in rcv queue,
-        * but not less than advertised window.
-        */
-       { int win;
-
-       win = sbspace(&so->so_rcv);
-       if (win < 0)
-               win = 0;
-       tp->rcv_wnd = max(win, (int)(tp->rcv_adv - tp->rcv_nxt));
-       }
-
-       switch (tp->t_state) {
-
-       /*
-        * If the state is LISTEN then ignore segment if it contains an RST.
-        * If the segment contains an ACK then it is bad and send a RST.
-        * If it does not contain a SYN then it is not interesting; drop it.
-        * Don't bother responding if the destination was a broadcast.
-        * Otherwise initialize tp->rcv_nxt, and tp->irs, select an initial
-        * tp->iss, and send a segment:
-        *     <SEQ=ISS><ACK=RCV_NXT><CTL=SYN,ACK>
-        * Also initialize tp->snd_nxt to tp->iss+1 and tp->snd_una to tp->iss.
-        * Fill in remote peer address fields if not previously specified.
-        * Enter SYN_RECEIVED state, and process any other fields of this
-        * segment in this state.
-        */
-       case TCPS_LISTEN: {
-               struct mbuf *am;
-               register struct sockaddr_in *sin;
-
-               if (tiflags & TH_RST)
-                       goto drop;
-               if (tiflags & TH_ACK)
-                       goto dropwithreset;
-               if ((tiflags & TH_SYN) == 0)
-                       goto drop;
-               /*
-                * RFC1122 4.2.3.10, p. 104: discard bcast/mcast SYN
-                * in_broadcast() should never return true on a received
-                * packet with M_BCAST not set.
-                */
-               if (m->m_flags & (M_BCAST|M_MCAST) ||
-                   IN_MULTICAST(ntohl(ti->ti_dst.s_addr)))
-                       goto drop;
-               am = m_get(M_DONTWAIT, MT_SONAME);      /* XXX */
-               if (am == NULL)
-                       goto drop;
-               am->m_len = sizeof (struct sockaddr_in);
-               sin = mtod(am, struct sockaddr_in *);
-               sin->sin_family = AF_INET;
-               /*sin->sin_len = sizeof(*sin); */
-               sin->sin_addr = ti->ti_src;
-               sin->sin_port = ti->ti_sport;
-               bzero((caddr_t)sin->sin_zero, sizeof(sin->sin_zero));
-               laddr = inp->inp_laddr;
-               if (inp->inp_laddr.s_addr == INADDR_ANY)
-                       inp->inp_laddr = ti->ti_dst;
-               if (in_pcbconnect(inp, am)) {
-                       inp->inp_laddr = laddr;
-                       /*(void) m_free(am);*/
-                       goto drop;
-               }
-               /*(void) m_free(am);*/
-               tp->t_template = tcp_template(tp);
-               if (tp->t_template == 0) {
-                       tp = tcp_drop(tp, ENOBUFS);
-                       dropsocket = 0;         /* socket is already gone */
-                       goto drop;
-               }
-               if ((taop = tcp_gettaocache(inp)) == NULL) {
-                       taop = &tao_noncached;
-                       bzero(taop, sizeof(*taop));
-               }
-               tcp_dooptions(tp, optp, optlen, ti, &to);
-               if (iss)
-                       tp->iss = iss;
-               else
-                       tp->iss = tcp_iss;
-               tcp_iss += TCP_ISSINCR/2;
-               tp->irs = ti->ti_seq;
-               tcp_sendseqinit(tp);
-               tcp_rcvseqinit(tp);
-               /*
-                * Initialization of the tcpcb for transaction;
-                *   set SND.WND = SEG.WND,
-                *   initialize CCsend and CCrecv.
-                */
-               tp->snd_wnd = tiwin;    /* initial send-window */
-               tp->cc_send = CC_INC(tcp_ccgen);
-               tp->cc_recv = to.to_cc;
-               /*
-                * Perform TAO test on incoming CC (SEG.CC) option, if any.
-                * - compare SEG.CC against cached CC from the same host,
-                *      if any.
-                * - if SEG.CC > chached value, SYN must be new and is accepted
-                *      immediately: save new CC in the cache, mark the socket
-                *      connected, enter ESTABLISHED state, turn on flag to
-                *      send a SYN in the next segment.
-                *      A virtual advertised window is set in rcv_adv to
-                *      initialize SWS prevention.  Then enter normal segment
-                *      processing: drop SYN, process data and FIN.
-                * - otherwise do a normal 3-way handshake.
-                */
-               if ((to.to_flag & TOF_CC) != 0) {
-                   if (taop->tao_cc != 0 && CC_GT(to.to_cc, taop->tao_cc)) {
-                       taop->tao_cc = to.to_cc;
-                       tp->t_state = TCPS_ESTABLISHED;
-
-                       /*
-                        * If there is a FIN, or if there is data and the
-                        * connection is local, then delay SYN,ACK(SYN) in
-                        * the hope of piggy-backing it on a response
-                        * segment.  Otherwise must send ACK now in case
-                        * the other side is slow starting.
-                        */
-                       if ((tiflags & TH_FIN) || (ti->ti_len != 0 &&
-                           in_localaddr(inp->inp_faddr)))
-                               tp->t_flags |= (TF_DELACK | TF_NEEDSYN);
-                       else
-                               tp->t_flags |= (TF_ACKNOW | TF_NEEDSYN);
-
-                       /*
-                        * Limit the `virtual advertised window' to TCP_MAXWIN
-                        * here.  Even if we requested window scaling, it will
-                        * become effective only later when our SYN is acked.
-                        */
-                       tp->rcv_adv += min(tp->rcv_wnd, TCP_MAXWIN);
-                       tcpstat.tcps_connects++;
-                       soisconnected(so);
-                       tp->t_timer[TCPT_KEEP] = tcp_keepinit;
-                       dropsocket = 0;         /* committed to socket */
-                       tcpstat.tcps_accepts++;
-                       goto trimthenstep6;
-                   }
-               /* else do standard 3-way handshake */
-               } else {
-                   /*
-                    * No CC option, but maybe CC.NEW:
-                    *   invalidate cached value.
-                    */
-                    taop->tao_cc = 0;
-               }
-               /*
-                * TAO test failed or there was no CC option,
-                *    do a standard 3-way handshake.
-                */
-               tp->t_flags |= TF_ACKNOW;
-               tp->t_state = TCPS_SYN_RECEIVED;
-               tp->t_timer[TCPT_KEEP] = tcp_keepinit;
-               dropsocket = 0;         /* committed to socket */
-               tcpstat.tcps_accepts++;
-               goto trimthenstep6;
-               }
-
-       /*
-        * If the state is SYN_RECEIVED:
-        *      do just the ack and RST checks from SYN_SENT state.
-        * If the state is SYN_SENT:
-        *      if seg contains an ACK, but not for our SYN, drop the input.
-        *      if seg contains a RST, then drop the connection.
-        *      if seg does not contain SYN, then drop it.
-        * Otherwise this is an acceptable SYN segment
-        *      initialize tp->rcv_nxt and tp->irs
-        *      if seg contains ack then advance tp->snd_una
-        *      if SYN has been acked change to ESTABLISHED else SYN_RCVD state
-        *      arrange for segment to be acked (eventually)
-        *      continue processing rest of data/controls, beginning with URG
-        */
-       case TCPS_SYN_RECEIVED:
-       case TCPS_SYN_SENT:
-               if ((taop = tcp_gettaocache(inp)) == NULL) {
-                       taop = &tao_noncached;
-                       bzero(taop, sizeof(*taop));
-               }
-
-               if ((tiflags & TH_ACK) &&
-                   (SEQ_LEQ(ti->ti_ack, tp->iss) ||
-                    SEQ_GT(ti->ti_ack, tp->snd_max))) {
-                       /*
-                        * If we have a cached CCsent for the remote host,
-                        * hence we haven't just crashed and restarted,
-                        * do not send a RST.  This may be a retransmission
-                        * from the other side after our earlier ACK was lost.
-                        * Our new SYN, when it arrives, will serve as the
-                        * needed ACK.
-                        */
-                       if (taop->tao_ccsent != 0)
-                               goto drop;
-                       else
-                               goto dropwithreset;
-               }
-               if (tiflags & TH_RST) {
-                       if (tiflags & TH_ACK)
-                               tp = tcp_drop(tp, ECONNREFUSED);
-                       goto drop;
-               }
-               if (tp->t_state == TCPS_SYN_RECEIVED)
-                       break;
-               if ((tiflags & TH_SYN) == 0)
-                       goto drop;
-               tp->snd_wnd = ti->ti_win;       /* initial send window */
-               tp->cc_recv = to.to_cc;         /* foreign CC */
-
-               tp->irs = ti->ti_seq;
-               tcp_rcvseqinit(tp);
-               if (tiflags & TH_ACK) {
-                       /*
-                        * Our SYN was acked.  If segment contains CC.ECHO
-                        * option, check it to make sure this segment really
-                        * matches our SYN.  If not, just drop it as old
-                        * duplicate, but send an RST if we're still playing
-                        * by the old rules.
-                        */
-                       if ((to.to_flag & TOF_CCECHO) &&
-                           tp->cc_send != to.to_ccecho) {
-                               if (taop->tao_ccsent != 0)
-                                       goto drop;
-                               else
-                                       goto dropwithreset;
-                       }
-                       tcpstat.tcps_connects++;
-                       soisconnected(so);
-                       /* Do window scaling on this connection? */
-                       if ((tp->t_flags & (TF_RCVD_SCALE|TF_REQ_SCALE)) ==
-                               (TF_RCVD_SCALE|TF_REQ_SCALE)) {
-                               tp->snd_scale = tp->requested_s_scale;
-                               tp->rcv_scale = tp->request_r_scale;
-                       }
-                       /* Segment is acceptable, update cache if undefined. */
-                       if (taop->tao_ccsent == 0)
-                               taop->tao_ccsent = to.to_ccecho;
-
-                       tp->rcv_adv += tp->rcv_wnd;
-                       tp->snd_una++;          /* SYN is acked */
-                       /*
-                        * If there's data, delay ACK; if there's also a FIN
-                        * ACKNOW will be turned on later.
-                        */
-                       if (ti->ti_len != 0)
-                               tp->t_flags |= TF_DELACK;
-                       else
-                               tp->t_flags |= TF_ACKNOW;
-                       /*
-                        * Received <SYN,ACK> in SYN_SENT[*] state.
-                        * Transitions:
-                        *      SYN_SENT  --> ESTABLISHED
-                        *      SYN_SENT* --> FIN_WAIT_1
-                        */
-                       if (tp->t_flags & TF_NEEDFIN) {
-                               tp->t_state = TCPS_FIN_WAIT_1;
-                               tp->t_flags &= ~TF_NEEDFIN;
-                               tiflags &= ~TH_SYN;
-                       } else {
-                           OS_DbgPrint
-                               (OSK_MID_TRACE,
-                                ("Socket %x entered ESTABLISHED state\n",
-                                 so));
-                           tp->t_state = TCPS_ESTABLISHED;
-                           tp->t_timer[TCPT_KEEP] = tcp_keepidle;
-                       }
-               } else {
-               /*
-                *  Received initial SYN in SYN-SENT[*] state => simul-
-                *  taneous open.  If segment contains CC option and there is
-                *  a cached CC, apply TAO test; if it succeeds, connection is
-                *  half-synchronized.  Otherwise, do 3-way handshake:
-                *        SYN-SENT -> SYN-RECEIVED
-                *        SYN-SENT* -> SYN-RECEIVED*
-                *  If there was no CC option, clear cached CC value.
-                */
-                       tp->t_flags |= TF_ACKNOW;
-                       tp->t_timer[TCPT_REXMT] = 0;
-                       if (to.to_flag & TOF_CC) {
-                               if (taop->tao_cc != 0 &&
-                                   CC_GT(to.to_cc, taop->tao_cc)) {
-                                       /*
-                                        * update cache and make transition:
-                                        *        SYN-SENT -> ESTABLISHED*
-                                        *        SYN-SENT* -> FIN-WAIT-1*
-                                        */
-                                       taop->tao_cc = to.to_cc;
-                                       if (tp->t_flags & TF_NEEDFIN) {
-                                               tp->t_state = TCPS_FIN_WAIT_1;
-                                               tp->t_flags &= ~TF_NEEDFIN;
-                                       } else {
-                                               tp->t_state = TCPS_ESTABLISHED;
-                                               tp->t_timer[TCPT_KEEP] = tcp_keepidle;
-                                       }
-                                       tp->t_flags |= TF_NEEDSYN;
-                               } else
-                                       tp->t_state = TCPS_SYN_RECEIVED;
-                       } else {
-                               /* CC.NEW or no option => invalidate cache */
-                               taop->tao_cc = 0;
-                               tp->t_state = TCPS_SYN_RECEIVED;
-                       }
-               }
-
-trimthenstep6:
-               /*
-                * Advance ti->ti_seq to correspond to first data byte.
-                * If data, trim to stay within window,
-                * dropping FIN if necessary.
-                */
-               ti->ti_seq++;
-               if (ti->ti_len > tp->rcv_wnd) {
-                       todrop = ti->ti_len - tp->rcv_wnd;
-                       m_adj(m, -todrop);
-                       ti->ti_len = tp->rcv_wnd;
-                       tiflags &= ~TH_FIN;
-                       tcpstat.tcps_rcvpackafterwin++;
-                       tcpstat.tcps_rcvbyteafterwin += todrop;
-               }
-               tp->snd_wl1 = ti->ti_seq - 1;
-               tp->rcv_up = ti->ti_seq;
-               /*
-                *  Client side of transaction: already sent SYN and data.
-                *  If the remote host used T/TCP to validate the SYN,
-                *  our data will be ACK'd; if so, enter normal data segment
-                *  processing in the middle of step 5, ack processing.
-                *  Otherwise, goto step 6.
-                */
-               if (tiflags & TH_ACK)
-                       goto process_ACK;
-               goto step6;
-       /*
-        * If the state is LAST_ACK or CLOSING or TIME_WAIT:
-        *      if segment contains a SYN and CC [not CC.NEW] option:
-        *              if state == TIME_WAIT and connection duration > MSL,
-        *                  drop packet and send RST;
-        *
-        *              if SEG.CC > CCrecv then is new SYN, and can implicitly
-        *                  ack the FIN (and data) in retransmission queue.
-        *                  Complete close and delete TCPCB.  Then reprocess
-        *                  segment, hoping to find new TCPCB in LISTEN state;
-        *
-        *              else must be old SYN; drop it.
-        *      else do normal processing.
-        */
-       case TCPS_LAST_ACK:
-       case TCPS_CLOSING:
-       case TCPS_TIME_WAIT:
-               if ((tiflags & TH_SYN) &&
-                   (to.to_flag & TOF_CC) && tp->cc_recv != 0) {
-                       if (tp->t_state == TCPS_TIME_WAIT &&
-                                       tp->t_duration > TCPTV_MSL)
-                               goto dropwithreset;
-                       if (CC_GT(to.to_cc, tp->cc_recv)) {
-                               tp = tcp_close(tp);
-                               goto findpcb;
-                       }
-                       else
-                               goto drop;
-               }
-               break;  /* continue normal processing */
-       }
-
-       /*
-        * States other than LISTEN or SYN_SENT.
-        * First check timestamp, if present.
-        * Then check the connection count, if present.
-        * Then check that at least some bytes of segment are within
-        * receive window.  If segment begins before rcv_nxt,
-        * drop leading data (and SYN); if nothing left, just ack.
-        *
-        * RFC 1323 PAWS: If we have a timestamp reply on this segment
-        * and it's less than ts_recent, drop it.
-        */
-       if ((to.to_flag & TOF_TS) != 0 && (tiflags & TH_RST) == 0 &&
-           tp->ts_recent && TSTMP_LT(to.to_tsval, tp->ts_recent)) {
-
-               /* Check to see if ts_recent is over 24 days old.  */
-               if ((int)(tcp_now - tp->ts_recent_age) > TCP_PAWS_IDLE) {
-                       /*
-                        * Invalidate ts_recent.  If this segment updates
-                        * ts_recent, the age will be reset later and ts_recent
-                        * will get a valid value.  If it does not, setting
-                        * ts_recent to zero will at least satisfy the
-                        * requirement that zero be placed in the timestamp
-                        * echo reply when ts_recent isn't valid.  The
-                        * age isn't reset until we get a valid ts_recent
-                        * because we don't want out-of-order segments to be
-                        * dropped when ts_recent is old.
-                        */
-                       tp->ts_recent = 0;
-               } else {
-                       tcpstat.tcps_rcvduppack++;
-                       tcpstat.tcps_rcvdupbyte += ti->ti_len;
-                       tcpstat.tcps_pawsdrop++;
-                       goto dropafterack;
-               }
-       }
-
-       /*
-        * T/TCP mechanism
-        *   If T/TCP was negotiated and the segment doesn't have CC,
-        *   or if it's CC is wrong then drop the segment.
-        *   RST segments do not have to comply with this.
-        */
-       if ((tp->t_flags & (TF_REQ_CC|TF_RCVD_CC)) == (TF_REQ_CC|TF_RCVD_CC) &&
-           ((to.to_flag & TOF_CC) == 0 || tp->cc_recv != to.to_cc) &&
-           (tiflags & TH_RST) == 0)
-               goto dropafterack;
-
-       todrop = tp->rcv_nxt - ti->ti_seq;
-       if (todrop > 0) {
-               if (tiflags & TH_SYN) {
-                       tiflags &= ~TH_SYN;
-                       ti->ti_seq++;
-                       if (ti->ti_urp > 1)
-                               ti->ti_urp--;
-                       else
-                               tiflags &= ~TH_URG;
-                       todrop--;
-               }
-               /*
-                * Following if statement from Stevens, vol. 2, p. 960.
-                */
-               if (todrop > ti->ti_len
-                   || (todrop == ti->ti_len && (tiflags & TH_FIN) == 0)) {
-                       /*
-                        * Any valid FIN must be to the left of the window.
-                        * At this point the FIN must be a duplicate or out
-                        * of sequence; drop it.
-                        */
-                       tiflags &= ~TH_FIN;
-
-                       /*
-                        * Send an ACK to resynchronize and drop any data.
-                        * But keep on processing for RST or ACK.
-                        */
-                       tp->t_flags |= TF_ACKNOW;
-                       todrop = ti->ti_len;
-                       tcpstat.tcps_rcvduppack++;
-                       tcpstat.tcps_rcvdupbyte += todrop;
-               } else {
-                       tcpstat.tcps_rcvpartduppack++;
-                       tcpstat.tcps_rcvpartdupbyte += todrop;
-               }
-               m_adj(m, todrop);
-               ti->ti_seq += todrop;
-               ti->ti_len -= todrop;
-               if (ti->ti_urp > todrop)
-                       ti->ti_urp -= todrop;
-               else {
-                       tiflags &= ~TH_URG;
-                       ti->ti_urp = 0;
-               }
-       }
-
-       /*
-        * If new data are received on a connection after the
-        * user processes are gone, then RST the other end.
-        */
-       if ((so->so_state & SS_NOFDREF) &&
-           tp->t_state > TCPS_CLOSE_WAIT && ti->ti_len) {
-               tp = tcp_close(tp);
-               tcpstat.tcps_rcvafterclose++;
-               goto dropwithreset;
-       }
-
-       /*
-        * If segment ends after window, drop trailing data
-        * (and PUSH and FIN); if nothing left, just ACK.
-        */
-       todrop = (ti->ti_seq+ti->ti_len) - (tp->rcv_nxt+tp->rcv_wnd);
-       if (todrop > 0) {
-               tcpstat.tcps_rcvpackafterwin++;
-               if (todrop >= ti->ti_len) {
-                       tcpstat.tcps_rcvbyteafterwin += ti->ti_len;
-                       /*
-                        * If a new connection request is received
-                        * while in TIME_WAIT, drop the old connection
-                        * and start over if the sequence numbers
-                        * are above the previous ones.
-                        */
-                       if (tiflags & TH_SYN &&
-                           tp->t_state == TCPS_TIME_WAIT &&
-                           SEQ_GT(ti->ti_seq, tp->rcv_nxt)) {
-                               iss = tp->rcv_nxt + TCP_ISSINCR;
-                               tp = tcp_close(tp);
-                               goto findpcb;
-                       }
-                       /*
-                        * If window is closed can only take segments at
-                        * window edge, and have to drop data and PUSH from
-                        * incoming segments.  Continue processing, but
-                        * remember to ack.  Otherwise, drop segment
-                        * and ack.
-                        */
-                       if (tp->rcv_wnd == 0 && ti->ti_seq == tp->rcv_nxt) {
-                               tp->t_flags |= TF_ACKNOW;
-                               tcpstat.tcps_rcvwinprobe++;
-                       } else
-                               goto dropafterack;
-               } else
-                       tcpstat.tcps_rcvbyteafterwin += todrop;
-               m_adj(m, -todrop);
-               ti->ti_len -= todrop;
-               tiflags &= ~(TH_PUSH|TH_FIN);
-       }
-
-       /*
-        * If last ACK falls within this segment's sequence numbers,
-        * record its timestamp.
-        * NOTE that the test is modified according to the latest
-        * proposal of the tcplw@cray.com list (Braden 1993/04/26).
-        */
-       if ((to.to_flag & TOF_TS) != 0 &&
-           SEQ_LEQ(ti->ti_seq, tp->last_ack_sent)) {
-               tp->ts_recent_age = tcp_now;
-               tp->ts_recent = to.to_tsval;
-       }
-
-       /*
-        * If the RST bit is set examine the state:
-        *    SYN_RECEIVED STATE:
-        *      If passive open, return to LISTEN state.
-        *      If active open, inform user that connection was refused.
-        *    ESTABLISHED, FIN_WAIT_1, FIN_WAIT2, CLOSE_WAIT STATES:
-        *      Inform user that connection was reset, and close tcb.
-        *    CLOSING, LAST_ACK, TIME_WAIT STATES
-        *      Close the tcb.
-        */
-       if (tiflags&TH_RST) switch (tp->t_state) {
-
-       case TCPS_SYN_RECEIVED:
-               so->so_error = ECONNREFUSED;
-               goto close;
-
-       case TCPS_ESTABLISHED:
-       case TCPS_FIN_WAIT_1:
-       case TCPS_FIN_WAIT_2:
-       case TCPS_CLOSE_WAIT:
-               so->so_error = ECONNRESET;
-       close:
-               tp->t_state = TCPS_CLOSED;
-               tcpstat.tcps_drops++;
-               tp = tcp_close(tp);
-               goto drop;
-
-       case TCPS_CLOSING:
-       case TCPS_LAST_ACK:
-       case TCPS_TIME_WAIT:
-               tp = tcp_close(tp);
-               goto drop;
-       }
-
-       /*
-        * If a SYN is in the window, then this is an
-        * error and we send an RST and drop the connection.
-        */
-       if (tiflags & TH_SYN) {
-               tp = tcp_drop(tp, ECONNRESET);
-               goto dropwithreset;
-       }
-
-       /*
-        * If the ACK bit is off:  if in SYN-RECEIVED state or SENDSYN
-        * flag is on (half-synchronized state), then queue data for
-        * later processing; else drop segment and return.
-        */
-       if ((tiflags & TH_ACK) == 0) {
-               if (tp->t_state == TCPS_SYN_RECEIVED ||
-                   (tp->t_flags & TF_NEEDSYN))
-                       goto step6;
-               else
-                       goto drop;
-       }
-
-       /*
-        * Ack processing.
-        */
-       switch (tp->t_state) {
-
-       /*
-        * In SYN_RECEIVED state if the ack ACKs our SYN then enter
-        * ESTABLISHED state and continue processing, otherwise
-        * send an RST.
-        */
-       case TCPS_SYN_RECEIVED:
-               if (SEQ_GT(tp->snd_una, ti->ti_ack) ||
-                   SEQ_GT(ti->ti_ack, tp->snd_max))
-                       goto dropwithreset;
-
-               tcpstat.tcps_connects++;
-               soisconnected(so);
-               /* Do window scaling? */
-               if ((tp->t_flags & (TF_RCVD_SCALE|TF_REQ_SCALE)) ==
-                       (TF_RCVD_SCALE|TF_REQ_SCALE)) {
-                       tp->snd_scale = tp->requested_s_scale;
-                       tp->rcv_scale = tp->request_r_scale;
-               }
-               /*
-                * Upon successful completion of 3-way handshake,
-                * update cache.CC if it was undefined, pass any queued
-                * data to the user, and advance state appropriately.
-                */
-               if ((taop = tcp_gettaocache(inp)) != NULL &&
-                   taop->tao_cc == 0)
-                       taop->tao_cc = tp->cc_recv;
-
-               /*
-                * Make transitions:
-                *      SYN-RECEIVED  -> ESTABLISHED
-                *      SYN-RECEIVED* -> FIN-WAIT-1
-                */
-               if (tp->t_flags & TF_NEEDFIN) {
-                       tp->t_state = TCPS_FIN_WAIT_1;
-                       tp->t_flags &= ~TF_NEEDFIN;
-               } else {
-                       tp->t_state = TCPS_ESTABLISHED;
-                       tp->t_timer[TCPT_KEEP] = tcp_keepidle;
-               }
-               /*
-                * If segment contains data or ACK, will call tcp_reass()
-                * later; if not, do so now to pass queued data to user.
-                */
-               if (ti->ti_len == 0 && (tiflags & TH_FIN) == 0)
-                       (void) tcp_reass(tp, (struct tcpiphdr *)0,
-                           (struct mbuf *)0);
-               tp->snd_wl1 = ti->ti_seq - 1;
-               /* fall into ... */
-
-       /*
-        * In ESTABLISHED state: drop duplicate ACKs; ACK out of range
-        * ACKs.  If the ack is in the range
-        *      tp->snd_una < ti->ti_ack <= tp->snd_max
-        * then advance tp->snd_una to ti->ti_ack and drop
-        * data from the retransmission queue.  If this ACK reflects
-        * more up to date window information we update our window information.
-        */
-       case TCPS_ESTABLISHED:
-       case TCPS_FIN_WAIT_1:
-       case TCPS_FIN_WAIT_2:
-       case TCPS_CLOSE_WAIT:
-       case TCPS_CLOSING:
-       case TCPS_LAST_ACK:
-       case TCPS_TIME_WAIT:
-
-               if (SEQ_LEQ(ti->ti_ack, tp->snd_una)) {
-                       if (ti->ti_len == 0 && tiwin == tp->snd_wnd) {
-                               tcpstat.tcps_rcvdupack++;
-                               /*
-                                * If we have outstanding data (other than
-                                * a window probe), this is a completely
-                                * duplicate ack (ie, window info didn't
-                                * change), the ack is the biggest we've
-                                * seen and we've seen exactly our rexmt
-                                * threshhold of them, assume a packet
-                                * has been dropped and retransmit it.
-                                * Kludge snd_nxt & the congestion
-                                * window so we send only this one
-                                * packet.
-                                *
-                                * We know we're losing at the current
-                                * window size so do congestion avoidance
-                                * (set ssthresh to half the current window
-                                * and pull our congestion window back to
-                                * the new ssthresh).
-                                *
-                                * Dup acks mean that packets have left the
-                                * network (they're now cached at the receiver)
-                                * so bump cwnd by the amount in the receiver
-                                * to keep a constant cwnd packets in the
-                                * network.
-                                */
-                               if (tp->t_timer[TCPT_REXMT] == 0 ||
-                                   ti->ti_ack != tp->snd_una)
-                                       tp->t_dupacks = 0;
-                               else if (++tp->t_dupacks == tcprexmtthresh) {
-                                       tcp_seq onxt = tp->snd_nxt;
-                                       u_int win =
-                                           min(tp->snd_wnd, tp->snd_cwnd) / 2 /
-                                               tp->t_maxseg;
-
-                                       if (win < 2)
-                                               win = 2;
-                                       tp->snd_ssthresh = win * tp->t_maxseg;
-                                       tp->t_timer[TCPT_REXMT] = 0;
-                                       tp->t_rtt = 0;
-                                       tp->snd_nxt = ti->ti_ack;
-                                       tp->snd_cwnd = tp->t_maxseg;
-                                       (void) tcp_output(tp);
-                                       tp->snd_cwnd = tp->snd_ssthresh +
-                                              tp->t_maxseg * tp->t_dupacks;
-                                       if (SEQ_GT(onxt, tp->snd_nxt))
-                                               tp->snd_nxt = onxt;
-                                       goto drop;
-                               } else if (tp->t_dupacks > tcprexmtthresh) {
-                                       tp->snd_cwnd += tp->t_maxseg;
-                                       (void) tcp_output(tp);
-                                       goto drop;
-                               }
-                       } else
-                               tp->t_dupacks = 0;
-                       break;
-               }
-               /*
-                * If the congestion window was inflated to account
-                * for the other side's cached packets, retract it.
-                */
-               if (tp->t_dupacks > tcprexmtthresh &&
-                   tp->snd_cwnd > tp->snd_ssthresh)
-                       tp->snd_cwnd = tp->snd_ssthresh;
-               tp->t_dupacks = 0;
-               if (SEQ_GT(ti->ti_ack, tp->snd_max)) {
-                       tcpstat.tcps_rcvacktoomuch++;
-                       goto dropafterack;
-               }
-               /*
-                *  If we reach this point, ACK is not a duplicate,
-                *     i.e., it ACKs something we sent.
-                */
-               if (tp->t_flags & TF_NEEDSYN) {
-                       /*
-                        * T/TCP: Connection was half-synchronized, and our
-                        * SYN has been ACK'd (so connection is now fully
-                        * synchronized).  Go to non-starred state,
-                        * increment snd_una for ACK of SYN, and check if
-                        * we can do window scaling.
-                        */
-                       tp->t_flags &= ~TF_NEEDSYN;
-                       tp->snd_una++;
-                       /* Do window scaling? */
-                       if ((tp->t_flags & (TF_RCVD_SCALE|TF_REQ_SCALE)) ==
-                               (TF_RCVD_SCALE|TF_REQ_SCALE)) {
-                               tp->snd_scale = tp->requested_s_scale;
-                               tp->rcv_scale = tp->request_r_scale;
-                       }
-               }
-
-process_ACK:
-               acked = ti->ti_ack - tp->snd_una;
-               tcpstat.tcps_rcvackpack++;
-               tcpstat.tcps_rcvackbyte += acked;
-
-               /*
-                * If we have a timestamp reply, update smoothed
-                * round trip time.  If no timestamp is present but
-                * transmit timer is running and timed sequence
-                * number was acked, update smoothed round trip time.
-                * Since we now have an rtt measurement, cancel the
-                * timer backoff (cf., Phil Karn's retransmit alg.).
-                * Recompute the initial retransmit timer.
-                */
-               if (to.to_flag & TOF_TS)
-                       tcp_xmit_timer(tp, tcp_now - to.to_tsecr + 1);
-               else if (tp->t_rtt && SEQ_GT(ti->ti_ack, tp->t_rtseq))
-                       tcp_xmit_timer(tp,tp->t_rtt);
-
-               /*
-                * If all outstanding data is acked, stop retransmit
-                * timer and remember to restart (more output or persist).
-                * If there is more data to be acked, restart retransmit
-                * timer, using current (possibly backed-off) value.
-                */
-               if (ti->ti_ack == tp->snd_max) {
-                       tp->t_timer[TCPT_REXMT] = 0;
-                       needoutput = 1;
-               } else if (tp->t_timer[TCPT_PERSIST] == 0)
-                       tp->t_timer[TCPT_REXMT] = tp->t_rxtcur;
-
-               /*
-                * If no data (only SYN) was ACK'd,
-                *    skip rest of ACK processing.
-                */
-               if (acked == 0)
-                       goto step6;
-
-               /*
-                * When new data is acked, open the congestion window.
-                * If the window gives us less than ssthresh packets
-                * in flight, open exponentially (maxseg per packet).
-                * Otherwise open linearly: maxseg per window
-                * (maxseg^2 / cwnd per packet).
-                */
-               {
-               register u_int cw = tp->snd_cwnd;
-               register u_int incr = tp->t_maxseg;
-
-               if (cw > tp->snd_ssthresh)
-                       incr = incr * incr / cw;
-               tp->snd_cwnd = min(cw + incr, TCP_MAXWIN<<tp->snd_scale);
-               }
-               if (acked > so->so_snd.sb_cc) {
-                       tp->snd_wnd -= so->so_snd.sb_cc;
-                       sbdrop(&so->so_snd, (int)so->so_snd.sb_cc);
-                       ourfinisacked = 1;
-               } else {
-                       sbdrop(&so->so_snd, acked);
-                       tp->snd_wnd -= acked;
-                       ourfinisacked = 0;
-               }
-               if (so->so_snd.sb_flags & SB_NOTIFY)
-                       sowwakeup(so);
-               tp->snd_una = ti->ti_ack;
-               if (SEQ_LT(tp->snd_nxt, tp->snd_una))
-                       tp->snd_nxt = tp->snd_una;
-
-               switch (tp->t_state) {
-
-               /*
-                * In FIN_WAIT_1 STATE in addition to the processing
-                * for the ESTABLISHED state if our FIN is now acknowledged
-                * then enter FIN_WAIT_2.
-                */
-               case TCPS_FIN_WAIT_1:
-                       if (ourfinisacked) {
-                               /*
-                                * If we can't receive any more
-                                * data, then closing user can proceed.
-                                * Starting the timer is contrary to the
-                                * specification, but if we don't get a FIN
-                                * we'll hang forever.
-                                */
-                               if (so->so_state & SS_CANTRCVMORE) {
-                                       soisdisconnected(so);
-                                       tp->t_timer[TCPT_2MSL] = tcp_maxidle;
-                               }
-                               tp->t_state = TCPS_FIN_WAIT_2;
-                       }
-                       break;
-
-               /*
-                * In CLOSING STATE in addition to the processing for
-                * the ESTABLISHED state if the ACK acknowledges our FIN
-                * then enter the TIME-WAIT state, otherwise ignore
-                * the segment.
-                */
-               case TCPS_CLOSING:
-                       if (ourfinisacked) {
-                               tp->t_state = TCPS_TIME_WAIT;
-                               tcp_canceltimers(tp);
-                               /* Shorten TIME_WAIT [RFC-1644, p.28] */
-                               if (tp->cc_recv != 0 &&
-                                   tp->t_duration < TCPTV_MSL)
-                                       tp->t_timer[TCPT_2MSL] =
-                                           tp->t_rxtcur * TCPTV_TWTRUNC;
-                               else
-                                       tp->t_timer[TCPT_2MSL] = 2 * TCPTV_MSL;
-                               soisdisconnected(so);
-                       }
-                       break;
-
-               /*
-                * In LAST_ACK, we may still be waiting for data to drain
-                * and/or to be acked, as well as for the ack of our FIN.
-                * If our FIN is now acknowledged, delete the TCB,
-                * enter the closed state and return.
-                */
-               case TCPS_LAST_ACK:
-                       if (ourfinisacked) {
-                               tp = tcp_close(tp);
-                               goto drop;
-                       }
-                       break;
-
-               /*
-                * In TIME_WAIT state the only thing that should arrive
-                * is a retransmission of the remote FIN.  Acknowledge
-                * it and restart the finack timer.
-                */
-               case TCPS_TIME_WAIT:
-                       tp->t_timer[TCPT_2MSL] = 2 * TCPTV_MSL;
-                       goto dropafterack;
-               }
-       }
-
-step6:
-       /*
-        * Update window information.
-        * Don't look at window if no ACK: TAC's send garbage on first SYN.
-        */
-       if ((tiflags & TH_ACK) &&
-           (SEQ_LT(tp->snd_wl1, ti->ti_seq) ||
-           (tp->snd_wl1 == ti->ti_seq && (SEQ_LT(tp->snd_wl2, ti->ti_ack) ||
-            (tp->snd_wl2 == ti->ti_ack && tiwin > tp->snd_wnd))))) {
-               /* keep track of pure window updates */
-               if (ti->ti_len == 0 &&
-                   tp->snd_wl2 == ti->ti_ack && tiwin > tp->snd_wnd)
-                       tcpstat.tcps_rcvwinupd++;
-               tp->snd_wnd = tiwin;
-               tp->snd_wl1 = ti->ti_seq;
-               tp->snd_wl2 = ti->ti_ack;
-               if (tp->snd_wnd > tp->max_sndwnd)
-                       tp->max_sndwnd = tp->snd_wnd;
-               needoutput = 1;
-       }
-
-       /*
-        * Process segments with URG.
-        */
-       if ((tiflags & TH_URG) && ti->ti_urp &&
-           TCPS_HAVERCVDFIN(tp->t_state) == 0) {
-               /*
-                * This is a kludge, but if we receive and accept
-                * random urgent pointers, we'll crash in
-                * soreceive.  It's hard to imagine someone
-                * actually wanting to send this much urgent data.
-                */
-               if (ti->ti_urp + so->so_rcv.sb_cc > sb_max) {
-                       ti->ti_urp = 0;                 /* XXX */
-                       tiflags &= ~TH_URG;             /* XXX */
-                       goto dodata;                    /* XXX */
-               }
-               /*
-                * If this segment advances the known urgent pointer,
-                * then mark the data stream.  This should not happen
-                * in CLOSE_WAIT, CLOSING, LAST_ACK or TIME_WAIT STATES since
-                * a FIN has been received from the remote side.
-                * In these states we ignore the URG.
-                *
-                * According to RFC961 (Assigned Protocols),
-                * the urgent pointer points to the last octet
-                * of urgent data.  We continue, however,
-                * to consider it to indicate the first octet
-                * of data past the urgent section as the original
-                * spec states (in one of two places).
-                */
-               if (SEQ_GT(ti->ti_seq+ti->ti_urp, tp->rcv_up)) {
-                       tp->rcv_up = ti->ti_seq + ti->ti_urp;
-                       so->so_oobmark = so->so_rcv.sb_cc +
-                           (tp->rcv_up - tp->rcv_nxt) - 1;
-                       if (so->so_oobmark == 0)
-                               so->so_state |= SS_RCVATMARK;
-                       sohasoutofband(so);
-                       tp->t_oobflags &= ~(TCPOOB_HAVEDATA | TCPOOB_HADDATA);
-               }
-               /*
-                * Remove out of band data so doesn't get presented to user.
-                * This can happen independent of advancing the URG pointer,
-                * but if two URG's are pending at once, some out-of-band
-                * data may creep in... ick.
-                */
-               if (ti->ti_urp <= (u_long)ti->ti_len
-#ifdef SO_OOBINLINE
-                    && (so->so_options & SO_OOBINLINE) == 0
-#endif
-                    )
-                       tcp_pulloutofband(so, ti, m);
-       } else
-               /*
-                * If no out of band data is expected,
-                * pull receive urgent pointer along
-                * with the receive window.
-                */
-               if (SEQ_GT(tp->rcv_nxt, tp->rcv_up))
-                       tp->rcv_up = tp->rcv_nxt;
-dodata:                                                        /* XXX */
-
-       /*
-        * Process the segment text, merging it into the TCP sequencing queue,
-        * and arranging for acknowledgment of receipt if necessary.
-        * This process logically involves adjusting tp->rcv_wnd as data
-        * is presented to the user (this happens in tcp_usrreq.c,
-        * case PRU_RCVD).  If a FIN has already been received on this
-        * connection then we just ignore the text.
-        */
-       if ((ti->ti_len || (tiflags&TH_FIN)) &&
-           TCPS_HAVERCVDFIN(tp->t_state) == 0) {
-           TCP_REASS(tp, ti, m, so, tiflags);
-               /*
-                * Note the amount of data that peer has sent into
-                * our window, in order to estimate the sender's
-                * buffer size.
-                */
-               len = so->so_rcv.sb_hiwat - (tp->rcv_adv - tp->rcv_nxt);
-       } else {
-           m_freem(m);
-           tiflags &= ~TH_FIN;
-       }
-
-       /*
-        * If FIN is received ACK the FIN and let the user know
-        * that the connection is closing.
-        */
-       if (tiflags & TH_FIN) {
-               if (TCPS_HAVERCVDFIN(tp->t_state) == 0) {
-                       socantrcvmore(so);
-                       /*
-                        *  If connection is half-synchronized
-                        *  (ie NEEDSYN flag on) then delay ACK,
-                        *  so it may be piggybacked when SYN is sent.
-                        *  Otherwise, since we received a FIN then no
-                        *  more input can be expected, send ACK now.
-                        */
-                       if (tp->t_flags & TF_NEEDSYN)
-                               tp->t_flags |= TF_DELACK;
-                       else
-                               tp->t_flags |= TF_ACKNOW;
-                       tp->rcv_nxt++;
-               }
-               switch (tp->t_state) {
-
-               /*
-                * In SYN_RECEIVED and ESTABLISHED STATES
-                * enter the CLOSE_WAIT state.
-                */
-               case TCPS_SYN_RECEIVED:
-               case TCPS_ESTABLISHED:
-                       tp->t_state = TCPS_CLOSE_WAIT;
-                       break;
-
-               /*
-                * If still in FIN_WAIT_1 STATE FIN has not been acked so
-                * enter the CLOSING state.
-                */
-               case TCPS_FIN_WAIT_1:
-                       tp->t_state = TCPS_CLOSING;
-                       break;
-
-               /*
-                * In FIN_WAIT_2 state enter the TIME_WAIT state,
-                * starting the time-wait timer, turning off the other
-                * standard timers.
-                */
-               case TCPS_FIN_WAIT_2:
-                       tp->t_state = TCPS_TIME_WAIT;
-                       tcp_canceltimers(tp);
-                       /* Shorten TIME_WAIT [RFC-1644, p.28] */
-                       if (tp->cc_recv != 0 &&
-                           tp->t_duration < TCPTV_MSL) {
-                               tp->t_timer[TCPT_2MSL] =
-                                   tp->t_rxtcur * TCPTV_TWTRUNC;
-                               /* For transaction client, force ACK now. */
-                               tp->t_flags |= TF_ACKNOW;
-                       }
-                       else
-                               tp->t_timer[TCPT_2MSL] = 2 * TCPTV_MSL;
-                       soisdisconnected(so);
-                       break;
-
-               /*
-                * In TIME_WAIT state restart the 2 MSL time_wait timer.
-                */
-               case TCPS_TIME_WAIT:
-                       tp->t_timer[TCPT_2MSL] = 2 * TCPTV_MSL;
-                       break;
-               }
-       }
-#ifdef TCPDEBUG
-       if (so->so_options & SO_DEBUG)
-               tcp_trace(TA_INPUT, ostate, tp, &tcp_saveti, 0);
-#endif
-
-       /*
-        * Return any desired output.
-        */
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("needoutput: %d, tp->t_flags & TF_ACKNOW: %d\n",
-                    needoutput, tp->t_flags & TF_ACKNOW));
-
-       if (needoutput || (tp->t_flags & TF_ACKNOW))
-               (void) tcp_output(tp);
-       return;
-
-dropafterack:
-       /*
-        * Generate an ACK dropping incoming segment if it occupies
-        * sequence space, where the ACK reflects our state.
-        */
-       if (tiflags & TH_RST)
-               goto drop;
-#ifdef TCPDEBUG
-       if (so->so_options & SO_DEBUG)
-               tcp_trace(TA_DROP, ostate, tp, &tcp_saveti, 0);
-#endif
-       m_freem(m);
-       tp->t_flags |= TF_ACKNOW;
-       (void) tcp_output(tp);
-       return;
-
-dropwithreset:
-       /*
-        * Generate a RST, dropping incoming segment.
-        * Make ACK acceptable to originator of segment.
-        * Don't bother to respond if destination was broadcast/multicast.
-        */
-       if ((tiflags & TH_RST) || m->m_flags & (M_BCAST|M_MCAST) ||
-           IN_MULTICAST(ntohl(ti->ti_dst.s_addr)))
-               goto drop;
-#ifdef TCPDEBUG
-       if (tp == 0 || (tp->t_inpcb->inp_socket->so_options & SO_DEBUG))
-               tcp_trace(TA_DROP, ostate, tp, &tcp_saveti, 0);
-#endif
-       if (tiflags & TH_ACK)
-               tcp_respond(tp, ti, m, (tcp_seq)0, ti->ti_ack, TH_RST);
-       else {
-               if (tiflags & TH_SYN)
-                       ti->ti_len++;
-               tcp_respond(tp, ti, m, ti->ti_seq+ti->ti_len, (tcp_seq)0,
-                   TH_RST|TH_ACK);
-       }
-       /* destroy temporarily created socket */
-       if (dropsocket)
-               (void) soabort(so);
-       return;
-
-drop:
-       /*
-        * Drop space held by incoming segment and return.
-        */
-#ifdef TCPDEBUG
-       if (tp == 0 || (tp->t_inpcb->inp_socket->so_options & SO_DEBUG))
-               tcp_trace(TA_DROP, ostate, tp, &tcp_saveti, 0);
-#endif
-       /* destroy temporarily created socket */
-       if (dropsocket)
-               (void) soabort(so);
-       return;
-#ifndef TUBA_INCLUDE
-}
-
-void
-tcp_dooptions(tp, cp, cnt, ti, to)
-       struct tcpcb *tp;
-       u_char *cp;
-       int cnt;
-       struct tcpiphdr *ti;
-       struct tcpopt *to;
-{
-       u_short mss = 0;
-       int opt, optlen;
-
-       for (; cnt > 0; cnt -= optlen, cp += optlen) {
-               opt = cp[0];
-               if (opt == TCPOPT_EOL)
-                       break;
-               if (opt == TCPOPT_NOP)
-                       optlen = 1;
-               else {
-                       optlen = cp[1];
-                       if (optlen <= 0)
-                               break;
-               }
-               switch (opt) {
-
-               default:
-                       continue;
-
-               case TCPOPT_MAXSEG:
-                       if (optlen != TCPOLEN_MAXSEG)
-                               continue;
-                       if (!(ti->ti_flags & TH_SYN))
-                               continue;
-                       bcopy((char *) cp + 2, (char *) &mss, sizeof(mss));
-                       NTOHS(mss);
-                       break;
-
-               case TCPOPT_WINDOW:
-                       if (optlen != TCPOLEN_WINDOW)
-                               continue;
-                       if (!(ti->ti_flags & TH_SYN))
-                               continue;
-                       tp->t_flags |= TF_RCVD_SCALE;
-                       tp->requested_s_scale = min(cp[2], TCP_MAX_WINSHIFT);
-                       break;
-
-               case TCPOPT_TIMESTAMP:
-                       if (optlen != TCPOLEN_TIMESTAMP)
-                               continue;
-                       to->to_flag |= TOF_TS;
-                       bcopy((char *)cp + 2,
-                           (char *)&to->to_tsval, sizeof(to->to_tsval));
-                       NTOHL(to->to_tsval);
-                       bcopy((char *)cp + 6,
-                           (char *)&to->to_tsecr, sizeof(to->to_tsecr));
-                       NTOHL(to->to_tsecr);
-
-                       /*
-                        * A timestamp received in a SYN makes
-                        * it ok to send timestamp requests and replies.
-                        */
-                       if (ti->ti_flags & TH_SYN) {
-                               tp->t_flags |= TF_RCVD_TSTMP;
-                               tp->ts_recent = to->to_tsval;
-                               tp->ts_recent_age = tcp_now;
-                       }
-                       break;
-               case TCPOPT_CC:
-                       if (optlen != TCPOLEN_CC)
-                               continue;
-                       to->to_flag |= TOF_CC;
-                       bcopy((char *)cp + 2,
-                           (char *)&to->to_cc, sizeof(to->to_cc));
-                       NTOHL(to->to_cc);
-                       /*
-                        * A CC or CC.new option received in a SYN makes
-                        * it ok to send CC in subsequent segments.
-                        */
-                       if (ti->ti_flags & TH_SYN)
-                               tp->t_flags |= TF_RCVD_CC;
-                       break;
-               case TCPOPT_CCNEW:
-                       if (optlen != TCPOLEN_CC)
-                               continue;
-                       if (!(ti->ti_flags & TH_SYN))
-                               continue;
-                       to->to_flag |= TOF_CCNEW;
-                       bcopy((char *)cp + 2,
-                           (char *)&to->to_cc, sizeof(to->to_cc));
-                       NTOHL(to->to_cc);
-                       /*
-                        * A CC or CC.new option received in a SYN makes
-                        * it ok to send CC in subsequent segments.
-                        */
-                       tp->t_flags |= TF_RCVD_CC;
-                       break;
-               case TCPOPT_CCECHO:
-                       if (optlen != TCPOLEN_CC)
-                               continue;
-                       if (!(ti->ti_flags & TH_SYN))
-                               continue;
-                       to->to_flag |= TOF_CCECHO;
-                       bcopy((char *)cp + 2,
-                           (char *)&to->to_ccecho, sizeof(to->to_ccecho));
-                       NTOHL(to->to_ccecho);
-                       break;
-               }
-       }
-       if (ti->ti_flags & TH_SYN)
-               tcp_mss(tp, mss);       /* sets t_maxseg */
-}
-
-/*
- * Pull out of band byte out of a segment so
- * it doesn't appear in the user's data queue.
- * It is still reflected in the segment length for
- * sequencing purposes.
- */
-void
-tcp_pulloutofband(so, ti, m)
-       struct socket *so;
-       struct tcpiphdr *ti;
-       register struct mbuf *m;
-{
-       int cnt = ti->ti_urp - 1;
-
-       while (cnt >= 0) {
-               if (m->m_len > cnt) {
-                       char *cp = mtod(m, caddr_t) + cnt;
-                       struct tcpcb *tp = sototcpcb(so);
-
-                       tp->t_iobc = *cp;
-                       tp->t_oobflags |= TCPOOB_HAVEDATA;
-                       bcopy(cp+1, cp, (unsigned)(m->m_len - cnt - 1));
-                       m->m_len--;
-                       return;
-               }
-               cnt -= m->m_len;
-               m = m->m_next;
-               if (m == 0)
-                       break;
-       }
-       panic("tcp_pulloutofband");
-}
-
-/*
- * Collect new round-trip time estimate
- * and update averages and current timeout.
- */
-void
-tcp_xmit_timer(tp, rtt)
-       register struct tcpcb *tp;
-       short rtt;
-{
-       register short delta;
-
-       tcpstat.tcps_rttupdated++;
-       tp->t_rttupdated++;
-       if (tp->t_srtt != 0) {
-               /*
-                * srtt is stored as fixed point with 3 bits after the
-                * binary point (i.e., scaled by 8).  The following magic
-                * is equivalent to the smoothing algorithm in rfc793 with
-                * an alpha of .875 (srtt = rtt/8 + srtt*7/8 in fixed
-                * point).  Adjust rtt to origin 0.
-                */
-               delta = rtt - 1 - (tp->t_srtt >> TCP_RTT_SHIFT);
-               if ((tp->t_srtt += delta) <= 0)
-                       tp->t_srtt = 1;
-               /*
-                * We accumulate a smoothed rtt variance (actually, a
-                * smoothed mean difference), then set the retransmit
-                * timer to smoothed rtt + 4 times the smoothed variance.
-                * rttvar is stored as fixed point with 2 bits after the
-                * binary point (scaled by 4).  The following is
-                * equivalent to rfc793 smoothing with an alpha of .75
-                * (rttvar = rttvar*3/4 + |delta| / 4).  This replaces
-                * rfc793's wired-in beta.
-                */
-               if (delta < 0)
-                       delta = -delta;
-               delta -= (tp->t_rttvar >> TCP_RTTVAR_SHIFT);
-               if ((tp->t_rttvar += delta) <= 0)
-                       tp->t_rttvar = 1;
-       } else {
-               /*
-                * No rtt measurement yet - use the unsmoothed rtt.
-                * Set the variance to half the rtt (so our first
-                * retransmit happens at 3*rtt).
-                */
-               tp->t_srtt = rtt << TCP_RTT_SHIFT;
-               tp->t_rttvar = rtt << (TCP_RTTVAR_SHIFT - 1);
-       }
-       tp->t_rtt = 0;
-       tp->t_rxtshift = 0;
-
-       /*
-        * the retransmit should happen at rtt + 4 * rttvar.
-        * Because of the way we do the smoothing, srtt and rttvar
-        * will each average +1/2 tick of bias.  When we compute
-        * the retransmit timer, we want 1/2 tick of rounding and
-        * 1 extra tick because of +-1/2 tick uncertainty in the
-        * firing of the timer.  The bias will give us exactly the
-        * 1.5 tick we need.  But, because the bias is
-        * statistical, we have to test that we don't drop below
-        * the minimum feasible timer (which is 2 ticks).
-        */
-       TCPT_RANGESET(tp->t_rxtcur, TCP_REXMTVAL(tp),
-           tp->t_rttmin, TCPTV_REXMTMAX);
-
-       /*
-        * We received an ack for a packet that wasn't retransmitted;
-        * it is probably safe to discard any error indications we've
-        * received recently.  This isn't quite right, but close enough
-        * for now (a route might have failed after we sent a segment,
-        * and the return path might not be symmetrical).
-        */
-       tp->t_softerror = 0;
-}
-
-/*
- * Determine a reasonable value for maxseg size.
- * If the route is known, check route for mtu.
- * If none, use an mss that can be handled on the outgoing
- * interface without forcing IP to fragment; if bigger than
- * an mbuf cluster (MCLBYTES), round down to nearest multiple of MCLBYTES
- * to utilize large mbufs.  If no route is found, route has no mtu,
- * or the destination isn't local, use a default, hopefully conservative
- * size (usually 512 or the default IP max size, but no more than the mtu
- * of the interface), as we can't discover anything about intervening
- * gateways or networks.  We also initialize the congestion/slow start
- * window to be a single segment if the destination isn't local.
- * While looking at the routing entry, we also initialize other path-dependent
- * parameters from pre-set or cached values in the routing entry.
- *
- * Also take into account the space needed for options that we
- * send regularly.  Make maxseg shorter by that amount to assure
- * that we can send maxseg amount of data even when the options
- * are present.  Store the upper limit of the length of options plus
- * data in maxopd.
- *
- * NOTE that this routine is only called when we process an incoming
- * segment, for outgoing segments only tcp_mssopt is called.
- *
- * In case of T/TCP, we call this routine during implicit connection
- * setup as well (offer = -1), to initialize maxseg from the cached
- * MSS of our peer.
- */
-void
-tcp_mss(tp, offer)
-       struct tcpcb *tp;
-       int offer;
-{
-       register struct rtentry *rt;
-       struct ifnet *ifp;
-       register int rtt, mss;
-       u_long bufsize;
-       struct inpcb *inp;
-       struct socket *so;
-       struct rmxp_tao *taop;
-       int origoffer = offer;
-
-       inp = tp->t_inpcb;
-       if ((rt = tcp_rtlookup(inp)) == NULL) {
-               tp->t_maxopd = tp->t_maxseg = tcp_mssdflt;
-               return;
-       }
-       so = inp->inp_socket;
-
-       taop = rmx_taop(rt->rt_rmx);
-       /*
-        * Offer == -1 means that we didn't receive SYN yet,
-        * use cached value in that case;
-        */
-       if (offer == -1)
-               offer = taop->tao_mssopt;
-       /*
-        * Offer == 0 means that there was no MSS on the SYN segment,
-        * in this case we use tcp_mssdflt.
-        */
-       if (offer == 0)
-               offer = tcp_mssdflt;
-       else
-               /*
-                * Sanity check: make sure that maxopd will be large
-                * enough to allow some data on segments even is the
-                * all the option space is used (40bytes).  Otherwise
-                * funny things may happen in tcp_output.
-                */
-               offer = max(offer, 64);
-       taop->tao_mssopt = offer;
-
-       /*
-        * While we're here, check if there's an initial rtt
-        * or rttvar.  Convert from the route-table units
-        * to scaled multiples of the slow timeout timer.
-        */
-       if (tp->t_srtt == 0 && (rtt = rt->rt_rmx.rmx_rtt)) {
-               /*
-                * XXX the lock bit for RTT indicates that the value
-                * is also a minimum value; this is subject to time.
-                */
-               if (rt->rt_rmx.rmx_locks & RTV_RTT)
-                       tp->t_rttmin = rtt / (RTM_RTTUNIT / PR_SLOWHZ);
-               tp->t_srtt = rtt / (RTM_RTTUNIT / (PR_SLOWHZ * TCP_RTT_SCALE));
-               tcpstat.tcps_usedrtt++;
-               if (rt->rt_rmx.rmx_rttvar) {
-                       tp->t_rttvar = rt->rt_rmx.rmx_rttvar /
-                           (RTM_RTTUNIT / (PR_SLOWHZ * TCP_RTTVAR_SCALE));
-                       tcpstat.tcps_usedrttvar++;
-               } else {
-                       /* default variation is +- 1 rtt */
-                       tp->t_rttvar =
-                           tp->t_srtt * TCP_RTTVAR_SCALE / TCP_RTT_SCALE;
-               }
-               TCPT_RANGESET(tp->t_rxtcur,
-                   ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1,
-                   tp->t_rttmin, TCPTV_REXMTMAX);
-       }
-       /*
-        * if there's an mtu associated with the route, use it
-        */
-       if (rt->rt_rmx.rmx_mtu)
-               mss = rt->rt_rmx.rmx_mtu - sizeof(struct tcpiphdr);
-       else
-       {
-               mss = rt->rt_mtu - sizeof(struct tcpiphdr);
-               if (!in_localaddr(inp->inp_faddr))
-                       mss = min(mss, tcp_mssdflt);
-       }
-       mss = min(mss, offer);
-       /*
-        * maxopd stores the maximum length of data AND options
-        * in a segment; maxseg is the amount of data in a normal
-        * segment.  We need to store this value (maxopd) apart
-        * from maxseg, because now every segment carries options
-        * and thus we normally have somewhat less data in segments.
-        */
-       tp->t_maxopd = mss;
-
-       /*
-        * In case of T/TCP, origoffer==-1 indicates, that no segments
-        * were received yet.  In this case we just guess, otherwise
-        * we do the same as before T/TCP.
-        */
-       if ((tp->t_flags & (TF_REQ_TSTMP|TF_NOOPT)) == TF_REQ_TSTMP &&
-           (origoffer == -1 ||
-            (tp->t_flags & TF_RCVD_TSTMP) == TF_RCVD_TSTMP))
-               mss -= TCPOLEN_TSTAMP_APPA;
-       if ((tp->t_flags & (TF_REQ_CC|TF_NOOPT)) == TF_REQ_CC &&
-           (origoffer == -1 ||
-            (tp->t_flags & TF_RCVD_CC) == TF_RCVD_CC))
-               mss -= TCPOLEN_CC_APPA;
-
-#if    (MCLBYTES & (MCLBYTES - 1)) == 0
-               if (mss > MCLBYTES)
-                       mss &= ~(MCLBYTES-1);
-#else
-               if (mss > MCLBYTES)
-                       mss = mss / MCLBYTES * MCLBYTES;
-#endif
-       /*
-        * If there's a pipesize, change the socket buffer
-        * to that size.  Make the socket buffers an integral
-        * number of mss units; if the mss is larger than
-        * the socket buffer, decrease the mss.
-        */
-#ifdef RTV_SPIPE
-       if ((bufsize = rt->rt_rmx.rmx_sendpipe) == 0)
-#endif
-               bufsize = so->so_snd.sb_hiwat;
-       if (bufsize < mss)
-               mss = bufsize;
-       else {
-               bufsize = roundup(bufsize, mss);
-               if (bufsize > sb_max)
-                       bufsize = sb_max;
-               (void)sbreserve(&so->so_snd, bufsize);
-       }
-       tp->t_maxseg = mss;
-
-#ifdef RTV_RPIPE
-       if ((bufsize = rt->rt_rmx.rmx_recvpipe) == 0)
-#endif
-               bufsize = so->so_rcv.sb_hiwat;
-       if (bufsize > mss) {
-               bufsize = roundup(bufsize, mss);
-               if (bufsize > sb_max)
-                       bufsize = sb_max;
-               (void)sbreserve(&so->so_rcv, bufsize);
-       }
-       /*
-        * Don't force slow-start on local network.
-        */
-       if (!in_localaddr(inp->inp_faddr))
-               tp->snd_cwnd = mss;
-
-       if (rt->rt_rmx.rmx_ssthresh) {
-               /*
-                * There's some sort of gateway or interface
-                * buffer limit on the path.  Use this to set
-                * the slow start threshhold, but set the
-                * threshold to no less than 2*mss.
-                */
-               tp->snd_ssthresh = max(2 * mss, rt->rt_rmx.rmx_ssthresh);
-               tcpstat.tcps_usedssthresh++;
-       }
-}
-
-/*
- * Determine the MSS option to send on an outgoing SYN.
- */
-int
-tcp_mssopt(tp)
-       struct tcpcb *tp;
-{
-       struct rtentry *rt;
-
-       rt = tcp_rtlookup(tp->t_inpcb);
-       if (rt == NULL)
-               return tcp_mssdflt;
-
-       return rt->rt_mtu - sizeof(struct tcpiphdr);
-}
-#endif /* TUBA_INCLUDE */
diff --git a/reactos/lib/oskittcp/oskittcp/tcp_output.c b/reactos/lib/oskittcp/oskittcp/tcp_output.c
deleted file mode 100644 (file)
index 9760574..0000000
+++ /dev/null
@@ -1,823 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_output.c        8.3 (Berkeley) 12/30/93
- */
-
-#define        TCPOUTFLAGS
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/errno.h>
-#include <sys/queue.h>
-
-#include <net/route.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-#ifdef TCPDEBUG
-#include <netinet/tcp_debug.h>
-#endif
-#include <oskittcp.h>
-
-#ifdef notyet
-extern struct mbuf *m_copypack();
-#endif
-
-
-/*
- * Tcp output routine: figure out what should be sent and send it.
- */
-int
-tcp_output(tp)
-       register struct tcpcb *tp;
-{
-       register struct socket *so = tp->t_inpcb->inp_socket;
-       register long len, win;
-       int off, flags, error = EINVAL;
-       register struct mbuf *m;
-       register struct tcpiphdr *ti;
-       u_char opt[TCP_MAXOLEN];
-       unsigned optlen, hdrlen;
-       int idle, sendalot;
-       struct rmxp_tao *taop;
-       struct rmxp_tao tao_noncached;
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * Determine length of data that should be transmitted,
-        * and flags that will be used.
-        * If there is some data or critical controls (SYN, RST)
-        * to send, then transmit; otherwise, investigate further.
-        */
-       idle = (tp->snd_max == tp->snd_una);
-       if (idle && tp->t_idle >= tp->t_rxtcur)
-               /*
-                * We have been idle for "a while" and no acks are
-                * expected to clock out any data we send --
-                * slow start to get ack "clock" running again.
-                */
-               tp->snd_cwnd = tp->t_maxseg;
-again:
-       sendalot = 0;
-       off = tp->snd_nxt - tp->snd_una;
-       win = min(tp->snd_wnd, tp->snd_cwnd);
-
-       flags = tcp_outflags[tp->t_state];
-       /*
-        * Get standard flags, and add SYN or FIN if requested by 'hidden'
-        * state flags.
-        */
-       if (tp->t_flags & TF_NEEDFIN)
-               flags |= TH_FIN;
-       if (tp->t_flags & TF_NEEDSYN)
-               flags |= TH_SYN;
-
-       /*
-        * If in persist timeout with window of 0, send 1 byte.
-        * Otherwise, if window is small but nonzero
-        * and timer expired, we will send what we can
-        * and go to transmit state.
-        */
-       if (tp->t_force) {
-               if (win == 0) {
-                       /*
-                        * If we still have some data to send, then
-                        * clear the FIN bit.  Usually this would
-                        * happen below when it realizes that we
-                        * aren't sending all the data.  However,
-                        * if we have exactly 1 byte of unset data,
-                        * then it won't clear the FIN bit below,
-                        * and if we are in persist state, we wind
-                        * up sending the packet without recording
-                        * that we sent the FIN bit.
-                        *
-                        * We can't just blindly clear the FIN bit,
-                        * because if we don't have any more data
-                        * to send then the probe will be the FIN
-                        * itself.
-                        */
-                       if (off < so->so_snd.sb_cc)
-                               flags &= ~TH_FIN;
-                       win = 1;
-               } else {
-                       tp->t_timer[TCPT_PERSIST] = 0;
-                       tp->t_rxtshift = 0;
-               }
-       }
-
-       len = min(so->so_snd.sb_cc, win) - off;
-
-       if ((taop = tcp_gettaocache(tp->t_inpcb)) == NULL) {
-               taop = &tao_noncached;
-               bzero(taop, sizeof(*taop));
-       }
-
-       /*
-        * Lop off SYN bit if it has already been sent.  However, if this
-        * is SYN-SENT state and if segment contains data and if we don't
-        * know that foreign host supports TAO, suppress sending segment.
-        */
-       if ((flags & TH_SYN) && SEQ_GT(tp->snd_nxt, tp->snd_una)) {
-               flags &= ~TH_SYN;
-               off--, len++;
-               if (len > 0 && tp->t_state == TCPS_SYN_SENT &&
-                   taop->tao_ccsent == 0)
-                       return 0;
-       }
-
-       /*
-        * Be careful not to send data and/or FIN on SYN segments
-        * in cases when no CC option will be sent.
-        * This measure is needed to prevent interoperability problems
-        * with not fully conformant TCP implementations.
-        */
-       if ((flags & TH_SYN) &&
-           ((tp->t_flags & TF_NOOPT) || !(tp->t_flags & TF_REQ_CC) ||
-            ((flags & TH_ACK) && !(tp->t_flags & TF_RCVD_CC)))) {
-               len = 0;
-               flags &= ~TH_FIN;
-       }
-
-       if (len < 0) {
-               /*
-                * If FIN has been sent but not acked,
-                * but we haven't been called to retransmit,
-                * len will be -1.  Otherwise, window shrank
-                * after we sent into it.  If window shrank to 0,
-                * cancel pending retransmit, pull snd_nxt back
-                * to (closed) window, and set the persist timer
-                * if it isn't already going.  If the window didn't
-                * close completely, just wait for an ACK.
-                */
-               len = 0;
-               if (win == 0) {
-                       tp->t_timer[TCPT_REXMT] = 0;
-                       tp->t_rxtshift = 0;
-                       tp->snd_nxt = tp->snd_una;
-                       if (tp->t_timer[TCPT_PERSIST] == 0)
-                               tcp_setpersist(tp);
-               }
-       }
-       if (len > tp->t_maxseg) {
-               len = tp->t_maxseg;
-               sendalot = 1;
-       }
-       if (SEQ_LT(tp->snd_nxt + len, tp->snd_una + so->so_snd.sb_cc))
-               flags &= ~TH_FIN;
-
-       win = sbspace(&so->so_rcv);
-
-       /*
-        * Sender silly window avoidance.  If connection is idle
-        * and can send all data, a maximum segment,
-        * at least a maximum default-size segment do it,
-        * or are forced, do it; otherwise don't bother.
-        * If peer's buffer is tiny, then send
-        * when window is at least half open.
-        * If retransmitting (possibly after persist timer forced us
-        * to send into a small window), then must resend.
-        */
-       if (len) {
-               if (len == tp->t_maxseg)
-                       goto send;
-               if ((idle || tp->t_flags & TF_NODELAY) &&
-                   (tp->t_flags & TF_NOPUSH) == 0 &&
-                   len + off >= so->so_snd.sb_cc)
-                       goto send;
-               if (tp->t_force)
-                       goto send;
-               if (len >= tp->max_sndwnd / 2 && tp->max_sndwnd > 0)
-                       goto send;
-               if (SEQ_LT(tp->snd_nxt, tp->snd_max))
-                       goto send;
-       }
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * Compare available window to amount of window
-        * known to peer (as advertised window less
-        * next expected input).  If the difference is at least two
-        * max size segments, or at least 50% of the maximum possible
-        * window, then want to send a window update to peer.
-        */
-       if (win > 0) {
-               /*
-                * "adv" is the amount we can increase the window,
-                * taking into account that we are limited by
-                * TCP_MAXWIN << tp->rcv_scale.
-                */
-               long adv = min(win, (long)TCP_MAXWIN << tp->rcv_scale) -
-                       (tp->rcv_adv - tp->rcv_nxt);
-
-               if (adv >= (long) (2 * tp->t_maxseg))
-                       goto send;
-               if (2 * adv >= (long) so->so_rcv.sb_hiwat)
-                       goto send;
-       }
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * Send if we owe peer an ACK.
-        */
-       if (tp->t_flags & TF_ACKNOW)
-               goto send;
-       if ((flags & TH_RST) ||
-           ((flags & TH_SYN) && (tp->t_flags & TF_NEEDSYN) == 0))
-               goto send;
-       if (SEQ_GT(tp->snd_up, tp->snd_una))
-               goto send;
-       /*
-        * If our state indicates that FIN should be sent
-        * and we have not yet done so, or we're retransmitting the FIN,
-        * then we need to send.
-        */
-       if (flags & TH_FIN &&
-           ((tp->t_flags & TF_SENTFIN) == 0 || tp->snd_nxt == tp->snd_una))
-               goto send;
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * TCP window updates are not reliable, rather a polling protocol
-        * using ``persist'' packets is used to insure receipt of window
-        * updates.  The three ``states'' for the output side are:
-        *      idle                    not doing retransmits or persists
-        *      persisting              to move a small or zero window
-        *      (re)transmitting        and thereby not persisting
-        *
-        * tp->t_timer[TCPT_PERSIST]
-        *      is set when we are in persist state.
-        * tp->t_force
-        *      is set when we are called to send a persist packet.
-        * tp->t_timer[TCPT_REXMT]
-        *      is set when we are retransmitting
-        * The output side is idle when both timers are zero.
-        *
-        * If send window is too small, there is data to transmit, and no
-        * retransmit or persist is pending, then go to persist state.
-        * If nothing happens soon, send when timer expires:
-        * if window is nonzero, transmit what we can,
-        * otherwise force out a byte.
-        */
-       if (so->so_snd.sb_cc && tp->t_timer[TCPT_REXMT] == 0 &&
-           tp->t_timer[TCPT_PERSIST] == 0) {
-               tp->t_rxtshift = 0;
-               tcp_setpersist(tp);
-       }
-
-       /*
-        * No reason to send a segment, just return.
-        */
-       /*return (0);*/
-
-send:
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * Before ESTABLISHED, force sending of initial options
-        * unless TCP set not to do any options.
-        * NOTE: we assume that the IP/TCP header plus TCP options
-        * always fit in a single mbuf, leaving room for a maximum
-        * link header, i.e.
-        *      max_linkhdr + sizeof (struct tcpiphdr) + optlen <= MHLEN
-        */
-       optlen = 0;
-       hdrlen = sizeof (struct tcpiphdr);
-       if (flags & TH_SYN) {
-               tp->snd_nxt = tp->iss;
-               if ((tp->t_flags & TF_NOOPT) == 0) {
-                       u_short mss;
-
-                       opt[0] = TCPOPT_MAXSEG;
-                       opt[1] = TCPOLEN_MAXSEG;
-                       mss = htons((u_short) tcp_mssopt(tp));
-                       (void)memcpy(opt + 2, &mss, sizeof(mss));
-                       optlen = TCPOLEN_MAXSEG;
-
-                       if ((tp->t_flags & TF_REQ_SCALE) &&
-                           ((flags & TH_ACK) == 0 ||
-                           (tp->t_flags & TF_RCVD_SCALE))) {
-                               *((u_long *) (opt + optlen)) = htonl(
-                                       TCPOPT_NOP << 24 |
-                                       TCPOPT_WINDOW << 16 |
-                                       TCPOLEN_WINDOW << 8 |
-                                       tp->request_r_scale);
-                               optlen += 4;
-                       }
-               }
-       }
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * Send a timestamp and echo-reply if this is a SYN and our side
-        * wants to use timestamps (TF_REQ_TSTMP is set) or both our side
-        * and our peer have sent timestamps in our SYN's.
-        */
-       if ((tp->t_flags & (TF_REQ_TSTMP|TF_NOOPT)) == TF_REQ_TSTMP &&
-           (flags & TH_RST) == 0 &&
-           ((flags & TH_ACK) == 0 ||
-            (tp->t_flags & TF_RCVD_TSTMP))) {
-               u_long *lp = (u_long *)(opt + optlen);
-
-               /* Form timestamp option as shown in appendix A of RFC 1323. */
-               *lp++ = htonl(TCPOPT_TSTAMP_HDR);
-               *lp++ = htonl(tcp_now);
-               *lp   = htonl(tp->ts_recent);
-               optlen += TCPOLEN_TSTAMP_APPA;
-       }
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * Send `CC-family' options if our side wants to use them (TF_REQ_CC),
-        * options are allowed (!TF_NOOPT) and it's not a RST.
-        */
-       if ((tp->t_flags & (TF_REQ_CC|TF_NOOPT)) == TF_REQ_CC &&
-            (flags & TH_RST) == 0) {
-               switch (flags & (TH_SYN|TH_ACK)) {
-               /*
-                * This is a normal ACK, send CC if we received CC before
-                * from our peer.
-                */
-               case TH_ACK:
-                       if (!(tp->t_flags & TF_RCVD_CC))
-                               break;
-                       /*FALLTHROUGH*/
-
-               /*
-                * We can only get here in T/TCP's SYN_SENT* state, when
-                * we're a sending a non-SYN segment without waiting for
-                * the ACK of our SYN.  A check above assures that we only
-                * do this if our peer understands T/TCP.
-                */
-               case 0:
-                       opt[optlen++] = TCPOPT_NOP;
-                       opt[optlen++] = TCPOPT_NOP;
-                       opt[optlen++] = TCPOPT_CC;
-                       opt[optlen++] = TCPOLEN_CC;
-                       *(u_int32_t *)&opt[optlen] = htonl(tp->cc_send);
-
-                       optlen += 4;
-                       break;
-
-               /*
-                * This is our initial SYN, check whether we have to use
-                * CC or CC.new.
-                */
-               case TH_SYN:
-#if 0
-                       opt[optlen++] = TCPOPT_NOP;
-                       opt[optlen++] = TCPOPT_NOP;
-                       opt[optlen++] = tp->t_flags & TF_SENDCCNEW ?
-                                               TCPOPT_CCNEW : TCPOPT_CC;
-                       opt[optlen++] = TCPOLEN_CC;
-                       *(u_int32_t *)&opt[optlen] = htonl(tp->cc_send);
-                       optlen += 4;
-#endif
-                       break;
-
-               /*
-                * This is a SYN,ACK; send CC and CC.echo if we received
-                * CC from our peer.
-                */
-               case (TH_SYN|TH_ACK):
-                       if (tp->t_flags & TF_RCVD_CC) {
-                               opt[optlen++] = TCPOPT_NOP;
-                               opt[optlen++] = TCPOPT_NOP;
-                               opt[optlen++] = TCPOPT_CC;
-                               opt[optlen++] = TCPOLEN_CC;
-                               *(u_int32_t *)&opt[optlen] =
-                                       htonl(tp->cc_send);
-                               optlen += 4;
-                               opt[optlen++] = TCPOPT_NOP;
-                               opt[optlen++] = TCPOPT_NOP;
-                               opt[optlen++] = TCPOPT_CCECHO;
-                               opt[optlen++] = TCPOLEN_CC;
-                               *(u_int32_t *)&opt[optlen] =
-                                       htonl(tp->cc_recv);
-                               optlen += 4;
-                       }
-                       break;
-               }
-       }
-
-       hdrlen += optlen;
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * Adjust data length if insertion of options will
-        * bump the packet length beyond the t_maxopd length.
-        * Clear the FIN bit because we cut off the tail of
-        * the segment.
-        */
-        if (len + optlen > tp->t_maxopd) {
-               /*
-                * If there is still more to send, don't close the connection.
-                */
-               flags &= ~TH_FIN;
-               len = tp->t_maxopd - optlen;
-               sendalot = 1;
-       }
-
-/*#ifdef DIAGNOSTIC*/
-       if (max_linkhdr + hdrlen > MHLEN)
-               panic("tcphdr too big");
-/*#endif*/
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : tp->rcv_nxt %x\n", tp->rcv_nxt));
-
-       /*
-        * Grab a header mbuf, attaching a copy of data to
-        * be transmitted, and initialize the header from
-        * the template for sends on this connection.
-        */
-       if (len) {
-           if (tp->t_force && len == 1)
-               tcpstat.tcps_sndprobe++;
-           else if (SEQ_LT(tp->snd_nxt, tp->snd_max)) {
-               tcpstat.tcps_sndrexmitpack++;
-               tcpstat.tcps_sndrexmitbyte += len;
-           } else {
-               tcpstat.tcps_sndpack++;
-               tcpstat.tcps_sndbyte += len;
-           }
-#ifdef notyet
-           if ((m = m_copypack(so->so_snd.sb_mb, off,
-                               (int)len, max_linkhdr + hdrlen)) == 0) {
-               error = ENOBUFS;
-               goto out;
-           }
-           /*
-            * m_copypack left space for our hdr; use it.
-            */
-           m->m_len += hdrlen;
-           m->m_data -= hdrlen;
-#else
-           MGETHDR(m, M_DONTWAIT, MT_HEADER);
-           if (m == NULL) {
-               error = ENOBUFS;
-               goto out;
-           }
-           m->m_data += max_linkhdr;
-           m->m_len = hdrlen;
-           if (len <= MHLEN - hdrlen - max_linkhdr) {
-               m_copydata(so->so_snd.sb_mb, off, (int) len,
-                          mtod(m, caddr_t) + hdrlen);
-               m->m_len += len;
-           } else {
-               m->m_next = m_copy(so->so_snd.sb_mb, off, (int) len);
-               if (m->m_next == 0) {
-                   (void) m_free(m);
-                   error = ENOBUFS;
-                   goto out;
-               }
-           }
-#endif
-           /*
-            * If we're sending everything we've got, set PUSH.
-            * (This will keep happy those implementations which only
-            * give data to the user when a buffer fills or
-            * a PUSH comes in.)
-            */
-           if (off + len == so->so_snd.sb_cc)
-               flags |= TH_PUSH;
-       } else {
-           if (tp->t_flags & TF_ACKNOW)
-               tcpstat.tcps_sndacks++;
-           else if (flags & (TH_SYN|TH_FIN|TH_RST))
-               tcpstat.tcps_sndctrl++;
-           else if (SEQ_GT(tp->snd_up, tp->snd_una))
-               tcpstat.tcps_sndurg++;
-           else
-               tcpstat.tcps_sndwinup++;
-           
-           MGETHDR(m, M_DONTWAIT, MT_HEADER);
-           if (m == NULL) {
-               error = ENOBUFS;
-               goto out;
-           }
-           m->m_data += max_linkhdr;
-           m->m_len = hdrlen;
-       }
-       
-       m->m_pkthdr.rcvif = (struct ifnet *)0;
-       ti = mtod(m, struct tcpiphdr *);
-       if (tp->t_template == 0)
-               panic("tcp_output");
-       (void)memcpy(ti, tp->t_template, sizeof (struct tcpiphdr));
-
-       /*
-        * Fill in fields, remembering maximum advertised
-        * window for use in delaying messages about window sizes.
-        * If resending a FIN, be sure not to use a new sequence number.
-        */
-
-       if (flags & TH_FIN && tp->t_flags & TF_SENTFIN &&
-           tp->snd_nxt == tp->snd_max)
-               tp->snd_nxt--;
-
-       /*
-        * If we are doing retransmissions, then snd_nxt will
-        * not reflect the first unsent octet.  For ACK only
-        * packets, we do not want the sequence number of the
-        * retransmitted packet, we want the sequence number
-        * of the next unsent octet.  So, if there is no data
-        * (and no SYN or FIN), use snd_max instead of snd_nxt
-        * when filling in ti_seq.  But if we are in persist
-        * state, snd_max might reflect one byte beyond the
-        * right edge of the window, so use snd_nxt in that
-        * case, since we know we aren't doing a retransmission.
-        * (retransmit and persist are mutually exclusive...)
-        */
-       if (len || (flags & (TH_SYN|TH_FIN)) || tp->t_timer[TCPT_PERSIST])
-               ti->ti_seq = htonl(tp->snd_nxt);
-       else
-               ti->ti_seq = htonl(tp->snd_max);
-
-       ti->ti_ack = htonl(tp->rcv_nxt);
-
-       if (optlen) {
-               (void)memcpy(ti + 1, opt, optlen);
-               ti->ti_off = (sizeof (struct tcphdr) + optlen) >> 2;
-       }
-
-       ti->ti_flags = flags;
-
-       /*
-        * Calculate receive window.  Don't shrink window,
-        * but avoid silly window syndrome.
-        */
-       if (win < (long)(so->so_rcv.sb_hiwat / 4) && win < (long)tp->t_maxseg)
-               win = 0;
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : AckNumber %x\n", ti->ti_ack));
-
-       if (win > (long)TCP_MAXWIN << tp->rcv_scale)
-               win = (long)TCP_MAXWIN << tp->rcv_scale;
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : AckNumber %x\n", ti->ti_ack));
-
-       if (win < (long)(tp->rcv_adv - tp->rcv_nxt))
-               win = (long)(tp->rcv_adv - tp->rcv_nxt);
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : AckNumber %x\n", ti->ti_ack));
-
-       ti->ti_win = htons((u_short) (win>>tp->rcv_scale));
-       if (SEQ_GT(tp->snd_up, tp->snd_nxt)) {
-           ti->ti_urp = htons((u_short)(tp->snd_up - tp->snd_nxt));
-           ti->ti_flags |= TH_URG;
-       } else
-               /*
-                * If no urgent pointer to send, then we pull
-                * the urgent pointer to the left edge of the send window
-                * so that it doesn't drift into the send window on sequence
-                * number wraparound.
-                */
-               tp->snd_up = tp->snd_una;               /* drag it along */
-
-       /*
-        * Put TCP length in extended header, and then
-        * checksum extended header and data.
-        */
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : AckNumber %x\n", ti->ti_ack));
-
-       if (len + optlen) {
-           ti->ti_src.s_addr = tp->t_inpcb->inp_laddr.s_addr;
-           ti->ti_dst.s_addr = tp->t_inpcb->inp_faddr.s_addr;
-           ti->ti_pr  = 6;
-           ti->ti_len = htons((u_short)(sizeof (struct tcphdr) +
-                                        optlen + len));
-       }
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : AckNumber %x\n", ti->ti_ack));
-
-       ti->ti_sum = in_cksum(m, (int)(hdrlen + len));
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : AckNumber %x\n", ti->ti_ack));
-
-       /*
-        * In transmit state, time the transmission and arrange for
-        * the retransmit.  In persist state, just set snd_max.
-        */
-       if (tp->t_force == 0 || tp->t_timer[TCPT_PERSIST] == 0) {
-               tcp_seq startseq = tp->snd_nxt;
-
-               /*
-                * Advance snd_nxt over sequence space of this segment.
-                */
-               if (flags & (TH_SYN|TH_FIN)) {
-                       if (flags & TH_SYN)
-                               tp->snd_nxt++;
-                       if (flags & TH_FIN) {
-                               tp->snd_nxt++;
-                               tp->t_flags |= TF_SENTFIN;
-                       }
-               }
-               tp->snd_nxt += len;
-               if (SEQ_GT(tp->snd_nxt, tp->snd_max)) {
-                       tp->snd_max = tp->snd_nxt;
-                       /*
-                        * Time this transmission if not a retransmission and
-                        * not currently timing anything.
-                        */
-                       if (tp->t_rtt == 0) {
-                               tp->t_rtt = 1;
-                               tp->t_rtseq = startseq;
-                               tcpstat.tcps_segstimed++;
-                       }
-               }
-
-               /*
-                * Set retransmit timer if not currently set,
-                * and not doing an ack or a keep-alive probe.
-                * Initial value for retransmit timer is smoothed
-                * round-trip time + 2 * round-trip time variance.
-                * Initialize shift counter which is used for backoff
-                * of retransmit time.
-                */
-               if (tp->t_timer[TCPT_REXMT] == 0 &&
-                   tp->snd_nxt != tp->snd_una) {
-                       tp->t_timer[TCPT_REXMT] = tp->t_rxtcur;
-                       if (tp->t_timer[TCPT_PERSIST]) {
-                               tp->t_timer[TCPT_PERSIST] = 0;
-                               tp->t_rxtshift = 0;
-                       }
-               }
-       } else
-               if (SEQ_GT(tp->snd_nxt + len, tp->snd_max))
-                       tp->snd_max = tp->snd_nxt + len;
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : AckNumber %x\n", ti->ti_ack));
-
-#ifdef TCPDEBUG
-       /*
-        * Trace.
-        */
-       if (so->so_options & SO_DEBUG)
-               tcp_trace(TA_OUTPUT, tp->t_state, tp, ti, 0);
-#endif
-
-       /*
-        * Fill in IP length and desired time to live and
-        * send to IP level.  There should be a better way
-        * to handle ttl and tos; we could keep them in
-        * the template, but need a way to checksum without them.
-        */
-       m->m_pkthdr.len = hdrlen + len;
-#ifdef TUBA
-       if (tp->t_tuba_pcb)
-               error = tuba_output(m, tp);
-       else
-#endif
-    {
-#if 1
-       struct rtentry *rt;
-#endif
-       ((struct ip *)ti)->ip_len = m->m_pkthdr.len;
-       ((struct ip *)ti)->ip_ttl = tp->t_inpcb->inp_ip.ip_ttl; /* XXX */
-       ((struct ip *)ti)->ip_tos = tp->t_inpcb->inp_ip.ip_tos; /* XXX */
-#if 1
-       /*
-        * See if we should do MTU discovery.  We do it only if the following
-        * are true:
-        *      1) we have a valid route to the destination
-        *      2) the MTU is not locked (if it is, then discovery has been
-        *         disabled)
-        */
-       if ((rt = &tp->t_inpcb->inp_route.ro_rt)
-           && rt->rt_flags & RTF_UP
-           && !(rt->rt_rmx.rmx_locks & RTV_MTU)) {
-               ((struct ip *)ti)->ip_off |= IP_DF;
-       }
-#endif
-
-       OS_DbgPrint(OSK_MID_TRACE,
-                   ("Before IP_OUTPUT : AckNumber %x\n", ti->ti_ack));
-
-       error = ip_output(so, m, tp->t_inpcb->inp_options, &tp->t_inpcb->inp_route,
-                         so->so_options & SO_DONTROUTE, 0);
-    }
-       if (error) {
-out:
-               if (error == ENOBUFS) {
-                       tcp_quench(tp->t_inpcb, 0);
-                       return (0);
-               }
-#if 1
-               if (error == EMSGSIZE) {
-                       /*
-                        * ip_output() will have already fixed the route
-                        * for us.  tcp_mtudisc() will, as its last action,
-                        * initiate retransmission, so it is important to
-                        * not do so here.
-                        */
-                       tcp_mtudisc(tp->t_inpcb, 0);
-                       return 0;
-               }
-#endif
-               if ((error == EHOSTUNREACH || error == ENETDOWN)
-                   && TCPS_HAVERCVDSYN(tp->t_state)) {
-                       tp->t_softerror = error;
-                       return (0);
-               }
-               return (error);
-       }
-       tcpstat.tcps_sndtotal++;
-
-       /*
-        * Data sent (as far as we can tell).
-        * If this advertises a larger window than any other segment,
-        * then remember the size of the advertised window.
-        * Any pending ACK has now been sent.
-        */
-       if (win > 0 && SEQ_GT(tp->rcv_nxt+win, tp->rcv_adv))
-               tp->rcv_adv = tp->rcv_nxt + win;
-       tp->last_ack_sent = tp->rcv_nxt;
-       tp->t_flags &= ~(TF_ACKNOW|TF_DELACK);
-       if (sendalot)
-               goto again;
-       return (0);
-}
-
-void
-tcp_setpersist(tp)
-       register struct tcpcb *tp;
-{
-       register t = ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1;
-
-       if (tp->t_timer[TCPT_REXMT])
-               panic("tcp_output REXMT");
-       /*
-        * Start/restart persistance timer.
-        */
-       TCPT_RANGESET(tp->t_timer[TCPT_PERSIST],
-           t * tcp_backoff[tp->t_rxtshift],
-           TCPTV_PERSMIN, TCPTV_PERSMAX);
-       if (tp->t_rxtshift < TCP_MAXRXTSHIFT)
-               tp->t_rxtshift++;
-}
diff --git a/reactos/lib/oskittcp/oskittcp/tcp_subr.c b/reactos/lib/oskittcp/oskittcp/tcp_subr.c
deleted file mode 100644 (file)
index b67a1e9..0000000
+++ /dev/null
@@ -1,610 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_subr.c  8.1 (Berkeley) 6/10/93
- */
-
-#include <sys/param.h>
-#include <sys/proc.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/protosw.h>
-#include <sys/errno.h>
-#include <sys/queue.h>
-
-#include <net/route.h>
-#include <net/if.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/in_var.h>
-#include <netinet/ip_var.h>
-#include <netinet/ip_icmp.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-#ifdef TCPDEBUG
-#include <netinet/tcp_debug.h>
-#endif
-
-/* patchable/settable parameters for tcp */
-int    tcp_mssdflt = TCP_MSS;
-int    tcp_rttdflt = TCPTV_SRTTDFLT / PR_SLOWHZ;
-int    tcp_do_rfc1323 = 1;
-int    tcp_do_rfc1644 = 1;
-static void tcp_cleartaocache(void);
-
-/*
- * Target size of TCP PCB hash table. Will be rounded down to a prime
- * number.
- */
-#ifndef TCBHASHSIZE
-#define TCBHASHSIZE    128
-#endif
-
-/*
- * Tcp initialization
- */
-void
-tcp_init()
-{
-
-       tcp_iss = boottime.tv_sec;              /* wrong */
-       tcp_ccgen = 1;
-       tcp_cleartaocache();
-       LIST_INIT(&tcb);
-       tcbinfo.listhead = &tcb;
-       tcbinfo.hashbase = phashinit(TCBHASHSIZE, M_PCB, &tcbinfo.hashsize);
-       if (max_protohdr < sizeof(struct tcpiphdr))
-               max_protohdr = sizeof(struct tcpiphdr);
-       if (max_linkhdr + sizeof(struct tcpiphdr) > MHLEN)
-               panic("tcp_init");
-}
-
-/*
- * Create template to be used to send tcp packets on a connection.
- * Call after host entry created, allocates an mbuf and fills
- * in a skeletal tcp/ip header, minimizing the amount of work
- * necessary when the connection is used.
- */
-struct tcpiphdr *
-tcp_template(tp)
-       struct tcpcb *tp;
-{
-       register struct inpcb *inp = tp->t_inpcb;
-       register struct mbuf *m;
-       register struct tcpiphdr *n;
-
-       if ((n = tp->t_template) == 0) {
-           m = m_get(M_DONTWAIT, MT_HEADER);
-           OS_DbgPrint(OSK_MID_TRACE,("Allocated template mbuf at %x\n", m));
-               if (m == NULL)
-                       return (0);
-               m->m_len = sizeof (struct tcpiphdr);
-               n = mtod(m, struct tcpiphdr *);
-       }
-       n->ti_next = n->ti_prev = 0;
-       n->ti_x1 = 0;
-       n->ti_pr = IPPROTO_TCP;
-       n->ti_len = htons(sizeof (struct tcpiphdr) - sizeof (struct ip));
-       n->ti_src = inp->inp_laddr;
-       n->ti_dst = inp->inp_faddr;
-       n->ti_sport = inp->inp_lport;
-       n->ti_dport = inp->inp_fport;
-       n->ti_seq = 0;
-       n->ti_ack = 0;
-       n->ti_x2 = 0;
-       n->ti_off = 5;
-       n->ti_flags = 0;
-       n->ti_win = 0;
-       n->ti_sum = 0;
-       n->ti_urp = 0;
-       return (n);
-}
-
-/*
- * Send a single message to the TCP at address specified by
- * the given TCP/IP header.  If m == 0, then we make a copy
- * of the tcpiphdr at ti and send directly to the addressed host.
- * This is used to force keep alive messages out using the TCP
- * template for a connection tp->t_template.  If flags are given
- * then we send a message back to the TCP which originated the
- * segment ti, and discard the mbuf containing it and any other
- * attached mbufs.
- *
- * In any case the ack and sequence number of the transmitted
- * segment are as specified by the parameters.
- */
-void
-tcp_respond(tp, ti, m, ack, seq, flags)
-       struct tcpcb *tp;
-       register struct tcpiphdr *ti;
-       register struct mbuf *m;
-       tcp_seq ack, seq;
-       int flags;
-{
-       register int tlen;
-       int win = 0;
-       struct route *ro = 0;
-
-       if (tp) {
-               win = sbspace(&tp->t_inpcb->inp_socket->so_rcv);
-               ro = &tp->t_inpcb->inp_route;
-       }
-       if (m == 0) {
-               m = m_gethdr(M_DONTWAIT, MT_HEADER);
-               if (m == NULL)
-                       return;
-#ifdef TCP_COMPAT_42
-               tlen = 1;
-#else
-               tlen = 0;
-#endif
-               m->m_data += max_linkhdr;
-               *mtod(m, struct tcpiphdr *) = *ti;
-               ti = mtod(m, struct tcpiphdr *);
-               flags = TH_ACK;
-       } else {
-               m_freem(m->m_next);
-               m->m_next = 0;
-               m->m_data = (caddr_t)ti;
-               m->m_len = sizeof (struct tcpiphdr);
-               tlen = 0;
-#define xchg(a,b,type) { type t; t=a; a=b; b=t; }
-               xchg(ti->ti_dst.s_addr, ti->ti_src.s_addr, u_long);
-               xchg(ti->ti_dport, ti->ti_sport, u_short);
-#undef xchg
-       }
-       ti->ti_len = htons((u_short)(sizeof (struct tcphdr) + tlen));
-       tlen += sizeof (struct tcpiphdr);
-       m->m_len = tlen;
-       m->m_pkthdr.len = tlen;
-       m->m_pkthdr.rcvif = (struct ifnet *) 0;
-       ti->ti_next = ti->ti_prev = 0;
-       ti->ti_x1 = 0;
-       ti->ti_seq = htonl(seq);
-       ti->ti_ack = htonl(ack);
-       ti->ti_x2 = 0;
-       ti->ti_off = sizeof (struct tcphdr) >> 2;
-       ti->ti_flags = flags;
-       if (tp)
-               ti->ti_win = htons((u_short) (win >> tp->rcv_scale));
-       else
-               ti->ti_win = htons((u_short)win);
-       ti->ti_urp = 0;
-       ti->ti_sum = 0;
-       ti->ti_sum = in_cksum(m, tlen);
-       ((struct ip *)ti)->ip_len = tlen;
-       ((struct ip *)ti)->ip_ttl = ip_defttl;
-#ifdef TCPDEBUG
-       if (tp == NULL || (tp->t_inpcb->inp_socket->so_options & SO_DEBUG))
-               tcp_trace(TA_OUTPUT, 0, tp, ti, 0);
-#endif
-       (void) ip_output(0, m, NULL, ro, 0, NULL);
-}
-
-/*
- * Create a new TCP control block, making an
- * empty reassembly queue and hooking it to the argument
- * protocol control block.
- */
-struct tcpcb *
-tcp_newtcpcb(inp)
-       struct inpcb *inp;
-{
-       register struct tcpcb *tp;
-
-       tp = malloc(sizeof(*tp), M_PCB, M_NOWAIT);
-       if (tp == NULL)
-               return ((struct tcpcb *)0);
-       bzero((char *) tp, sizeof(struct tcpcb));
-       tp->seg_next = tp->seg_prev = (struct tcpiphdr *)tp;
-       tp->t_maxseg = tp->t_maxopd = tcp_mssdflt;
-
-       if (tcp_do_rfc1323)
-               tp->t_flags = (TF_REQ_SCALE|TF_REQ_TSTMP);
-       if (tcp_do_rfc1644)
-               tp->t_flags |= TF_REQ_CC;
-       tp->t_inpcb = inp;
-       /*
-        * Init srtt to TCPTV_SRTTBASE (0), so we can tell that we have no
-        * rtt estimate.  Set rttvar so that srtt + 2 * rttvar gives
-        * reasonable initial retransmit time.
-        */
-       tp->t_srtt = TCPTV_SRTTBASE;
-       tp->t_rttvar = tcp_rttdflt * PR_SLOWHZ << 2;
-       tp->t_rttmin = TCPTV_MIN;
-       TCPT_RANGESET(tp->t_rxtcur,
-           ((TCPTV_SRTTBASE >> 2) + (TCPTV_SRTTDFLT << 2)) >> 1,
-           TCPTV_MIN, TCPTV_REXMTMAX);
-       tp->snd_cwnd = TCP_MAXWIN << TCP_MAX_WINSHIFT;
-       tp->snd_ssthresh = TCP_MAXWIN << TCP_MAX_WINSHIFT;
-       inp->inp_ip.ip_ttl = ip_defttl;
-       inp->inp_ppcb = (caddr_t)tp;
-       return (tp);
-}
-
-/*
- * Drop a TCP connection, reporting
- * the specified error.  If connection is synchronized,
- * then send a RST to peer.
- */
-struct tcpcb *
-tcp_drop(tp, errno)
-       register struct tcpcb *tp;
-       int errno;
-{
-       struct socket *so = tp->t_inpcb->inp_socket;
-
-       if (TCPS_HAVERCVDSYN(tp->t_state)) {
-               tp->t_state = TCPS_CLOSED;
-               (void) tcp_output(tp);
-               tcpstat.tcps_drops++;
-       } else
-               tcpstat.tcps_conndrops++;
-       if (errno == ETIMEDOUT && tp->t_softerror)
-               errno = tp->t_softerror;
-       so->so_error = errno;
-       return (tcp_close(tp));
-}
-
-/*
- * Close a TCP control block:
- *     discard all space held by the tcp
- *     discard internet protocol block
- *     wake up any sleepers
- */
-struct tcpcb *
-tcp_close(tp)
-       register struct tcpcb *tp;
-{
-       register struct tcpiphdr *t;
-       struct inpcb *inp = tp->t_inpcb;
-       struct socket *so = inp->inp_socket;
-       register struct mbuf *m;
-#ifdef RTV_RTT
-       register struct rtentry *rt;
-
-       /*
-        * If we got enough samples through the srtt filter,
-        * save the rtt and rttvar in the routing entry.
-        * 'Enough' is arbitrarily defined as the 16 samples.
-        * 16 samples is enough for the srtt filter to converge
-        * to within 5% of the correct value; fewer samples and
-        * we could save a very bogus rtt.
-        *
-        * Don't update the default route's characteristics and don't
-        * update anything that the user "locked".
-        */
-       if (tp->t_rttupdated >= 16 && (rt = &inp->inp_route.ro_rt)) {
-               register u_long i = 0;
-
-               if ((rt->rt_rmx.rmx_locks & RTV_RTT) == 0) {
-                       i = tp->t_srtt *
-                           (RTM_RTTUNIT / (PR_SLOWHZ * TCP_RTT_SCALE));
-                       if (rt->rt_rmx.rmx_rtt && i)
-                               /*
-                                * filter this update to half the old & half
-                                * the new values, converting scale.
-                                * See route.h and tcp_var.h for a
-                                * description of the scaling constants.
-                                */
-                               rt->rt_rmx.rmx_rtt =
-                                   (rt->rt_rmx.rmx_rtt + i) / 2;
-                       else
-                               rt->rt_rmx.rmx_rtt = i;
-                       tcpstat.tcps_cachedrtt++;
-               }
-               if ((rt->rt_rmx.rmx_locks & RTV_RTTVAR) == 0) {
-                       i = tp->t_rttvar *
-                           (RTM_RTTUNIT / (PR_SLOWHZ * TCP_RTTVAR_SCALE));
-                       if (rt->rt_rmx.rmx_rttvar && i)
-                               rt->rt_rmx.rmx_rttvar =
-                                   (rt->rt_rmx.rmx_rttvar + i) / 2;
-                       else
-                               rt->rt_rmx.rmx_rttvar = i;
-                       tcpstat.tcps_cachedrttvar++;
-               }
-               /*
-                * update the pipelimit (ssthresh) if it has been updated
-                * already or if a pipesize was specified & the threshhold
-                * got below half the pipesize.  I.e., wait for bad news
-                * before we start updating, then update on both good
-                * and bad news.
-                */
-               if (((rt->rt_rmx.rmx_locks & RTV_SSTHRESH) == 0 &&
-                   ((i = tp->snd_ssthresh) != 0) && rt->rt_rmx.rmx_ssthresh) ||
-                   i < (rt->rt_rmx.rmx_sendpipe / 2)) {
-                       /*
-                        * convert the limit from user data bytes to
-                        * packets then to packet data bytes.
-                        */
-                       i = (i + tp->t_maxseg / 2) / tp->t_maxseg;
-                       if (i < 2)
-                               i = 2;
-                       i *= (u_long)(tp->t_maxseg + sizeof (struct tcpiphdr));
-                       if (rt->rt_rmx.rmx_ssthresh)
-                               rt->rt_rmx.rmx_ssthresh =
-                                   (rt->rt_rmx.rmx_ssthresh + i) / 2;
-                       else
-                               rt->rt_rmx.rmx_ssthresh = i;
-                       tcpstat.tcps_cachedssthresh++;
-               }
-       }
-#endif /* RTV_RTT */
-       /* free the reassembly queue, if any */
-       t = tp->seg_next;
-       while (t != (struct tcpiphdr *)tp) {
-               t = (struct tcpiphdr *)t->ti_next;
-               m = REASS_MBUF((struct tcpiphdr *)t->ti_prev);
-               remque(t->ti_prev);
-               m_freem(m);
-       }
-       if (tp->t_template) {
-           (void) m_free(dtom(tp->t_template));
-           OS_DbgPrint(OSK_MID_TRACE,("Freeing template mbuf at %x\n", 
-                                      tp->t_template));
-           tp->t_template = 0;
-       }
-       free(tp, M_PCB);
-       inp->inp_ppcb = 0;
-       soisdisconnected(so);
-       in_pcbdetach(inp);
-       tcpstat.tcps_closed++;
-       return ((struct tcpcb *)0);
-}
-
-void
-tcp_drain()
-{
-
-}
-
-/*
- * Notify a tcp user of an asynchronous error;
- * store error as soft error, but wake up user
- * (for now, won't do anything until can select for soft error).
- */
-void
-tcp_notify(inp, error)
-       struct inpcb *inp;
-       int error;
-{
-       register struct tcpcb *tp = (struct tcpcb *)inp->inp_ppcb;
-       register struct socket *so = inp->inp_socket;
-
-       /*
-        * Ignore some errors if we are hooked up.
-        * If connection hasn't completed, has retransmitted several times,
-        * and receives a second error, give up now.  This is better
-        * than waiting a long time to establish a connection that
-        * can never complete.
-        */
-       if (tp->t_state == TCPS_ESTABLISHED &&
-            (error == EHOSTUNREACH || error == ENETUNREACH ||
-             error == EHOSTDOWN)) {
-               return;
-       } else if (tp->t_state < TCPS_ESTABLISHED && tp->t_rxtshift > 3 &&
-           tp->t_softerror)
-               so->so_error = error;
-       else
-               tp->t_softerror = error;
-       wakeup((caddr_t) &so->so_timeo);
-       sorwakeup(so);
-       sowwakeup(so);
-}
-
-void
-tcp_ctlinput(cmd, sa, ip)
-       int cmd;
-       struct sockaddr *sa;
-       register struct ip *ip;
-{
-       register struct tcphdr *th;
-       void (*notify) __P((struct inpcb *, int)) = tcp_notify;
-
-       if (cmd == PRC_QUENCH)
-               notify = tcp_quench;
-#if 1
-       else if (cmd == PRC_MSGSIZE)
-               notify = tcp_mtudisc;
-#endif
-       else if (!PRC_IS_REDIRECT(cmd) &&
-                ((unsigned)cmd > PRC_NCMDS || inetctlerrmap[cmd] == 0))
-               return;
-       if (ip) {
-               th = (struct tcphdr *)((caddr_t)ip + (ip->ip_hl << 2));
-               in_pcbnotify(&tcb, sa, th->th_dport, ip->ip_src, th->th_sport,
-                       cmd, notify);
-       } else
-               in_pcbnotify(&tcb, sa, 0, zeroin_addr, 0, cmd, notify);
-}
-
-/*
- * When a source quench is received, close congestion window
- * to one segment.  We will gradually open it again as we proceed.
- */
-void
-tcp_quench(inp, errno)
-       struct inpcb *inp;
-       int errno;
-{
-       struct tcpcb *tp = intotcpcb(inp);
-
-       if (tp)
-               tp->snd_cwnd = tp->t_maxseg;
-}
-
-#if 1
-/*
- * When `need fragmentation' ICMP is received, update our idea of the MSS
- * based on the new value in the route.  Also nudge TCP to send something,
- * since we know the packet we just sent was dropped.
- * This duplicates some code in the tcp_mss() function in tcp_input.c.
- */
-void
-tcp_mtudisc(inp, errno)
-       struct inpcb *inp;
-       int errno;
-{
-       struct tcpcb *tp = intotcpcb(inp);
-       struct rtentry *rt;
-       struct rmxp_tao *taop;
-       struct socket *so = inp->inp_socket;
-       int offered;
-       int mss;
-
-       if (tp) {
-               rt = tcp_rtlookup(inp);
-               if (!rt || !rt->rt_rmx.rmx_mtu) {
-                       tp->t_maxopd = tp->t_maxseg = tcp_mssdflt;
-                       return;
-               }
-               taop = rmx_taop(rt->rt_rmx);
-               offered = taop->tao_mssopt;
-               mss = rt->rt_rmx.rmx_mtu - sizeof(struct tcpiphdr);
-               if (offered)
-                       mss = min(mss, offered);
-               /*
-                * XXX - The above conditional probably violates the TCP
-                * spec.  The problem is that, since we don't know the
-                * other end's MSS, we are supposed to use a conservative
-                * default.  But, if we do that, then MTU discovery will
-                * never actually take place, because the conservative
-                * default is much less than the MTUs typically seen
-                * on the Internet today.  For the moment, we'll sweep
-                * this under the carpet.
-                *
-                * The conservative default might not actually be a problem
-                * if the only case this occurs is when sending an initial
-                * SYN with options and data to a host we've never talked
-                * to before.  Then, they will reply with an MSS value which
-                * will get recorded and the new parameters should get
-                * recomputed.  For Further Study.
-                */
-               if (tp->t_maxopd <= mss)
-                       return;
-               tp->t_maxopd = mss;
-
-               if ((tp->t_flags & (TF_REQ_TSTMP|TF_NOOPT)) == TF_REQ_TSTMP &&
-                   (tp->t_flags & TF_RCVD_TSTMP) == TF_RCVD_TSTMP)
-                       mss -= TCPOLEN_TSTAMP_APPA;
-               if ((tp->t_flags & (TF_REQ_CC|TF_NOOPT)) == TF_REQ_CC &&
-                   (tp->t_flags & TF_RCVD_CC) == TF_RCVD_CC)
-                       mss -= TCPOLEN_CC_APPA;
-#if    (MCLBYTES & (MCLBYTES - 1)) == 0
-               if (mss > MCLBYTES)
-                       mss &= ~(MCLBYTES-1);
-#else
-               if (mss > MCLBYTES)
-                       mss = mss / MCLBYTES * MCLBYTES;
-#endif
-               if (so->so_snd.sb_hiwat < mss)
-                       mss = so->so_snd.sb_hiwat;
-
-               tp->t_maxseg = mss;
-
-               tcpstat.tcps_mturesent++;
-               tp->t_rtt = 0;
-               tp->snd_nxt = tp->snd_una;
-               tcp_output(tp);
-       }
-}
-#endif
-
-/*
- * Look-up the routing entry to the peer of this inpcb.  If no route
- * is found and it cannot be allocated the return NULL.  This routine
- * is called by TCP routines that access the rmx structure and by tcp_mss
- * to get the interface MTU.
- */
-struct rtentry *
-tcp_rtlookup(inp)
-       struct inpcb *inp;
-{
-       struct route *ro;
-       struct rtentry *rt;
-
-       ro = &inp->inp_route;
-       rt = &ro->ro_rt;
-       if (!(rt->rt_flags & RTF_UP)) {
-               /* No route yet, so try to acquire one */
-               if (inp->inp_faddr.s_addr != INADDR_ANY) {
-                       ro->ro_dst.sa_family = AF_INET;
-                       /* ro->ro_dst.sa_len = sizeof(ro->ro_dst); */
-                       ((struct sockaddr_in *) &ro->ro_dst)->sin_addr =
-                               inp->inp_faddr;
-                       rt = &ro->ro_rt;
-               }
-       }
-       return rt;
-}
-
-/*
- * Return a pointer to the cached information about the remote host.
- * The cached information is stored in the protocol specific part of
- * the route metrics.
- */
-struct rmxp_tao *
-tcp_gettaocache(inp)
-       struct inpcb *inp;
-{
-       struct rtentry *rt = tcp_rtlookup(inp);
-
-       /* Make sure this is a host route and is up. */
-       if (rt == NULL ||
-           (rt->rt_flags & (RTF_UP|RTF_HOST)) != (RTF_UP|RTF_HOST))
-               return NULL;
-
-       return rmx_taop(rt->rt_rmx);
-}
-
-/*
- * Clear all the TAO cache entries, called from tcp_init.
- *
- * XXX
- * This routine is just an empty one, because we assume that the routing
- * routing tables are initialized at the same time when TCP, so there is
- * nothing in the cache left over.
- */
-static void
-tcp_cleartaocache(void)
-{ }
diff --git a/reactos/lib/oskittcp/oskittcp/tcp_timer.c b/reactos/lib/oskittcp/oskittcp/tcp_timer.c
deleted file mode 100644 (file)
index dd2ff8d..0000000
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)tcp_timer.c 8.1 (Berkeley) 6/10/93
- */
-
-#ifndef TUBA_INCLUDE
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/protosw.h>
-#include <sys/errno.h>
-#include <sys/queue.h>
-
-#include <net/if.h>
-#include <net/route.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-#ifdef TCPDEBUG
-#include <netinet/tcp_debug.h>
-#endif
-
-int    tcp_keepidle = TCPTV_KEEP_IDLE;
-int    tcp_keepintvl = TCPTV_KEEPINTVL;
-int    tcp_keepinit = TCPTV_KEEP_INIT;
-int    tcp_maxidle;
-int    tcp_maxpersistidle = TCPTV_KEEP_IDLE;
-int    tcp_totbackoff = 511;
-#endif /* TUBA_INCLUDE */
-/*
- * Fast timeout routine for processing delayed acks
- */
-void
-tcp_fasttimo()
-{
-       register struct inpcb *inp;
-       register struct tcpcb *tp;
-       int s;
-
-       s = splnet();
-
-       for (inp = tcb.lh_first; inp != NULL; inp = inp->inp_list.le_next) {
-               if ((tp = (struct tcpcb *)inp->inp_ppcb) &&
-                   (tp->t_flags & TF_DELACK)) {
-                       tp->t_flags &= ~TF_DELACK;
-                       tp->t_flags |= TF_ACKNOW;
-                       tcpstat.tcps_delack++;
-                       (void) tcp_output(tp);
-               }
-       }
-       splx(s);
-}
-
-/*
- * Tcp protocol timeout routine called every 500 ms.
- * Updates the timers in all active tcb's and
- * causes finite state machine actions if timers expire.
- */
-void
-tcp_slowtimo()
-{
-       register struct inpcb *ip, *ipnxt;
-       register struct tcpcb *tp;
-       register int i;
-       int s;
-#ifdef TCPDEBUG
-       int ostate;
-#endif
-
-       s = splnet();
-
-       tcp_maxidle = TCPTV_KEEPCNT * tcp_keepintvl;
-
-       ip = tcb.lh_first;
-       if (ip == NULL) {
-               splx(s);
-               return;
-       }
-       /*
-        * Search through tcb's and update active timers.
-        */
-       for (; ip != NULL; ip = ipnxt) {
-               ipnxt = ip->inp_list.le_next;
-               tp = intotcpcb(ip);
-               if (tp == 0)
-                       continue;
-               for (i = 0; i < TCPT_NTIMERS; i++) {
-                       if (tp->t_timer[i] && --tp->t_timer[i] == 0) {
-#ifdef TCPDEBUG
-                               ostate = tp->t_state;
-#endif
-                               tp = tcp_timers(tp, i);
-                               if (tp == NULL)
-                                       goto tpgone;
-#ifdef TCPDEBUG
-                               if (tp->t_inpcb->inp_socket->so_options
-                                   & SO_DEBUG)
-                                       tcp_trace(TA_USER, ostate, tp,
-                                                 (struct tcpiphdr *)0,
-                                                 PRU_SLOWTIMO);
-#endif
-                       }
-               }
-               tp->t_idle++;
-               tp->t_duration++;
-               if (tp->t_rtt)
-                       tp->t_rtt++;
-tpgone:
-               ;
-       }
-       tcp_iss += TCP_ISSINCR/PR_SLOWHZ;               /* increment iss */
-#ifdef TCP_COMPAT_42
-       if ((int)tcp_iss < 0)
-               tcp_iss = 0;                            /* XXX */
-#endif
-       tcp_now++;                                      /* for timestamps */
-       splx(s);
-}
-#ifndef TUBA_INCLUDE
-
-/*
- * Cancel all timers for TCP tp.
- */
-void
-tcp_canceltimers(tp)
-       struct tcpcb *tp;
-{
-       register int i;
-
-       for (i = 0; i < TCPT_NTIMERS; i++)
-               tp->t_timer[i] = 0;
-}
-
-int    tcp_backoff[TCP_MAXRXTSHIFT + 1] =
-    { 1, 2, 4, 8, 16, 32, 64, 64, 64, 64, 64, 64, 64 };
-
-/*
- * TCP timer processing.
- */
-struct tcpcb *
-tcp_timers(tp, timer)
-       register struct tcpcb *tp;
-       int timer;
-{
-       register int rexmt;
-
-       switch (timer) {
-
-       /*
-        * 2 MSL timeout in shutdown went off.  If we're closed but
-        * still waiting for peer to close and connection has been idle
-        * too long, or if 2MSL time is up from TIME_WAIT, delete connection
-        * control block.  Otherwise, check again in a bit.
-        */
-       case TCPT_2MSL:
-               if (tp->t_state != TCPS_TIME_WAIT &&
-                   tp->t_idle <= tcp_maxidle)
-                       tp->t_timer[TCPT_2MSL] = tcp_keepintvl;
-               else
-                       tp = tcp_close(tp);
-               break;
-
-       /*
-        * Retransmission timer went off.  Message has not
-        * been acked within retransmit interval.  Back off
-        * to a longer retransmit interval and retransmit one segment.
-        */
-       case TCPT_REXMT:
-               if (++tp->t_rxtshift > TCP_MAXRXTSHIFT) {
-                       tp->t_rxtshift = TCP_MAXRXTSHIFT;
-                       tcpstat.tcps_timeoutdrop++;
-                       tp = tcp_drop(tp, tp->t_softerror ?
-                           tp->t_softerror : ETIMEDOUT);
-                       break;
-               }
-               tcpstat.tcps_rexmttimeo++;
-               rexmt = TCP_REXMTVAL(tp) * tcp_backoff[tp->t_rxtshift];
-               TCPT_RANGESET(tp->t_rxtcur, rexmt,
-                   tp->t_rttmin, TCPTV_REXMTMAX);
-               tp->t_timer[TCPT_REXMT] = tp->t_rxtcur;
-               /*
-                * If losing, let the lower level know and try for
-                * a better route.  Also, if we backed off this far,
-                * our srtt estimate is probably bogus.  Clobber it
-                * so we'll take the next rtt measurement as our srtt;
-                * move the current srtt into rttvar to keep the current
-                * retransmit times until then.
-                */
-               if (tp->t_rxtshift > TCP_MAXRXTSHIFT / 4) {
-                       in_losing(tp->t_inpcb);
-                       tp->t_rttvar += (tp->t_srtt >> TCP_RTT_SHIFT);
-                       tp->t_srtt = 0;
-               }
-               tp->snd_nxt = tp->snd_una;
-               /*
-                * Force a segment to be sent.
-                */
-               tp->t_flags |= TF_ACKNOW;
-               /*
-                * If timing a segment in this window, stop the timer.
-                */
-               tp->t_rtt = 0;
-               /*
-                * Close the congestion window down to one segment
-                * (we'll open it by one segment for each ack we get).
-                * Since we probably have a window's worth of unacked
-                * data accumulated, this "slow start" keeps us from
-                * dumping all that data as back-to-back packets (which
-                * might overwhelm an intermediate gateway).
-                *
-                * There are two phases to the opening: Initially we
-                * open by one mss on each ack.  This makes the window
-                * size increase exponentially with time.  If the
-                * window is larger than the path can handle, this
-                * exponential growth results in dropped packet(s)
-                * almost immediately.  To get more time between
-                * drops but still "push" the network to take advantage
-                * of improving conditions, we switch from exponential
-                * to linear window opening at some threshhold size.
-                * For a threshhold, we use half the current window
-                * size, truncated to a multiple of the mss.
-                *
-                * (the minimum cwnd that will give us exponential
-                * growth is 2 mss.  We don't allow the threshhold
-                * to go below this.)
-                */
-               {
-               u_int win = min(tp->snd_wnd, tp->snd_cwnd) / 2 / tp->t_maxseg;
-               if (win < 2)
-                       win = 2;
-               tp->snd_cwnd = tp->t_maxseg;
-               tp->snd_ssthresh = win * tp->t_maxseg;
-               tp->t_dupacks = 0;
-               }
-               (void) tcp_output(tp);
-               break;
-
-       /*
-        * Persistance timer into zero window.
-        * Force a byte to be output, if possible.
-        */
-       case TCPT_PERSIST:
-               tcpstat.tcps_persisttimeo++;
-               /*
-                * Hack: if the peer is dead/unreachable, we do not
-                * time out if the window is closed.  After a full
-                * backoff, drop the connection if the idle time
-                * (no responses to probes) reaches the maximum
-                * backoff that we would use if retransmitting.
-                */
-               if (tp->t_rxtshift == TCP_MAXRXTSHIFT) {
-                       u_long maxidle = TCP_REXMTVAL(tp);
-                       if (maxidle < tp->t_rttmin)
-                               maxidle = tp->t_rttmin;
-                       maxidle *= tcp_totbackoff;
-                       if (tp->t_idle >= tcp_maxpersistidle ||
-                           tp->t_idle >= maxidle) {
-                               tcpstat.tcps_persistdrop++;
-                               tp = tcp_drop(tp, ETIMEDOUT);
-                               break;
-                       }
-               }
-               tcp_setpersist(tp);
-               tp->t_force = 1;
-               (void) tcp_output(tp);
-               tp->t_force = 0;
-               break;
-
-       /*
-        * Keep-alive timer went off; send something
-        * or drop connection if idle for too long.
-        */
-       case TCPT_KEEP:
-               tcpstat.tcps_keeptimeo++;
-               if (tp->t_state < TCPS_ESTABLISHED)
-                       goto dropit;
-               if (tp->t_inpcb->inp_socket->so_options & SO_KEEPALIVE &&
-                   tp->t_state <= TCPS_CLOSING) {
-                       if (tp->t_idle >= tcp_keepidle + tcp_maxidle)
-                               goto dropit;
-                       /*
-                        * Send a packet designed to force a response
-                        * if the peer is up and reachable:
-                        * either an ACK if the connection is still alive,
-                        * or an RST if the peer has closed the connection
-                        * due to timeout or reboot.
-                        * Using sequence number tp->snd_una-1
-                        * causes the transmitted zero-length segment
-                        * to lie outside the receive window;
-                        * by the protocol spec, this requires the
-                        * correspondent TCP to respond.
-                        */
-                       tcpstat.tcps_keepprobe++;
-#ifdef TCP_COMPAT_42
-                       /*
-                        * The keepalive packet must have nonzero length
-                        * to get a 4.2 host to respond.
-                        */
-                       tcp_respond(tp, tp->t_template, (struct mbuf *)NULL,
-                           tp->rcv_nxt - 1, tp->snd_una - 1, 0);
-#else
-                       tcp_respond(tp, tp->t_template, (struct mbuf *)NULL,
-                           tp->rcv_nxt, tp->snd_una - 1, 0);
-#endif
-                       tp->t_timer[TCPT_KEEP] = tcp_keepintvl;
-               } else
-                       tp->t_timer[TCPT_KEEP] = tcp_keepidle;
-               break;
-       dropit:
-               tcpstat.tcps_keepdrops++;
-               tp = tcp_drop(tp, ETIMEDOUT);
-               break;
-       }
-       return (tp);
-}
-#endif /* TUBA_INCLUDE */
diff --git a/reactos/lib/oskittcp/oskittcp/tcp_usrreq.c b/reactos/lib/oskittcp/oskittcp/tcp_usrreq.c
deleted file mode 100644 (file)
index ac61c4e..0000000
+++ /dev/null
@@ -1,773 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     From: @(#)tcp_usrreq.c  8.2 (Berkeley) 1/3/94
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/protosw.h>
-#include <sys/errno.h>
-#include <sys/stat.h>
-#include <vm/vm.h>
-#include <sys/sysctl.h>
-
-#include <net/if.h>
-#include <net/route.h>
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/in_pcb.h>
-#include <netinet/in_var.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_seq.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/tcpip.h>
-#ifdef TCPDEBUG
-#include <netinet/tcp_debug.h>
-#endif
-
-/*
- * TCP protocol interface to socket abstraction.
- */
-extern char *tcpstates[];
-
-/*
- * Process a TCP user request for TCP tb.  If this is a send request
- * then m is the mbuf chain of send data.  If this is a timer expiration
- * (called from the software clock routine), then timertype tells which timer.
- */
-/*ARGSUSED*/
-int
-tcp_usrreq(so, req, m, nam, control)
-       struct socket *so;
-       int req;
-       struct mbuf *m, *nam, *control;
-{
-    register struct inpcb *inp;
-    register struct tcpcb *tp = 0;
-    struct sockaddr_in *sinp;
-    int s;
-    int error = 0;
-
-    if (req == PRU_CONTROL)
-       return (in_control(so, (u_long)m, (caddr_t)nam,
-                          (struct ifnet *)control));
-    if (control && control->m_len) {
-       m_freem(control);
-       if (m)
-           m_freem(m);
-       return (EINVAL);
-    }
-    
-    s = splnet();
-    inp = sotoinpcb(so);
-
-    /*
-     * When a TCP is attached to a socket, then there will be
-     * a (struct inpcb) pointed at by the socket, and this
-     * structure will point at a subsidary (struct tcpcb).
-     */
-    if (inp == 0 && req != PRU_ATTACH) {
-       splx(s);
-       /* safer version of fix for mbuf leak */
-       if (m && (req == PRU_SEND || req == PRU_SENDOOB))
-           m_freem(m);
-    }
-
-    if( inp )
-       tp = intotcpcb(inp);
-    
-    switch (req) {
-       /*
-        * TCP attaches to socket via PRU_ATTACH, reserving space,
-        * and an internet control block.
-        */
-    case PRU_ATTACH:
-       if (inp) {
-           error = EISCONN;
-           break;
-       }
-       error = tcp_attach(so);
-       if (error)
-           break;
-       if ((so->so_options & SO_LINGER) && so->so_linger == 0)
-           so->so_linger = TCP_LINGERTIME * hz;
-       tp = sototcpcb(so);
-       break;
-       
-       /*
-        * PRU_DETACH detaches the TCP protocol from the socket.
-        * If the protocol state is non-embryonic, then can't
-        * do this directly: have to initiate a PRU_DISCONNECT,
-        * which may finish later; embryonic TCB's can just
-        * be discarded here.
-        */
-    case PRU_DETACH:
-       if (tp->t_state > TCPS_LISTEN)
-           tp = tcp_disconnect(tp);
-       else
-           tp = tcp_close(tp);
-       break;
-       
-       /*
-        * Give the socket an address.
-        */
-    case PRU_BIND:
-       /*
-        * Must check for multicast addresses and disallow binding
-        * to them.
-        */
-       sinp = mtod(nam, struct sockaddr_in *);
-       error = in_pcbbind(inp, nam);
-       if (error)
-           break;
-       break;
-       
-       /*
-        * Prepare to accept connections.
-        */
-    case PRU_LISTEN:
-       if (inp->inp_lport == 0)
-           error = in_pcbbind(inp, NULL);
-       if (error == 0)
-           tp->t_state = TCPS_LISTEN;
-       break;
-       
-       /*
-        * Initiate connection to peer.
-        * Create a template for use in transmissions on this connection.
-        * Enter SYN_SENT state, and mark socket as connecting.
-        * Start keep-alive timer, and seed output sequence space.
-        * Send initial segment on connection.
-        */
-    case PRU_CONNECT:
-       /*
-        * Must disallow TCP ``connections'' to multicast addresses.
-        */
-       sinp = mtod(nam, struct sockaddr_in *);
-       if ((error = tcp_connect(tp, nam)) != 0) {
-           OS_DbgPrint(OSK_MID_TRACE,("TC: %d\n", error));
-           break;
-       }
-       error = tcp_output(tp);
-       OS_DbgPrint(OSK_MID_TRACE,("TO: %d\n", error));
-       break;
-       
-       /*
-        * Create a TCP connection between two sockets.
-        */
-    case PRU_CONNECT2:
-       error = EOPNOTSUPP;
-       break;
-       
-       /*
-        * Initiate disconnect from peer.
-        * If connection never passed embryonic stage, just drop;
-        * else if don't need to let data drain, then can just drop anyways,
-        * else have to begin TCP shutdown process: mark socket disconnecting,
-        * drain unread data, state switch to reflect user close, and
-        * send segment (e.g. FIN) to peer.  Socket will be really disconnected
-        * when peer sends FIN and acks ours.
-        *
-        * SHOULD IMPLEMENT LATER PRU_CONNECT VIA REALLOC TCPCB.
-        */
-    case PRU_DISCONNECT:
-       tp = tcp_disconnect(tp);
-       break;
-       
-       /*
-        * Accept a connection.  Essentially all the work is
-        * done at higher levels; just return the address
-        * of the peer, storing through addr.
-        */
-    case PRU_ACCEPT:
-       in_setpeeraddr(inp, nam);
-       break;
-       
-       /*
-        * Mark the connection as being incapable of further output.
-        */
-    case PRU_SHUTDOWN:
-       socantsendmore(so);
-       tp = tcp_usrclosed(tp);
-       if (tp)
-           error = tcp_output(tp);
-       break;
-       
-       /*
-        * After a receive, possibly send window update to peer.
-        */
-    case PRU_RCVD:
-       (void) tcp_output(tp);
-       break;
-       
-       /*
-        * Do a send by putting data in output queue and updating urgent
-        * marker if URG set.  Possibly send more data.
-        */
-    case PRU_SEND_EOF:
-    case PRU_SEND:
-       sbappend(so, &so->so_snd, m);
-       if (nam && tp->t_state < TCPS_SYN_SENT) {
-           /*
-            * Do implied connect if not yet connected,
-            * initialize window to default value, and
-            * initialize maxseg/maxopd using peer's cached
-            * MSS.
-            */
-           error = tcp_connect(tp, nam);
-           if (error)
-               break;
-           tp->snd_wnd = TTCP_CLIENT_SND_WND;
-           tcp_mss(tp, -1);
-       }
-       
-       if (req == PRU_SEND_EOF) {
-           /*
-            * Close the send side of the connection after
-            * the data is sent.
-            */
-           socantsendmore(so);
-           tp = tcp_usrclosed(tp);
-       }
-       if (tp != NULL)
-           error = tcp_output(tp);
-       break;
-       
-       /*
-        * Abort the TCP.
-        */
-    case PRU_ABORT:
-       tp = tcp_drop(tp, ECONNABORTED);
-       break;
-       
-    case PRU_SENSE:
-       ((struct stat *) m)->st_blksize = so->so_snd.sb_hiwat;
-       (void) splx(s);
-       return (0);
-       
-    case PRU_RCVOOB:
-       if ((so->so_oobmark == 0 &&
-            (so->so_state & SS_RCVATMARK) == 0) ||
-           so->so_options & SO_OOBINLINE ||
-           tp->t_oobflags & TCPOOB_HADDATA) {
-           error = EINVAL;
-           break;
-       }
-       if ((tp->t_oobflags & TCPOOB_HAVEDATA) == 0) {
-           error = EWOULDBLOCK;
-           break;
-       }
-       m->m_len = 1;
-       *mtod(m, caddr_t) = tp->t_iobc;
-       if (((int)nam & MSG_PEEK) == 0)
-           tp->t_oobflags ^= (TCPOOB_HAVEDATA | TCPOOB_HADDATA);
-       break;
-       
-    case PRU_SENDOOB:
-       if (sbspace(&so->so_snd) < -512) {
-           m_freem(m);
-           error = ENOBUFS;
-           break;
-       }
-       /*
-        * According to RFC961 (Assigned Protocols),
-        * the urgent pointer points to the last octet
-        * of urgent data.  We continue, however,
-        * to consider it to indicate the first octet
-        * of data past the urgent section.
-        * Otherwise, snd_up should be one lower.
-        */
-       sbappend(so, &so->so_snd, m);
-       if (nam && tp->t_state < TCPS_SYN_SENT) {
-           /*
-            * Do implied connect if not yet connected,
-            * initialize window to default value, and
-            * initialize maxseg/maxopd using peer's cached
-            * MSS.
-            */
-           error = tcp_connect(tp, nam);
-           if (error)
-               break;
-           tp->snd_wnd = TTCP_CLIENT_SND_WND;
-           tcp_mss(tp, -1);
-       }
-       tp->snd_up = tp->snd_una + so->so_snd.sb_cc;
-       tp->t_force = 1;
-       error = tcp_output(tp);
-       tp->t_force = 0;
-       break;
-
-    case PRU_SOCKADDR:
-       in_setsockaddr(inp, nam);
-       break;
-
-    case PRU_PEERADDR:
-       in_setpeeraddr(inp, nam);
-       break;
-
-       /*
-        * TCP slow timer went off; going through this
-        * routine for tracing's sake.
-        */
-    case PRU_SLOWTIMO:
-       tp = tcp_timers(tp, (int)nam);
-#ifdef TCPDEBUG
-       req |= (int)nam << 8;           /* for debug's sake */
-#endif
-       break;
-       
-    default:
-       panic("tcp_usrreq");
-    }
-#ifdef TCPDEBUG
-    if (tp && (so->so_options & SO_DEBUG))
-       tcp_trace(TA_USER, ostate, tp, (struct tcpiphdr *)0, req);
-#endif
-    splx(s);
-    return (error);
-}
-
-/*
- * Common subroutine to open a TCP connection to remote host specified
- * by struct sockaddr_in in mbuf *nam.  Call in_pcbbind to assign a local
- * port number if needed.  Call in_pcbladdr to do the routing and to choose
- * a local host address (interface).  If there is an existing incarnation
- * of the same connection in TIME-WAIT state and if the remote host was
- * sending CC options and if the connection duration was < MSL, then
- * truncate the previous TIME-WAIT state and proceed.
- * Initialize connection parameters and enter SYN-SENT state.
- */ 
-int
-tcp_connect(tp, nam)
-       register struct tcpcb *tp;
-       struct mbuf *nam;
-{
-    struct inpcb *inp/* = tp->t_inpcb */, *oinp;
-    struct socket *so;
-    struct tcpcb *otp;
-    struct sockaddr_in *sin = mtod(nam, struct sockaddr_in *);
-    struct sockaddr_in ifaddr;
-    int error;
-    struct rmxp_tao *taop;
-    struct rmxp_tao tao_noncached;
-
-    if( !tp ) 
-       panic( "No tcpcb provided.\n" );
-
-    if( !tp->t_inpcb )
-       panic( "No inpcb provided.\n" );
-
-    inp = tp->t_inpcb;
-
-    if( !inp->inp_socket )
-       panic( "No socket provided.\n" );
-
-    so = inp->inp_socket;
-
-    if (inp->inp_lport == 0) {
-       error = in_pcbbind(inp, NULL);
-       if (error) {
-           OS_DbgPrint(OSK_MID_TRACE,("error %d\n", error));
-           return error;
-       }
-    }
-    /*
-     * Cannot simply call in_pcbconnect, because there might be an
-     * earlier incarnation of this same connection still in
-     * TIME_WAIT state, creating an ADDRINUSE error.
-     */
-    error = in_pcbladdr(inp, nam, &ifaddr);
-    
-    if (error) {
-       OS_DbgPrint(OSK_MID_TRACE,("error %d\n", error));           
-       return error;
-    }
-    
-    oinp = in_pcblookup(inp->inp_pcbinfo->listhead,
-                       sin->sin_addr, sin->sin_port,
-                       inp->inp_laddr.s_addr != INADDR_ANY ? inp->inp_laddr
-                       : ifaddr.sin_addr,
-                       inp->inp_lport,  0);
-    
-    if (oinp) {
-    
-       if (oinp != inp && (otp = intotcpcb(oinp)) != NULL &&
-           otp->t_state == TCPS_TIME_WAIT &&
-           otp->t_duration < TCPTV_MSL &&
-           (otp->t_flags & TF_RCVD_CC))
-           otp = tcp_close(otp);
-       else {
-    
-           OS_DbgPrint(OSK_MID_TRACE,("error EADDRINUSE\n"));
-           return EADDRINUSE;
-       }
-    
-    }
-    
-    if (inp->inp_laddr.s_addr == INADDR_ANY)
-       inp->inp_laddr = ifaddr.sin_addr;
-    
-    inp->inp_faddr = sin->sin_addr;
-    inp->inp_fport = sin->sin_port;
-    
-    in_pcbrehash(inp);
-    
-    
-    tp->t_template = tcp_template(tp);
-    
-    if (tp->t_template == 0) {
-       in_pcbdisconnect(inp);
-       OS_DbgPrint(OSK_MID_TRACE,("error ENOBUFS\n"));
-       return ENOBUFS;
-    }
-    
-    
-    /* Compute window scaling to request.  */
-    while (tp->request_r_scale < TCP_MAX_WINSHIFT &&
-          (TCP_MAXWIN << tp->request_r_scale) < so->so_rcv.sb_hiwat)
-       tp->request_r_scale++;
-    
-    
-    soisconnecting(so);
-    
-    tcpstat.tcps_connattempt++;
-    tp->t_state = TCPS_SYN_SENT;
-    tp->t_timer[TCPT_KEEP] = tcp_keepinit;
-    tp->rcv_nxt = 0;
-    tp->iss = tcp_iss; tcp_iss += TCP_ISSINCR/2;
-    
-    tcp_sendseqinit(tp);
-    
-    
-    /*
-     * Generate a CC value for this connection and
-     * check whether CC or CCnew should be used.
-     */
-    if ((taop = tcp_gettaocache(tp->t_inpcb)) == NULL) {
-       taop = &tao_noncached;
-       bzero(taop, sizeof(*taop));
-    }
-
-    tp->cc_send = CC_INC(tcp_ccgen);
-    if (taop->tao_ccsent != 0 &&
-       CC_GEQ(tp->cc_send, taop->tao_ccsent)) {
-       taop->tao_ccsent = tp->cc_send;
-    } else {
-       taop->tao_ccsent = 0;
-       tp->t_flags |= TF_SENDCCNEW;
-    }
-
-    return 0;
-}
-
-int
-tcp_ctloutput(op, so, level, optname, mp)
-       int op;
-       struct socket *so;
-       int level, optname;
-       struct mbuf **mp;
-{
-       int error = 0, s;
-       struct inpcb *inp;
-       register struct tcpcb *tp;
-       register struct mbuf *m;
-       register int i;
-
-       s = splnet();
-       inp = sotoinpcb(so);
-       if (inp == NULL) {
-               splx(s);
-               if (op == PRCO_SETOPT && *mp)
-                       (void) m_free(*mp);
-               return (ECONNRESET);
-       }
-       if (level != IPPROTO_TCP) {
-               error = ip_ctloutput(op, so, level, optname, mp);
-               splx(s);
-               return (error);
-       }
-       tp = intotcpcb(inp);
-
-       switch (op) {
-
-       case PRCO_SETOPT:
-               m = *mp;
-               switch (optname) {
-
-               case TCP_NODELAY:
-                       if (m == NULL || m->m_len < sizeof (int))
-                               error = EINVAL;
-                       else if (*mtod(m, int *))
-                               tp->t_flags |= TF_NODELAY;
-                       else
-                               tp->t_flags &= ~TF_NODELAY;
-                       break;
-
-               case TCP_MAXSEG:
-                       if (m && (i = *mtod(m, int *)) > 0 && i <= tp->t_maxseg)
-                               tp->t_maxseg = i;
-                       else
-                               error = EINVAL;
-                       break;
-
-               case TCP_NOOPT:
-                       if (m == NULL || m->m_len < sizeof (int))
-                               error = EINVAL;
-                       else if (*mtod(m, int *))
-                               tp->t_flags |= TF_NOOPT;
-                       else
-                               tp->t_flags &= ~TF_NOOPT;
-                       break;
-
-               case TCP_NOPUSH:
-                       if (m == NULL || m->m_len < sizeof (int))
-                               error = EINVAL;
-                       else if (*mtod(m, int *))
-                               tp->t_flags |= TF_NOPUSH;
-                       else
-                               tp->t_flags &= ~TF_NOPUSH;
-                       break;
-
-               default:
-                       error = ENOPROTOOPT;
-                       break;
-               }
-               if (m)
-                       (void) m_free(m);
-               break;
-
-       case PRCO_GETOPT:
-               *mp = m = m_get(M_WAIT, MT_SOOPTS);
-               m->m_len = sizeof(int);
-
-               switch (optname) {
-               case TCP_NODELAY:
-                       *mtod(m, int *) = tp->t_flags & TF_NODELAY;
-                       break;
-               case TCP_MAXSEG:
-                       *mtod(m, int *) = tp->t_maxseg;
-                       break;
-               case TCP_NOOPT:
-                       *mtod(m, int *) = tp->t_flags & TF_NOOPT;
-                       break;
-               case TCP_NOPUSH:
-                       *mtod(m, int *) = tp->t_flags & TF_NOPUSH;
-                       break;
-               default:
-                       error = ENOPROTOOPT;
-                       break;
-               }
-               break;
-       }
-       splx(s);
-       return (error);
-}
-
-/*
- * tcp_sendspace and tcp_recvspace are the default send and receive window
- * sizes, respectively.  These are obsolescent (this information should
- * be set by the route).
- */
-u_long tcp_sendspace = 1024*16;
-u_long tcp_recvspace = 1024*16;
-
-/*
- * Attach TCP protocol to socket, allocating
- * internet protocol control block, tcp control block,
- * bufer space, and entering LISTEN state if to accept connections.
- */
-int
-tcp_attach(so)
-       struct socket *so;
-{
-       register struct tcpcb *tp;
-       struct inpcb *inp;
-       int error;
-
-       if (so->so_snd.sb_hiwat == 0 || so->so_rcv.sb_hiwat == 0) {
-               error = soreserve(so, tcp_sendspace, tcp_recvspace);
-               if (error)
-                       return (error);
-       }
-       error = in_pcballoc(so, &tcbinfo);
-       if (error)
-               return (error);
-       inp = sotoinpcb(so);
-       tp = tcp_newtcpcb(inp);
-       if (tp == 0) {
-               int nofd = so->so_state & SS_NOFDREF;   /* XXX */
-
-               so->so_state &= ~SS_NOFDREF;    /* don't free the socket yet */
-               in_pcbdetach(inp);
-               so->so_state |= nofd;
-               OS_DbgPrint(OSK_MID_TRACE,("ENOBUFS: no tcpcb allocated\n"));
-               return (ENOBUFS);
-       }
-       tp->t_state = TCPS_CLOSED;
-       return (0);
-}
-
-/*
- * Initiate (or continue) disconnect.
- * If embryonic state, just send reset (once).
- * If in ``let data drain'' option and linger null, just drop.
- * Otherwise (hard), mark socket disconnecting and drop
- * current input data; switch states based on user close, and
- * send segment to peer (with FIN).
- */
-struct tcpcb *
-tcp_disconnect(tp)
-       register struct tcpcb *tp;
-{
-       struct socket *so = tp->t_inpcb->inp_socket;
-
-       if (tp->t_state < TCPS_ESTABLISHED)
-               tp = tcp_close(tp);
-       else if ((so->so_options & SO_LINGER) && so->so_linger == 0)
-               tp = tcp_drop(tp, 0);
-       else {
-               soisdisconnecting(so);
-               sbflush(&so->so_rcv);
-               tp = tcp_usrclosed(tp);
-               if (tp)
-                       (void) tcp_output(tp);
-       }
-       return (tp);
-}
-
-/*
- * User issued close, and wish to trail through shutdown states:
- * if never received SYN, just forget it.  If got a SYN from peer,
- * but haven't sent FIN, then go to FIN_WAIT_1 state to send peer a FIN.
- * If already got a FIN from peer, then almost done; go to LAST_ACK
- * state.  In all other cases, have already sent FIN to peer (e.g.
- * after PRU_SHUTDOWN), and just have to play tedious game waiting
- * for peer to send FIN or not respond to keep-alives, etc.
- * We can let the user exit from the close as soon as the FIN is acked.
- */
-struct tcpcb *
-tcp_usrclosed(tp)
-       register struct tcpcb *tp;
-{
-
-       switch (tp->t_state) {
-
-       case TCPS_CLOSED:
-       case TCPS_LISTEN:
-               tp->t_state = TCPS_CLOSED;
-               tp = tcp_close(tp);
-               break;
-
-       case TCPS_SYN_SENT:
-       case TCPS_SYN_RECEIVED:
-               tp->t_flags |= TF_NEEDFIN;
-               break;
-
-       case TCPS_ESTABLISHED:
-               tp->t_state = TCPS_FIN_WAIT_1;
-               break;
-
-       case TCPS_CLOSE_WAIT:
-               tp->t_state = TCPS_LAST_ACK;
-               break;
-       }
-       if (tp && tp->t_state >= TCPS_FIN_WAIT_2) {
-               soisdisconnected(tp->t_inpcb->inp_socket);
-               /* To prevent the connection hanging in FIN_WAIT_2 forever. */
-               if (tp->t_state == TCPS_FIN_WAIT_2)
-                       tp->t_timer[TCPT_2MSL] = tcp_maxidle;
-       }
-       return (tp);
-}
-
-/*
- * Sysctl for tcp variables.
- */
-int
-tcp_sysctl(name, namelen, oldp, oldlenp, newp, newlen)
-       int *name;
-       u_int namelen;
-       void *oldp;
-       size_t *oldlenp;
-       void *newp;
-       size_t newlen;
-{
-    /* All sysctl names at this level are terminal. */
-    if (namelen != 1)
-       return (ENOTDIR);
-    
-    switch (name[0]) {
-    case TCPCTL_DO_RFC1323:
-       return (sysctl_int(oldp, oldlenp, newp, newlen,
-                          &tcp_do_rfc1323));
-    case TCPCTL_DO_RFC1644:
-       return (sysctl_int(oldp, oldlenp, newp, newlen,
-                          &tcp_do_rfc1644));
-    case TCPCTL_MSSDFLT:
-       return (sysctl_int(oldp, oldlenp, newp, newlen,
-                          &tcp_mssdflt));
-    case TCPCTL_STATS:
-       return (sysctl_rdstruct(oldp, oldlenp, newp, &tcpstat,
-                               sizeof tcpstat));
-    case TCPCTL_RTTDFLT:
-       return (sysctl_int(oldp, oldlenp, newp, newlen, &tcp_rttdflt));
-    case TCPCTL_KEEPIDLE:
-       return (sysctl_int(oldp, oldlenp, newp, newlen,
-                          &tcp_keepidle));
-    case TCPCTL_KEEPINTVL:
-       return (sysctl_int(oldp, oldlenp, newp, newlen,
-                          &tcp_keepintvl));
-    case TCPCTL_SENDSPACE:
-       return (sysctl_int(oldp, oldlenp, newp, newlen,
-                          (int *)&tcp_sendspace)); /* XXX */
-    case TCPCTL_RECVSPACE:
-       return (sysctl_int(oldp, oldlenp, newp, newlen,
-                          (int *)&tcp_recvspace)); /* XXX */
-    case TCPCTL_KEEPINIT:
-       return (sysctl_int(oldp, oldlenp, newp, newlen,
-                          &tcp_keepinit));
-    default:
-       return (ENOPROTOOPT);
-    }
-       /* NOTREACHED */
-}
diff --git a/reactos/lib/oskittcp/oskittcp/uipc_domain.c b/reactos/lib/oskittcp/oskittcp/uipc_domain.c
deleted file mode 100644 (file)
index 08a1800..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)uipc_domain.c       8.2 (Berkeley) 10/18/93
- */
-
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/protosw.h>
-#include <sys/domain.h>
-#include <sys/mbuf.h>
-#include <sys/time.h>
-#include <sys/kernel.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <vm/vm.h>
-#include <sys/sysctl.h>
-
-void   pffasttimo __P((void *));
-void   pfslowtimo __P((void *));
-
-struct domain *domains;
-
-#define        ADDDOMAIN(x)    { \
-       extern struct domain __CONCAT(x,domain); \
-       __CONCAT(x,domain.dom_next) = domains; \
-       domains = &__CONCAT(x,domain); \
-}
-
-extern struct linker_set domain_set;
-
-void
-domaininit()
-{
-       register struct domain *dp, **dpp;
-       register struct protosw *pr;
-
-       printf("domaininit starting\n");
-
-       /*
-        * NB - local domain is always present.
-        */
-       ADDDOMAIN(local);
-       ADDDOMAIN(inet);
-
-       for (dpp = (struct domain **)domain_set.ls_items; *dpp; dpp++) {
-           printf("(1) Domain %s counting\n", (**dpp).dom_name);
-           (**dpp).dom_next = domains;
-           domains = *dpp;
-       }
-
-/* - not in our sources
-#ifdef ISDN
-       ADDDOMAIN(isdn);
-#endif
-*/
-       for (dp = domains; dp; dp = dp->dom_next) {
-           printf("(1) Domain %s initializing\n", dp->dom_name);
-           if (dp->dom_init)
-               (*dp->dom_init)();
-           for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) {
-               printf("Registering protocols for %s\n", dp->dom_name);
-               if (pr->pr_init)
-                   (*pr->pr_init)();
-           }
-           if( dp->dom_next && !dp->dom_next->dom_name )
-               dp->dom_next = 0;
-       }
-
-       if (max_linkhdr < 16)           /* XXX */
-               max_linkhdr = 16;
-       max_hdr = max_linkhdr + max_protohdr;
-       max_datalen = MHLEN - max_hdr;
-       timeout(pffasttimo, (void *)0, 1);
-       timeout(pfslowtimo, (void *)0, 1);
-
-       printf("Domaininit done\n");
-}
-
-struct protosw *
-pffindtype(family, type)
-       int family, type;
-{
-       register struct domain *dp;
-       register struct protosw *pr;
-
-       for (dp = domains; dp; dp = dp->dom_next)
-               if (dp->dom_family == family)
-                       goto found;
-       return (0);
-found:
-       for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)
-               if (pr->pr_type && pr->pr_type == type)
-                       return (pr);
-       return (0);
-}
-
-struct protosw *
-pffindproto(family, protocol, type)
-       int family, protocol, type;
-{
-       register struct domain *dp;
-       register struct protosw *pr;
-       struct protosw *maybe = 0;
-
-       if (family == 0)
-               return (0);
-       for (dp = domains; dp; dp = dp->dom_next)
-               if (dp->dom_family == family)
-                       goto found;
-       return (0);
-found:
-       for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) {
-               if ((pr->pr_protocol == protocol) && (pr->pr_type == type))
-                       return (pr);
-
-               if (type == SOCK_RAW && pr->pr_type == SOCK_RAW &&
-                   pr->pr_protocol == 0 && maybe == (struct protosw *)0)
-                       maybe = pr;
-       }
-       return (maybe);
-}
-
-int
-net_sysctl(name, namelen, oldp, oldlenp, newp, newlen, p)
-       int *name;
-       u_int namelen;
-       void *oldp;
-       size_t *oldlenp;
-       void *newp;
-       size_t newlen;
-       struct proc *p;
-{
-       register struct domain *dp;
-       register struct protosw *pr;
-       int family, protocol;
-
-       /*
-        * All sysctl names at this level are nonterminal;
-        * next two components are protocol family and protocol number,
-        * then at least one addition component.
-        */
-       if (namelen < 3)
-               return (EISDIR);                /* overloaded */
-       family = name[0];
-       protocol = name[1];
-
-       if (family == 0)
-               return (0);
-       for (dp = domains; dp; dp = dp->dom_next)
-               if (dp->dom_family == family)
-                       goto found;
-       return (ENOPROTOOPT);
-found:
-       for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)
-               if (pr->pr_protocol == protocol && pr->pr_sysctl)
-                       return ((*pr->pr_sysctl)(name + 2, namelen - 2,
-                           oldp, oldlenp, newp, newlen));
-       return (ENOPROTOOPT);
-}
-
-void
-pfctlinput(cmd, sa)
-       int cmd;
-       struct sockaddr *sa;
-{
-       register struct domain *dp;
-       register struct protosw *pr;
-
-       for (dp = domains; dp; dp = dp->dom_next)
-               for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)
-                       if (pr->pr_ctlinput)
-                               (*pr->pr_ctlinput)(cmd, sa, (caddr_t)0);
-}
-
-void
-pfslowtimo(arg)
-       void *arg;
-{
-       register struct domain *dp;
-       register struct protosw *pr;
-
-       for (dp = domains; dp; dp = dp->dom_next)
-               for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)
-                       if (pr->pr_slowtimo)
-                               (*pr->pr_slowtimo)();
-       timeout(pfslowtimo, (void *)0, hz/2);
-}
-
-void
-pffasttimo(arg)
-       void *arg;
-{
-       register struct domain *dp;
-       register struct protosw *pr;
-
-       for (dp = domains; dp; dp = dp->dom_next)
-               for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)
-                       if (pr->pr_fasttimo)
-                               (*pr->pr_fasttimo)();
-       timeout(pffasttimo, (void *)0, hz/5);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/uipc_mbuf.c b/reactos/lib/oskittcp/oskittcp/uipc_mbuf.c
deleted file mode 100644 (file)
index 222efa3..0000000
+++ /dev/null
@@ -1,769 +0,0 @@
-/*
- * Copyright (c) 1997-1998 University of Utah and the Flux Group.
- * All rights reserved.
- * 
- * This file is part of the Flux OSKit.  The OSKit is free software, also known
- * as "open source;" you can redistribute it and/or modify it under the terms
- * of the GNU General Public License (GPL), version 2, as published by the Free
- * Software Foundation (FSF).  To explore alternate licensing terms, contact
- * the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
- * 
- * The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
- * received a copy of the GPL along with the OSKit; see the file COPYING.  If
- * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
- */
-/*
- * Copyright (c) 1982, 1986, 1988, 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)uipc_mbuf.c 8.2 (Berkeley) 1/4/94
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <sys/malloc.h>
-#define MBTYPES
-#include <sys/mbuf.h>
-#include <sys/kernel.h>
-#include <sys/syslog.h>
-#include <sys/domain.h>
-#include <sys/protosw.h>
-
-#include <vm/vm.h>
-#include <oskittcp.h>
-
-#ifndef OSKIT
-extern vm_map_t mb_map;
-struct mbuf *mbutl;
-char   *mclrefcnt;
-int    mb_map_full;
-
-void
-mbinit()
-{
-       int s;
-
-#if CLBYTES < 4096
-#define NCL_INIT       (4096/CLBYTES)
-#else
-#define NCL_INIT       1
-#endif
-       s = splimp();
-       if (m_clalloc(NCL_INIT, M_DONTWAIT) == 0)
-               goto bad;
-       splx(s);
-       return;
-bad:
-       panic("mbinit");
-}
-
-/*
- * Allocate some number of mbuf clusters
- * and place on cluster free list.
- * Must be called at splimp.
- */
-/* ARGSUSED */
-int
-m_clalloc(ncl, nowait)
-       register int ncl;
-       int nowait;
-{
-       static int logged;
-       register caddr_t p;
-       register int i;
-       int npg;
-
-       /*
-        * Once we run out of map space, it will be impossible
-        * to get any more (nothing is ever freed back to the
-        * map).
-        */
-       if (mb_map_full)
-               return (0);
-
-       npg = ncl * CLSIZE;
-       p = (caddr_t)kmem_malloc(mb_map, ctob(npg),
-                                nowait ? M_NOWAIT : M_WAITOK);
-       /*
-        * Either the map is now full, or this is nowait and there
-        * are no pages left.
-        */
-       if (p == NULL)
-               return (0);
-
-       ncl = ncl * CLBYTES / MCLBYTES;
-       for (i = 0; i < ncl; i++) {
-               ((union mcluster *)p)->mcl_next = mclfree;
-               mclfree = (union mcluster *)p;
-               p += MCLBYTES;
-               mbstat.m_clfree++;
-       }
-       mbstat.m_clusters += ncl;
-       return (1);
-}
-#endif /* !OSKIT */
-
-/*
- * When MGET failes, ask protocols to free space when short of memory,
- * then re-attempt to allocate an mbuf.
- */
-struct mbuf *
-m_retry(i, t)
-       int i, t;
-{
-       register struct mbuf *m;
-
-       m_reclaim();
-/*
- * I'm getting rid of the utterly ugly redefinition of m_retry
- * - same for m_retryhdr below
- */
-       MGET_DONT_RECURSE(m, i, t);
-       if (m != NULL)
-               mbstat.m_wait++;
-       else
-               mbstat.m_drops++;
-       return (m);
-}
-
-/*
- * As above; retry an MGETHDR.
- */
-struct mbuf *
-m_retryhdr(i, t)
-       int i, t;
-{
-       register struct mbuf *m;
-
-       m_reclaim();
-       MGETHDR_DONT_RECURSE(m, i, t);
-       if (m != NULL)
-               mbstat.m_wait++;
-       else
-               mbstat.m_drops++;
-       return (m);
-}
-
-void
-m_reclaim()
-{
-       register struct domain *dp;
-       register struct protosw *pr;
-       int s = splimp();
-
-       for (dp = domains; dp; dp = dp->dom_next) {
-           for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) {
-               if (pr->pr_drain)
-                   (*pr->pr_drain)();
-           }
-       }
-
-       splx(s);
-       mbstat.m_drain++;
-}
-
-/*
- * Space allocation routines.
- * These are also available as macros
- * for critical paths.
- */
-struct mbuf *
-m_get(nowait, type)
-       int nowait, type;
-{
-       register struct mbuf *m;
-
-       MGET(m, nowait, type);
-       return (m);
-}
-
-struct mbuf *
-m_gethdr(nowait, type)
-       int nowait, type;
-{
-       register struct mbuf *m;
-
-       MGETHDR(m, nowait, type);
-       return (m);
-}
-
-struct mbuf *
-m_getclr(nowait, type)
-       int nowait, type;
-{
-       register struct mbuf *m;
-
-       MGET(m, nowait, type);
-       if (m == 0)
-               return (0);
-       bzero(mtod(m, caddr_t), MLEN);
-       return (m);
-}
-
-struct mbuf *
-m_free(m)
-       struct mbuf *m;
-{
-       register struct mbuf *n;
-
-       MFREE(m, n);
-       return (n);
-}
-
-void
-m_freem(m)
-       register struct mbuf *m;
-{
-       register struct mbuf *n;
-
-       if (m == NULL)
-               return;
-       do {
-               MFREE(m, n);
-               m = n;
-       } while (m);
-}
-
-/*
- * Mbuffer utility routines.
- */
-
-/*
- * Lesser-used path for M_PREPEND:
- * allocate new mbuf to prepend to chain,
- * copy junk along.
- */
-struct mbuf *
-m_prepend(m, len, how)
-       register struct mbuf *m;
-       int len, how;
-{
-       struct mbuf *mn;
-
-       MGET(mn, how, m->m_type);
-       if (mn == (struct mbuf *)NULL) {
-               m_freem(m);
-               return ((struct mbuf *)NULL);
-       }
-       if (m->m_flags & M_PKTHDR) {
-               M_COPY_PKTHDR(mn, m);
-               m->m_flags &= ~M_PKTHDR;
-       }
-       mn->m_next = m;
-       m = mn;
-       if (len < MHLEN)
-               MH_ALIGN(m, len);
-       m->m_len = len;
-       return (m);
-}
-
-/*
- * Make a copy of an mbuf chain starting "off0" bytes from the beginning,
- * continuing for "len" bytes.  If len is M_COPYALL, copy to end of mbuf.
- * The wait parameter is a choice of M_WAIT/M_DONTWAIT from caller.
- */
-int MCFail;
-
-struct mbuf *
-m_copym(m, off0, len, wait)
-       register struct mbuf *m;
-       int off0, wait;
-       register int len;
-{
-       register struct mbuf *n, **np;
-       register int off = off0;
-       struct mbuf *top;
-       int copyhdr = 0;
-
-       if (off < 0 || len < 0)
-               panic("m_copym");
-       if (off == 0 && m->m_flags & M_PKTHDR)
-               copyhdr = 1;
-       while (off > 0) {
-               if (m == 0)
-                       panic("m_copym");
-               if (off < m->m_len)
-                       break;
-               off -= m->m_len;
-               m = m->m_next;
-       }
-       np = &top;
-       top = 0;
-       while (len > 0) {
-               if (m == 0) {
-                       if (len != M_COPYALL)
-                               panic("m_copym");
-                       break;
-               }
-               MGET(n, wait, m->m_type);
-               *np = n;
-               if (n == 0)
-                       goto nospace;
-               if (copyhdr) {
-                       M_COPY_PKTHDR(n, m);
-                       if (len == M_COPYALL)
-                               n->m_pkthdr.len -= off0;
-                       else
-                               n->m_pkthdr.len = len;
-                       copyhdr = 0;
-               }
-               n->m_len = min(len, m->m_len - off);
-
-               if (m->m_flags & M_EXT) {
-                       n->m_data = m->m_data + off;
-#ifdef OSKIT
-                       oskit_bufio_addref(m->m_ext.ext_bufio);
-#else
-                       mclrefcnt[mtocl(m->m_ext.ext_buf)]++;
-#endif /* OSKIT */
-                       n->m_ext = m->m_ext;
-                       n->m_flags |= M_EXT;
-               } else
-                       bcopy(mtod(m, caddr_t)+off, mtod(n, caddr_t),
-                           (unsigned)n->m_len);
-               if (len != M_COPYALL)
-                       len -= n->m_len;
-               off = 0;
-               m = m->m_next;
-               np = &n->m_next;
-       }
-       if (top == 0)
-               MCFail++;
-       return (top);
-nospace:
-       m_freem(top);
-       MCFail++;
-       return (0);
-}
-
-/*
- * Copy data from an mbuf chain starting "off" bytes from the beginning,
- * continuing for "len" bytes, into the indicated buffer.
- */
-void
-m_copydata(m, off, len, cp)
-       register struct mbuf *m;
-       register int off;
-       register int len;
-       caddr_t cp;
-{
-       register unsigned count;
-
-       if (off < 0 || len < 0)
-               panic("m_copydata");
-       while (off > 0) {
-               if (m == 0)
-                       panic("m_copydata");
-               if (off < m->m_len)
-                       break;
-               off -= m->m_len;
-               m = m->m_next;
-       }
-       while (len > 0) {
-               if (m == 0)
-                       panic("m_copydata");
-               count = min(m->m_len - off, len);
-               bcopy(mtod(m, caddr_t) + off, cp, count);
-               len -= count;
-               cp += count;
-               off = 0;
-               m = m->m_next;
-       }
-}
-
-/*
- * Concatenate mbuf chain n to m.
- * Both chains must be of the same type (e.g. MT_DATA).
- * Any m_pkthdr is not updated.
- */
-void
-m_cat(m, n)
-       register struct mbuf *m, *n;
-{
-       while (m->m_next)
-               m = m->m_next;
-       while (n) {
-               if (m->m_flags & M_EXT ||
-                   m->m_data + m->m_len + n->m_len >= &m->m_dat[MLEN]) {
-                       /* just join the two chains */
-                       m->m_next = n;
-                       return;
-               }
-               /* splat the data from one into the other */
-               bcopy(mtod(n, caddr_t), mtod(m, caddr_t) + m->m_len,
-                   (u_int)n->m_len);
-               m->m_len += n->m_len;
-               n = m_free(n);
-       }
-}
-
-void
-m_adj(mp, req_len)
-       struct mbuf *mp;
-       int req_len;
-{
-       register int len = req_len;
-       register struct mbuf *m;
-       register count;
-
-       if ((m = mp) == NULL)
-               return;
-       if (len >= 0) {
-               /*
-                * Trim from head.
-                */
-               while (m != NULL && len > 0) {
-                       if (m->m_len <= len) {
-                               len -= m->m_len;
-                               m->m_len = 0;
-                               m = m->m_next;
-                       } else {
-                               m->m_len -= len;
-                               m->m_data += len;
-                               len = 0;
-                       }
-               }
-               m = mp;
-               if (mp->m_flags & M_PKTHDR)
-                       m->m_pkthdr.len -= (req_len - len);
-       } else {
-               /*
-                * Trim from tail.  Scan the mbuf chain,
-                * calculating its length and finding the last mbuf.
-                * If the adjustment only affects this mbuf, then just
-                * adjust and return.  Otherwise, rescan and truncate
-                * after the remaining size.
-                */
-               len = -len;
-               count = 0;
-               for (;;) {
-                       count += m->m_len;
-                       if (m->m_next == (struct mbuf *)0)
-                               break;
-                       m = m->m_next;
-               }
-               if (m->m_len >= len) {
-                       m->m_len -= len;
-                       if (mp->m_flags & M_PKTHDR)
-                               mp->m_pkthdr.len -= len;
-                       return;
-               }
-               count -= len;
-               if (count < 0)
-                       count = 0;
-               /*
-                * Correct length for chain is "count".
-                * Find the mbuf with last data, adjust its length,
-                * and toss data from remaining mbufs on chain.
-                */
-               m = mp;
-               if (m->m_flags & M_PKTHDR)
-                       m->m_pkthdr.len = count;
-               for (; m; m = m->m_next) {
-                       if (m->m_len >= count) {
-                               m->m_len = count;
-                               break;
-                       }
-                       count -= m->m_len;
-               }
-               while (m->m_next)
-                       (m = m->m_next) ->m_len = 0;
-       }
-}
-
-/*
- * Rearange an mbuf chain so that len bytes are contiguous
- * and in the data area of an mbuf (so that mtod and dtom
- * will work for a structure of size len).  Returns the resulting
- * mbuf chain on success, frees it and returns null on failure.
- * If there is room, it will add up to max_protohdr-len extra bytes to the
- * contiguous region in an attempt to avoid being called next time.
- */
-int MPFail;
-
-struct mbuf *
-m_pullup(n, len)
-       register struct mbuf *n;
-       int len;
-{
-       register struct mbuf *m;
-       register int count;
-       int space;
-
-       /*
-        * If first mbuf has no cluster, and has room for len bytes
-        * without shifting current data, pullup into it,
-        * otherwise allocate a new mbuf to prepend to the chain.
-        */
-       if ((n->m_flags & M_EXT) == 0 &&
-           n->m_data + len < &n->m_dat[MLEN] && n->m_next) {
-               if (n->m_len >= len)
-                       return (n);
-               m = n;
-               n = n->m_next;
-               len -= m->m_len;
-       } else {
-               if (len > MHLEN)
-                       goto bad;
-               MGET(m, M_DONTWAIT, n->m_type);
-               if (m == 0)
-                       goto bad;
-               m->m_len = 0;
-               if (n->m_flags & M_PKTHDR) {
-                       M_COPY_PKTHDR(m, n);
-                       n->m_flags &= ~M_PKTHDR;
-               }
-       }
-       space = &m->m_dat[MLEN] - (m->m_data + m->m_len);
-       do {
-               count = min(min(max(len, max_protohdr), space), n->m_len);
-               bcopy(mtod(n, caddr_t), mtod(m, caddr_t) + m->m_len,
-                 (unsigned)count);
-               len -= count;
-               m->m_len += count;
-               n->m_len -= count;
-               space -= count;
-               if (n->m_len)
-                       n->m_data += count;
-               else
-                       n = m_free(n);
-       } while (len > 0 && n);
-       if (len > 0) {
-               (void) m_free(m);
-               goto bad;
-       }
-       m->m_next = n;
-       return (m);
-bad:
-       m_freem(n);
-       MPFail++;
-       return (0);
-}
-
-/*
- * Partition an mbuf chain in two pieces, returning the tail --
- * all but the first len0 bytes.  In case of failure, it returns NULL and
- * attempts to restore the chain to its original state.
- */
-struct mbuf *
-m_split(m0, len0, wait)
-       register struct mbuf *m0;
-       int len0, wait;
-{
-       register struct mbuf *m, *n;
-       unsigned len = len0, remain;
-
-       for (m = m0; m && len > m->m_len; m = m->m_next)
-               len -= m->m_len;
-       if (m == 0)
-               return (0);
-       remain = m->m_len - len;
-       if (m0->m_flags & M_PKTHDR) {
-               MGETHDR(n, wait, m0->m_type);
-               if (n == 0)
-                       return (0);
-               n->m_pkthdr.rcvif = m0->m_pkthdr.rcvif;
-               n->m_pkthdr.len = m0->m_pkthdr.len - len0;
-               m0->m_pkthdr.len = len0;
-               if (m->m_flags & M_EXT)
-                       goto extpacket;
-               if (remain > MHLEN) {
-                       /* m can't be the lead packet */
-                       MH_ALIGN(n, 0);
-                       n->m_next = m_split(m, len, wait);
-                       if (n->m_next == 0) {
-                               (void) m_free(n);
-                               return (0);
-                       } else
-                               return (n);
-               } else
-                       MH_ALIGN(n, remain);
-       } else if (remain == 0) {
-               n = m->m_next;
-               m->m_next = 0;
-               return (n);
-       } else {
-               MGET(n, wait, m->m_type);
-               if (n == 0)
-                       return (0);
-               M_ALIGN(n, remain);
-       }
-extpacket:
-       if (m->m_flags & M_EXT) {
-               n->m_flags |= M_EXT;
-               n->m_ext = m->m_ext;
-#ifdef OSKIT
-               oskit_bufio_addref(m->m_ext.ext_bufio);
-#else
-               mclrefcnt[mtocl(m->m_ext.ext_buf)]++;
-#endif /* OSKIT */
-               m->m_ext.ext_size = 0; /* For Accounting XXXXXX danger */
-               n->m_data = m->m_data + len;
-       } else {
-               bcopy(mtod(m, caddr_t) + len, mtod(n, caddr_t), remain);
-       }
-       n->m_len = remain;
-       m->m_len = len;
-       n->m_next = m->m_next;
-       m->m_next = 0;
-       return (n);
-}
-
-#ifndef OSKIT  
-/* currently not OS Kit approved, and shouldn't be needed in the first place */
-/*
- * Routine to copy from device local memory into mbufs.
- */
-struct mbuf *
-m_devget(buf, totlen, off0, ifp, copy)
-       char *buf;
-       int totlen, off0;
-       struct ifnet *ifp;
-       void (*copy)();
-{
-       register struct mbuf *m;
-       struct mbuf *top = 0, **mp = &top;
-       register int off = off0, len;
-       register char *cp;
-       char *epkt;
-
-       cp = buf;
-       epkt = cp + totlen;
-       if (off) {
-               cp += off + 2 * sizeof(u_short);
-               totlen -= 2 * sizeof(u_short);
-       }
-       MGETHDR(m, M_DONTWAIT, MT_DATA);
-       if (m == 0)
-               return (0);
-       m->m_pkthdr.rcvif = ifp;
-       m->m_pkthdr.len = totlen;
-       m->m_len = MHLEN;
-
-       while (totlen > 0) {
-               if (top) {
-                       MGET(m, M_DONTWAIT, MT_DATA);
-                       if (m == 0) {
-                               m_freem(top);
-                               return (0);
-                       }
-                       m->m_len = MLEN;
-               }
-               len = min(totlen, epkt - cp);
-               if (len >= MINCLSIZE) {
-                       MCLGET(m, M_DONTWAIT);
-                       if (m->m_flags & M_EXT)
-                               m->m_len = len = min(len, MCLBYTES);
-                       else
-                               len = m->m_len;
-               } else {
-                       /*
-                        * Place initial small packet/header at end of mbuf.
-                        */
-                       if (len < m->m_len) {
-                               if (top == 0 && len + max_linkhdr <= m->m_len)
-                                       m->m_data += max_linkhdr;
-                               m->m_len = len;
-                       } else
-                               len = m->m_len;
-               }
-               if (copy)
-                       copy(cp, mtod(m, caddr_t), (unsigned)len);
-               else
-                       bcopy(cp, mtod(m, caddr_t), (unsigned)len);
-               cp += len;
-               *mp = m;
-               mp = &m->m_next;
-               totlen -= len;
-               if (cp == epkt)
-                       cp = buf;
-       }
-       return (top);
-}
-
-#endif /* !OSKIT */
-
-/*
- * Copy data from a buffer back into the indicated mbuf chain,
- * starting "off" bytes from the beginning, extending the mbuf
- * chain if necessary.
- */
-void
-m_copyback(m0, off, len, cp)
-       struct  mbuf *m0;
-       register int off;
-       register int len;
-       caddr_t cp;
-{
-       register int mlen;
-       register struct mbuf *m = m0, *n;
-       int totlen = 0;
-
-       if (m0 == 0)
-               return;
-       while (off > (mlen = m->m_len)) {
-               off -= mlen;
-               totlen += mlen;
-               if (m->m_next == 0) {
-                       n = m_getclr(M_DONTWAIT, m->m_type);
-                       if (n == 0)
-                               goto out;
-                       n->m_len = min(MLEN, len + off);
-                       m->m_next = n;
-               }
-               m = m->m_next;
-       }
-       while (len > 0) {
-               mlen = min (m->m_len - off, len);
-               bcopy(cp, off + mtod(m, caddr_t), (unsigned)mlen);
-               cp += mlen;
-               len -= mlen;
-               mlen += off;
-               off = 0;
-               totlen += mlen;
-               if (len == 0)
-                       break;
-               if (m->m_next == 0) {
-                       n = m_get(M_DONTWAIT, m->m_type);
-                       if (n == 0)
-                               break;
-                       n->m_len = min(MLEN, len);
-                       m->m_next = n;
-               }
-               m = m->m_next;
-       }
-out:   if (((m = m0)->m_flags & M_PKTHDR) && (m->m_pkthdr.len < totlen))
-               m->m_pkthdr.len = totlen;
-}
diff --git a/reactos/lib/oskittcp/oskittcp/uipc_socket.c b/reactos/lib/oskittcp/oskittcp/uipc_socket.c
deleted file mode 100644 (file)
index 8d46e40..0000000
+++ /dev/null
@@ -1,1061 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)uipc_socket.c       8.3 (Berkeley) 4/15/94
- */
-
-#include <roscfg.h>
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <sys/file.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/domain.h>
-#include <sys/kernel.h>
-#include <sys/protosw.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/resourcevar.h>
-#include <sys/signalvar.h>
-#include <oskittcp.h>
-
-/*
- * Exported to userland via sysctl
- */
-int somaxconn = SOMAXCONN;
-
-/*
- * Socket operation routines.
- * These routines are called by the routines in
- * sys_socket.c or from a system process, and
- * implement the semantics of socket operations by
- * switching out to the protocol specific routines.
- */
-/*ARGSUSED*/
-int
-socreate(dom, aso, type, proto)
-       int dom;
-       struct socket **aso;
-       register int type;
-       int proto;
-{
-       struct proc *p = curproc;               /* XXX */
-       register struct protosw *prp;
-       register struct socket *so;
-       register int error;
-
-       if (proto)
-               prp = pffindproto(dom, proto, type);
-       else
-               prp = pffindtype(dom, type);
-       if (prp == 0 || prp->pr_usrreq == 0)
-               return (EPROTONOSUPPORT);
-       if (prp->pr_type != type)
-               return (EPROTOTYPE);
-       MALLOC(so, struct socket *, sizeof(*so), M_SOCKET, M_WAIT);
-       bzero((caddr_t)so, sizeof(*so));
-       so->so_type = type;
-       so->so_proto = prp;
-       error =
-           (*prp->pr_usrreq)(so, PRU_ATTACH,
-               (struct mbuf *)0, (struct mbuf *)proto, (struct mbuf *)0);
-       if (error) {
-               so->so_state |= SS_NOFDREF;
-               sofree(so);
-               return (error);
-       }
-       *aso = so;
-       return (0);
-}
-
-int
-sobind(so, nam)
-       struct socket *so;
-       struct mbuf *nam;
-{
-       int s = splnet();
-       int error;
-
-       error =
-           (*so->so_proto->pr_usrreq)(so, PRU_BIND,
-               (struct mbuf *)0, nam, (struct mbuf *)0);
-       splx(s);
-       return (error);
-}
-
-int
-solisten(so, backlog)
-       register struct socket *so;
-       int backlog;
-{
-       int s = splnet(), error;
-
-       error =
-           (*so->so_proto->pr_usrreq)(so, PRU_LISTEN,
-               (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0);
-       if (error) {
-               splx(s);
-               return (error);
-       }
-       if (so->so_q == 0)
-               so->so_options |= SO_ACCEPTCONN;
-       if (backlog < 0 || backlog > somaxconn)
-               backlog = somaxconn;
-       so->so_qlimit = backlog;
-       splx(s);
-       return (0);
-}
-
-void
-sofree(so)
-       register struct socket *so;
-{
-
-       if (so->so_pcb || (so->so_state & SS_NOFDREF) == 0)
-               return;
-       if (so->so_head) {
-               if (!soqremque(so, 0) && !soqremque(so, 1))
-                       panic("sofree dq");
-               so->so_head = 0;
-       }
-       sbrelease(&so->so_snd);
-       sorflush(so);
-       FREE(so, M_SOCKET);
-}
-
-/*
- * Close a socket on last file table reference removal.
- * Initiate disconnect if connected.
- * Free socket when disconnect complete.
- */
-int
-soclose(so)
-       register struct socket *so;
-{
-       int s = splnet();               /* conservative */
-       int error = 0;
-
-       if (so->so_options & SO_ACCEPTCONN) {
-               while (so->so_q0)
-                       (void) soabort(so->so_q0);
-               while (so->so_q)
-                       (void) soabort(so->so_q);
-       }
-       if (so->so_pcb == 0)
-               goto discard;
-       if (so->so_state & SS_ISCONNECTED) {
-               if ((so->so_state & SS_ISDISCONNECTING) == 0) {
-                       error = sodisconnect(so);
-                       if (error)
-                               goto drop;
-               }
-               if (so->so_options & SO_LINGER) {
-                       if ((so->so_state & SS_ISDISCONNECTING) &&
-                           (so->so_state & SS_NBIO))
-                               goto drop;
-                       while (so->so_state & SS_ISCONNECTED) {
-                               error = tsleep((caddr_t)&so->so_timeo,
-                                   PSOCK | PCATCH, netcls, so->so_linger);
-                               if (error)
-                                       break;
-                       }
-               }
-       }
-drop:
-       if (so->so_pcb) {
-               int error2 =
-                   (*so->so_proto->pr_usrreq)(so, PRU_DETACH,
-                       (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0);
-               if (error == 0)
-                       error = error2;
-       }
-discard:
-       if (so->so_state & SS_NOFDREF)
-               panic("soclose: NOFDREF");
-       so->so_state |= SS_NOFDREF;
-       sofree(so);
-       splx(s);
-       return (error);
-}
-
-/*
- * Must be called at splnet...
- */
-int
-soabort(so)
-       struct socket *so;
-{
-
-       return (
-           (*so->so_proto->pr_usrreq)(so, PRU_ABORT,
-               (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0));
-}
-
-int
-soaccept(so, nam)
-       register struct socket *so;
-       struct mbuf *nam;
-{
-       int s = splnet();
-       int error;
-
-       if ((so->so_state & SS_NOFDREF) == 0)
-               panic("soaccept: !NOFDREF");
-       so->so_state &= ~SS_NOFDREF;
-       error = (*so->so_proto->pr_usrreq)(so, PRU_ACCEPT,
-           (struct mbuf *)0, nam, (struct mbuf *)0);
-       splx(s);
-       return (error);
-}
-
-int
-soconnect(so, nam)
-       register struct socket *so;
-       struct mbuf *nam;
-{
-       int s;
-       int error;
-
-       if (so->so_options & SO_ACCEPTCONN)
-               return (EOPNOTSUPP);
-       s = splnet();
-       /*
-        * If protocol is connection-based, can only connect once.
-        * Otherwise, if connected, try to disconnect first.
-        * This allows user to disconnect by connecting to, e.g.,
-        * a null address.
-        */
-       if (so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING) &&
-           ((so->so_proto->pr_flags & PR_CONNREQUIRED) ||
-           (error = sodisconnect(so))))
-               error = EISCONN;
-       else
-               error = (*so->so_proto->pr_usrreq)(so, PRU_CONNECT,
-                   (struct mbuf *)0, nam, (struct mbuf *)0);
-       splx(s);
-       return (error);
-}
-
-int
-soconnect2(so1, so2)
-       register struct socket *so1;
-       struct socket *so2;
-{
-       int s = splnet();
-       int error;
-
-       error = (*so1->so_proto->pr_usrreq)(so1, PRU_CONNECT2,
-           (struct mbuf *)0, (struct mbuf *)so2, (struct mbuf *)0);
-       splx(s);
-       return (error);
-}
-
-int
-sodisconnect(so)
-       register struct socket *so;
-{
-       int s = splnet();
-       int error;
-
-       if ((so->so_state & SS_ISCONNECTED) == 0) {
-               error = ENOTCONN;
-               goto bad;
-       }
-       if (so->so_state & SS_ISDISCONNECTING) {
-               error = EALREADY;
-               goto bad;
-       }
-       error = (*so->so_proto->pr_usrreq)(so, PRU_DISCONNECT,
-           (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0);
-bad:
-       splx(s);
-       return (error);
-}
-
-#define        SBLOCKWAIT(f)   (((f) & MSG_DONTWAIT) ? M_NOWAIT : M_WAITOK)
-/*
- * Send on a socket.
- * If send must go all at once and message is larger than
- * send buffering, then hard error.
- * Lock against other senders.
- * If must go all at once and not enough room now, then
- * inform user that this would block and do nothing.
- * Otherwise, if nonblocking, send as much as possible.
- * The data to be sent is described by "uio" if nonzero,
- * otherwise by the mbuf chain "top" (which must be null
- * if uio is not).  Data provided in mbuf chain must be small
- * enough to send all at once.
- *
- * Returns nonzero on error, timeout or signal; callers
- * must check for short counts if EINTR/ERESTART are returned.
- * Data and control buffers are freed on return.
- */
-int
-sosend(so, addr, uio, top, control, flags)
-       register struct socket *so;
-       struct mbuf *addr;
-       struct uio *uio;
-       struct mbuf *top;
-       struct mbuf *control;
-       int flags;
-{
-       struct proc *p = curproc;               /* XXX */
-       struct mbuf **mp;
-       register struct mbuf *m;
-       register long space, len, resid;
-       int clen = 0, error, s, dontroute, mlen;
-       int atomic = sosendallatonce(so) || top;
-
-       if (uio)
-               resid = uio->uio_resid;
-       else
-               resid = top->m_pkthdr.len;
-       /*
-        * In theory resid should be unsigned.
-        * However, space must be signed, as it might be less than 0
-        * if we over-committed, and we must use a signed comparison
-        * of space and resid.  On the other hand, a negative resid
-        * causes us to loop sending 0-length segments to the protocol.
-        */
-       if (resid < 0)
-               return (EINVAL);
-       dontroute =
-           (flags & MSG_DONTROUTE) && (so->so_options & SO_DONTROUTE) == 0 &&
-           (so->so_proto->pr_flags & PR_ATOMIC);
-       p->p_stats->p_ru.ru_msgsnd++;
-       if (control)
-               clen = control->m_len;
-#define        snderr(errno)   { error = errno; splx(s); goto release; }
-
-restart:
-       error = sblock(&so->so_snd, SBLOCKWAIT(flags));
-       if (error)
-               goto out;
-       do {
-               s = splnet();
-               if (so->so_state & SS_CANTSENDMORE)
-                       snderr(EPIPE);
-               if (so->so_error)
-                       snderr(so->so_error);
-               if ((so->so_state & SS_ISCONNECTED) == 0) {
-                       /*
-                        * `sendto' and `sendmsg' is allowed on a connection-
-                        * based socket if it supports implied connect.
-                        * Return ENOTCONN if not connected and no address is
-                        * supplied.
-                        */
-                       if ((so->so_proto->pr_flags & PR_CONNREQUIRED) &&
-                           (so->so_proto->pr_flags & PR_IMPLOPCL) == 0) {
-                               if ((so->so_state & SS_ISCONFIRMING) == 0 &&
-                                   !(resid == 0 && clen != 0))
-                                       snderr(ENOTCONN);
-                       } else if (addr == 0)
-                           snderr(so->so_proto->pr_flags & PR_CONNREQUIRED ?
-                                  ENOTCONN : EDESTADDRREQ);
-               }
-               space = sbspace(&so->so_snd);
-               if (flags & MSG_OOB)
-                       space += 1024;
-               if ((atomic && resid > so->so_snd.sb_hiwat) ||
-                   clen > so->so_snd.sb_hiwat)
-                       snderr(EMSGSIZE);
-               if (space < resid + clen && uio &&
-                   (atomic || space < so->so_snd.sb_lowat || space < clen)) {
-                       if (so->so_state & SS_NBIO)
-                               snderr(EWOULDBLOCK);
-                       sbunlock(&so->so_snd);
-                       error = sbwait(&so->so_snd);
-                       splx(s);
-                       if (error)
-                               goto out;
-                       goto restart;
-               }
-               splx(s);
-               mp = &top;
-               space -= clen;
-               do {
-                   if (uio == NULL) {
-                       /*
-                        * Data is prepackaged in "top".
-                        */
-                       resid = 0;
-                       if (flags & MSG_EOR)
-                               top->m_flags |= M_EOR;
-                   } else do {
-                       if (top == 0) {
-                               MGETHDR(m, M_WAIT, MT_DATA);
-                               mlen = MHLEN;
-                               m->m_pkthdr.len = 0;
-                               m->m_pkthdr.rcvif = (struct ifnet *)0;
-                       } else {
-                               MGET(m, M_WAIT, MT_DATA);
-                               mlen = MLEN;
-                       }
-                       if (resid >= MINCLSIZE) {
-                               MCLGET(m, M_WAIT);
-                               if ((m->m_flags & M_EXT) == 0)
-                                       goto nopages;
-                               mlen = MCLBYTES;
-                               len = min(min(mlen, resid), space);
-                       } else {
-nopages:
-                               len = min(min(mlen, resid), space);
-                               /*
-                                * For datagram protocols, leave room
-                                * for protocol headers in first mbuf.
-                                */
-                               if (atomic && top == 0 && len < mlen)
-                                       MH_ALIGN(m, len);
-                       }
-                       space -= len;
-                       error = uiomove(mtod(m, caddr_t), (int)len, uio);
-                       resid = uio->uio_resid;
-                       m->m_len = len;
-                       *mp = m;
-                       top->m_pkthdr.len += len;
-                       if (error)
-                               goto release;
-                       mp = &m->m_next;
-                       if (resid <= 0) {
-                               if (flags & MSG_EOR)
-                                       top->m_flags |= M_EOR;
-                               break;
-                       }
-                   } while (space > 0 && atomic);
-                   if (dontroute)
-                           so->so_options |= SO_DONTROUTE;
-                   s = splnet();                               /* XXX */
-                   error = (*so->so_proto->pr_usrreq)(so,
-                       (flags & MSG_OOB) ? PRU_SENDOOB :
-                       /*
-                        * If the user set MSG_EOF, the protocol
-                        * understands this flag and nothing left to
-                        * send then use PRU_SEND_EOF instead of PRU_SEND.
-                        */
-                       ((flags & MSG_EOF) &&
-                        (so->so_proto->pr_flags & PR_IMPLOPCL) &&
-                        (resid <= 0)) ?
-                               PRU_SEND_EOF : PRU_SEND,
-                       top, addr, control);
-                   splx(s);
-                   if (dontroute)
-                           so->so_options &= ~SO_DONTROUTE;
-                   clen = 0;
-                   control = 0;
-                   top = 0;
-                   mp = &top;
-                   if (error)
-                       goto release;
-               } while (resid && space > 0);
-       } while (resid);
-
-release:
-       sbunlock(&so->so_snd);
-out:
-       if (top)
-               m_freem(top);
-       if (control)
-               m_freem(control);
-       return (error);
-}
-
-/*
- * Implement receive operations on a socket.
- * We depend on the way that records are added to the sockbuf
- * by sbappend*.  In particular, each record (mbufs linked through m_next)
- * must begin with an address if the protocol so specifies,
- * followed by an optional mbuf or mbufs containing ancillary data,
- * and then zero or more mbufs of data.
- * In order to avoid blocking network interrupts for the entire time here,
- * we splx() while doing the actual copy to user space.
- * Although the sockbuf is locked, new data may still be appended,
- * and thus we must maintain consistency of the sockbuf during that time.
- *
- * The caller may receive the data as a single mbuf chain by supplying
- * an mbuf **mp0 for use in returning the chain.  The uio is then used
- * only for the count in uio_resid.
- */
-int
-soreceive(so, paddr, uio, mp0, controlp, flagsp)
-       register struct socket *so;
-       struct mbuf **paddr;
-       struct uio *uio;
-       struct mbuf **mp0;
-       struct mbuf **controlp;
-       int *flagsp;
-{
-       register struct mbuf *m, **mp;
-       register int flags, len, error, s, offset;
-       struct protosw *pr = so->so_proto;
-       struct mbuf *nextrecord;
-       int moff, type = 0;
-       int orig_resid = uio->uio_resid;
-
-       mp = mp0;
-       if (paddr)
-               *paddr = 0;
-       if (controlp)
-               *controlp = 0;
-       if (flagsp)
-               flags = *flagsp &~ MSG_EOR;
-       else
-               flags = 0;
-       if (flags & MSG_OOB) {
-               m = m_get(M_WAIT, MT_DATA);
-               error = (*pr->pr_usrreq)(so, PRU_RCVOOB,
-                   m, (struct mbuf *)(flags & MSG_PEEK), (struct mbuf *)0);
-               if (error)
-                       goto bad;
-               do {
-                       error = uiomove(mtod(m, caddr_t),
-                           (int) min(uio->uio_resid, m->m_len), uio);
-                       /*m = m_free(m);*/
-               } while (uio->uio_resid && error == 0 && m);
-bad:
-               if (m)
-                   /*m_freem(m);*/
-               return (error);
-       }
-       if (mp)
-               *mp = (struct mbuf *)0;
-       if (so->so_state & SS_ISCONFIRMING && uio->uio_resid)
-               (*pr->pr_usrreq)(so, PRU_RCVD, (struct mbuf *)0,
-                   (struct mbuf *)0, (struct mbuf *)0);
-
-restart:
-       error = sblock(&so->so_rcv, SBLOCKWAIT(flags));
-       if (error)
-               return (error);
-       s = splnet();
-
-       m = so->so_rcv.sb_mb;
-       /*
-        * If we have less data than requested, block awaiting more
-        * (subject to any timeout) if:
-        *   1. the current count is less than the low water mark, or
-        *   2. MSG_WAITALL is set, and it is possible to do the entire
-        *      receive operation at once if we block (resid <= hiwat).
-        *   3. MSG_DONTWAIT is not set
-        * If MSG_WAITALL is set but resid is larger than the receive buffer,
-        * we have to do the receive in sections, and thus risk returning
-        * a short count if a timeout or signal occurs after we start.
-        */
-       if (m == 0 || (((flags & MSG_DONTWAIT) == 0 &&
-           so->so_rcv.sb_cc < uio->uio_resid) &&
-           (so->so_rcv.sb_cc < so->so_rcv.sb_lowat ||
-           ((flags & MSG_WAITALL) && uio->uio_resid <= so->so_rcv.sb_hiwat)) &&
-           m->m_nextpkt == 0 && (pr->pr_flags & PR_ATOMIC) == 0)) {
-#ifdef DIAGNOSTIC
-               if (m == 0 && so->so_rcv.sb_cc)
-                       panic("receive 1");
-#endif
-               if (so->so_error) {
-                       if (m)
-                               goto dontblock;
-                       error = so->so_error;
-                       if ((flags & MSG_PEEK) == 0)
-                               so->so_error = 0;
-                       goto release;
-               }
-               if (so->so_state & SS_CANTRCVMORE) {
-                       if (m)
-                               goto dontblock;
-                       else
-                               goto release;
-               }
-               for (; m; m = m->m_next)
-                       if (m->m_type == MT_OOBDATA  || (m->m_flags & M_EOR)) {
-                               m = so->so_rcv.sb_mb;
-                               goto dontblock;
-                       }
-               if ((so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING)) == 0 &&
-                   (so->so_proto->pr_flags & PR_CONNREQUIRED)) {
-                       error = ENOTCONN;
-                       goto release;
-               }
-               if (uio->uio_resid == 0)
-                       goto release;
-               if ((so->so_state & SS_NBIO) || (flags & MSG_DONTWAIT)) {
-                       error = EWOULDBLOCK;
-                       goto release;
-               }
-               sbunlock(&so->so_rcv);
-               error = sbwait(&so->so_rcv);
-               splx(s);
-               if (error)
-                       return (error);
-               goto restart;
-       }
-dontblock:
-       if (uio->uio_procp)
-               uio->uio_procp->p_stats->p_ru.ru_msgrcv++;
-       nextrecord = m->m_nextpkt;
-       if (pr->pr_flags & PR_ADDR) {
-#ifdef DIAGNOSTIC
-               if (m->m_type != MT_SONAME)
-                       panic("receive 1a");
-#endif
-               orig_resid = 0;
-               if (flags & MSG_PEEK) {
-                       if (paddr)
-                               *paddr = m_copy(m, 0, m->m_len);
-                       m = m->m_next;
-               } else {
-                       sbfree(&so->so_rcv, m);
-                       if (paddr) {
-                               *paddr = m;
-                               so->so_rcv.sb_mb = m->m_next;
-                               m->m_next = 0;
-                               m = so->so_rcv.sb_mb;
-                       } else {
-                               MFREE(m, so->so_rcv.sb_mb);
-                               m = so->so_rcv.sb_mb;
-                       }
-               }
-       }
-       while (m && m->m_type == MT_CONTROL && error == 0) {
-               if (flags & MSG_PEEK) {
-                       if (controlp)
-                               *controlp = m_copy(m, 0, m->m_len);
-                       m = m->m_next;
-               } else {
-                   sbfree(&so->so_rcv, m);
-                       if (controlp) {
-#ifndef __REACTOS__
-                               if (pr->pr_domain->dom_externalize &&
-                                   mtod(m, struct cmsghdr *)->cmsg_type ==
-                                   SCM_RIGHTS)
-                                  error = (*pr->pr_domain->dom_externalize)(m);
-                               *controlp = m;
-                               so->so_rcv.sb_mb = m->m_next;
-                               m->m_next = 0;
-                               m = so->so_rcv.sb_mb;
-#endif
-                       } else {
-                           /*MFREE(m, so->so_rcv.sb_mb);*/
-                               m = so->so_rcv.sb_mb;
-                       }
-               }
-               if (controlp) {
-                       orig_resid = 0;
-                       controlp = &(*controlp)->m_next;
-               }
-       }
-       if (m) {
-               if ((flags & MSG_PEEK) == 0)
-                       m->m_nextpkt = nextrecord;
-               type = m->m_type;
-               if (type == MT_OOBDATA)
-                       flags |= MSG_OOB;
-       }
-       moff = 0;
-       offset = 0;
-       while (m && uio->uio_resid > 0 && error == 0) {
-               if (m->m_type == MT_OOBDATA) {
-                       if (type != MT_OOBDATA)
-                               break;
-               } else if (type == MT_OOBDATA)
-                       break;
-#ifdef DIAGNOSTIC
-               else if (m->m_type != MT_DATA && m->m_type != MT_HEADER)
-                       panic("receive 3");
-#endif
-               so->so_state &= ~SS_RCVATMARK;
-               len = uio->uio_resid;
-               if (so->so_oobmark && len > so->so_oobmark - offset)
-                       len = so->so_oobmark - offset;
-               if (len > m->m_len - moff)
-                       len = m->m_len - moff;
-               /*
-                * If mp is set, just pass back the mbufs.
-                * Otherwise copy them out via the uio, then free.
-                * Sockbuf must be consistent here (points to current mbuf,
-                * it points to next record) when we drop priority;
-                * we must note any additions to the sockbuf when we
-                * block interrupts again.
-                */
-               if (mp == 0) {
-                       splx(s);
-                       error = uiomove(mtod(m, caddr_t) + moff, (int)len, uio);
-                       s = splnet();
-               } else
-                       uio->uio_resid -= len;
-               if (len == m->m_len - moff) {
-                       if (m->m_flags & M_EOR)
-                               flags |= MSG_EOR;
-                       if (flags & MSG_PEEK) {
-                               m = m->m_next;
-                               moff = 0;
-                       } else {
-                               nextrecord = m->m_nextpkt;
-                               sbfree(&so->so_rcv, m);
-                               if (mp) {
-                                       *mp = m;
-                                       mp = &m->m_next;
-                                       so->so_rcv.sb_mb = m = m->m_next;
-                                       *mp = (struct mbuf *)0;
-                               } else {
-                                   /*MFREE(m, so->so_rcv.sb_mb);*/
-                                       m = so->so_rcv.sb_mb;
-                               }
-                               if (m)
-                                       m->m_nextpkt = nextrecord;
-                       }
-               } else {
-                       if (flags & MSG_PEEK)
-                               moff += len;
-                       else {
-                               if (mp)
-                                       *mp = m_copym(m, 0, len, M_WAIT);
-                               m->m_data += len;
-                               m->m_len -= len;
-                               so->so_rcv.sb_cc -= len;
-                       }
-               }
-               if (so->so_oobmark) {
-                       if ((flags & MSG_PEEK) == 0) {
-                               so->so_oobmark -= len;
-                               if (so->so_oobmark == 0) {
-                                       so->so_state |= SS_RCVATMARK;
-                                       break;
-                               }
-                       } else {
-                               offset += len;
-                               if (offset == so->so_oobmark)
-                                       break;
-                       }
-               }
-               if (flags & MSG_EOR)
-                       break;
-               /*
-                * If the MSG_WAITALL flag is set (for non-atomic socket),
-                * we must not quit until "uio->uio_resid == 0" or an error
-                * termination.  If a signal/timeout occurs, return
-                * with a short count but without error.
-                * Keep sockbuf locked against other readers.
-                */
-               while (flags & MSG_WAITALL && m == 0 && uio->uio_resid > 0 &&
-                   !sosendallatonce(so) && !nextrecord) {
-                       if (so->so_error || so->so_state & SS_CANTRCVMORE)
-                               break;
-                       error = sbwait(&so->so_rcv);
-                       if (error) {
-                               sbunlock(&so->so_rcv);
-                               splx(s);
-                               return (0);
-                       }
-                       m = so->so_rcv.sb_mb;
-                       if (m)
-                               nextrecord = m->m_nextpkt;
-               }
-       }
-
-       if (m && pr->pr_flags & PR_ATOMIC) {
-               flags |= MSG_TRUNC;
-               if ((flags & MSG_PEEK) == 0)
-                       (void) sbdroprecord(&so->so_rcv);
-       }
-       if ((flags & MSG_PEEK) == 0) {
-               if (m == 0)
-                       so->so_rcv.sb_mb = nextrecord;
-               if (pr->pr_flags & PR_WANTRCVD && so->so_pcb)
-                       (*pr->pr_usrreq)(so, PRU_RCVD, (struct mbuf *)0,
-                           (struct mbuf *)flags, (struct mbuf *)0);
-       }
-       if (orig_resid == uio->uio_resid && orig_resid &&
-           (flags & MSG_EOR) == 0 && (so->so_state & SS_CANTRCVMORE) == 0) {
-               sbunlock(&so->so_rcv);
-               splx(s);
-               goto restart;
-       }
-
-       if (flagsp)
-               *flagsp |= flags;
-release:
-       sbunlock(&so->so_rcv);
-       splx(s);
-       return (error);
-}
-
-int
-soshutdown(so, how)
-       register struct socket *so;
-       register int how;
-{
-       register struct protosw *pr = so->so_proto;
-
-       how++;
-       if (how & FREAD)
-               sorflush(so);
-       if (how & FWRITE)
-               return ((*pr->pr_usrreq)(so, PRU_SHUTDOWN,
-                   (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0));
-       return (0);
-}
-
-void
-sorflush(so)
-       register struct socket *so;
-{
-       register struct sockbuf *sb = &so->so_rcv;
-       register struct protosw *pr = so->so_proto;
-       register int s;
-       struct sockbuf asb;
-
-       sb->sb_flags |= SB_NOINTR;
-       (void) sblock(sb, M_WAITOK);
-       s = splimp();
-       socantrcvmore(so);
-       sbunlock(sb);
-       asb = *sb;
-       bzero((caddr_t)sb, sizeof (*sb));
-       splx(s);
-       if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose)
-               (*pr->pr_domain->dom_dispose)(asb.sb_mb);
-       sbrelease(&asb);
-}
-
-int
-sosetopt(so, level, optname, m0)
-       register struct socket *so;
-       int level, optname;
-       struct mbuf *m0;
-{
-       int error = 0;
-       register struct mbuf *m = m0;
-
-       if (level != SOL_SOCKET) {
-               if (so->so_proto && so->so_proto->pr_ctloutput)
-                       return ((*so->so_proto->pr_ctloutput)
-                                 (PRCO_SETOPT, so, level, optname, &m0));
-               error = ENOPROTOOPT;
-       } else {
-               switch (optname) {
-
-               case SO_LINGER:
-                       if (m == NULL || m->m_len != sizeof (struct linger)) {
-                               error = EINVAL;
-                               goto bad;
-                       }
-                       so->so_linger = mtod(m, struct linger *)->l_linger;
-                       /* fall thru... */
-
-               case SO_DEBUG:
-               case SO_KEEPALIVE:
-               case SO_DONTROUTE:
-               case SO_USELOOPBACK:
-               case SO_BROADCAST:
-               case SO_REUSEADDR:
-                   /*case SO_REUSEPORT:*/
-               case SO_OOBINLINE:
-                       if (m == NULL || m->m_len < sizeof (int)) {
-                               error = EINVAL;
-                               goto bad;
-                       }
-                       if (*mtod(m, int *))
-                               so->so_options |= optname;
-                       else
-                               so->so_options &= ~optname;
-                       break;
-
-               case SO_SNDBUF:
-               case SO_RCVBUF:
-               case SO_SNDLOWAT:
-               case SO_RCVLOWAT:
-                       if (m == NULL || m->m_len < sizeof (int)) {
-                               error = EINVAL;
-                               goto bad;
-                       }
-                       switch (optname) {
-
-                       case SO_SNDBUF:
-                       case SO_RCVBUF:
-                               if (sbreserve(optname == SO_SNDBUF ?
-                                   &so->so_snd : &so->so_rcv,
-                                   (u_long) *mtod(m, int *)) == 0) {
-                                       error = ENOBUFS;
-                                       goto bad;
-                               }
-                               break;
-
-                       case SO_SNDLOWAT:
-                               so->so_snd.sb_lowat = *mtod(m, int *);
-                               break;
-                       case SO_RCVLOWAT:
-                               so->so_rcv.sb_lowat = *mtod(m, int *);
-                               break;
-                       }
-                       break;
-
-               case SO_SNDTIMEO:
-               case SO_RCVTIMEO:
-                   {
-                       struct timeval *tv;
-                       short val;
-
-                       if (m == NULL || m->m_len < sizeof (*tv)) {
-                               error = EINVAL;
-                               goto bad;
-                       }
-                       tv = mtod(m, struct timeval *);
-                       if (tv->tv_sec > SHRT_MAX / hz - hz) {
-                               error = EDOM;
-                               goto bad;
-                       }
-                       val = tv->tv_sec * hz + tv->tv_usec / tick;
-
-                       switch (optname) {
-
-                       case SO_SNDTIMEO:
-                               so->so_snd.sb_timeo = val;
-                               break;
-                       case SO_RCVTIMEO:
-                               so->so_rcv.sb_timeo = val;
-                               break;
-                       }
-                       break;
-                   }
-
-               default:
-                       error = ENOPROTOOPT;
-                       break;
-               }
-               if (error == 0 && so->so_proto && so->so_proto->pr_ctloutput) {
-                       (void) ((*so->so_proto->pr_ctloutput)
-                                 (PRCO_SETOPT, so, level, optname, &m0));
-                       m = NULL;       /* freed by protocol */
-               }
-       }
-bad:
-       if (m)
-           /*(void) m_free(m);*/
-       return (error);
-}
-
-int
-sogetopt(so, level, optname, mp)
-       register struct socket *so;
-       int level, optname;
-       struct mbuf **mp;
-{
-       register struct mbuf *m;
-
-       if (level != SOL_SOCKET) {
-               if (so->so_proto && so->so_proto->pr_ctloutput) {
-                       return ((*so->so_proto->pr_ctloutput)
-                                 (PRCO_GETOPT, so, level, optname, mp));
-               } else
-                       return (ENOPROTOOPT);
-       } else {
-               m = m_get(M_WAIT, MT_SOOPTS);
-               m->m_len = sizeof (int);
-
-               switch (optname) {
-
-               case SO_LINGER:
-                       m->m_len = sizeof (struct linger);
-                       mtod(m, struct linger *)->l_onoff =
-                               so->so_options & SO_LINGER;
-                       mtod(m, struct linger *)->l_linger = so->so_linger;
-                       break;
-
-               case SO_USELOOPBACK:
-               case SO_DONTROUTE:
-               case SO_DEBUG:
-               case SO_KEEPALIVE:
-               case SO_REUSEADDR:
-                   /*case SO_REUSEPORT: */
-               case SO_BROADCAST:
-               case SO_OOBINLINE:
-                       *mtod(m, int *) = so->so_options & optname;
-                       break;
-
-               case SO_TYPE:
-                       *mtod(m, int *) = so->so_type;
-                       break;
-
-               case SO_ERROR:
-                       *mtod(m, int *) = so->so_error;
-                       so->so_error = 0;
-                       break;
-
-               case SO_SNDBUF:
-                       *mtod(m, int *) = so->so_snd.sb_hiwat;
-                       break;
-
-               case SO_RCVBUF:
-                       *mtod(m, int *) = so->so_rcv.sb_hiwat;
-                       break;
-
-               case SO_SNDLOWAT:
-                       *mtod(m, int *) = so->so_snd.sb_lowat;
-                       break;
-
-               case SO_RCVLOWAT:
-                       *mtod(m, int *) = so->so_rcv.sb_lowat;
-                       break;
-
-               case SO_SNDTIMEO:
-               case SO_RCVTIMEO:
-                   {
-                       int val = (optname == SO_SNDTIMEO ?
-                            so->so_snd.sb_timeo : so->so_rcv.sb_timeo);
-
-                       m->m_len = sizeof(struct timeval);
-                       mtod(m, struct timeval *)->tv_sec = val / hz;
-                       mtod(m, struct timeval *)->tv_usec =
-                           (val % hz) * tick;
-                       break;
-                   }
-
-               default:
-                       (void)m_free(m);
-                       return (ENOPROTOOPT);
-               }
-               *mp = m;
-               return (0);
-       }
-}
-
-void
-sohasoutofband(so)
-       register struct socket *so;
-{
-       struct proc *p;
-
-       if (so->so_pgid < 0)
-               gsignal(-so->so_pgid, SIGURG);
-       else if (so->so_pgid > 0 && (p = pfind(so->so_pgid)) != 0)
-               psignal(p, SIGURG);
-       selwakeup(&so->so_rcv.sb_sel);
-}
diff --git a/reactos/lib/oskittcp/oskittcp/uipc_socket2.c b/reactos/lib/oskittcp/oskittcp/uipc_socket2.c
deleted file mode 100644 (file)
index f1f7d74..0000000
+++ /dev/null
@@ -1,812 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1990, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)uipc_socket2.c      8.1 (Berkeley) 6/10/93
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <sys/file.h>
-#include <sys/buf.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/signalvar.h>
-#include <oskittcp.h>
-
-/*
- * Primitive routines for operating on sockets and socket buffers
- */
-
-/* strings for sleep message: */
-char   netio[] = "netio";
-char   netcon[] = "netcon";
-char   netcls[] = "netcls";
-
-/* these two are sysctl visible */
-u_long sb_max = SB_MAX;                /* patchable */
-
-u_long sb_efficiency = 8;              /* parameter for sbreserve() */
-
-int    sominqueue = 0;                 /* minimum queue override */
-
-/*
- * Procedures to manipulate state flags of socket
- * and do appropriate wakeups.  Normal sequence from the
- * active (originating) side is that soisconnecting() is
- * called during processing of connect() call,
- * resulting in an eventual call to soisconnected() if/when the
- * connection is established.  When the connection is torn down
- * soisdisconnecting() is called during processing of disconnect() call,
- * and soisdisconnected() is called when the connection to the peer
- * is totally severed.  The semantics of these routines are such that
- * connectionless protocols can call soisconnected() and soisdisconnected()
- * only, bypassing the in-progress calls when setting up a ``connection''
- * takes no time.
- *
- * From the passive side, a socket is created with
- * two queues of sockets: so_q0 for connections in progress
- * and so_q for connections already made and awaiting user acceptance.
- * As a protocol is preparing incoming connections, it creates a socket
- * structure queued on so_q0 by calling sonewconn().  When the connection
- * is established, soisconnected() is called, and transfers the
- * socket structure to so_q, making it available to accept().
- *
- * If a socket is closed with sockets on either
- * so_q0 or so_q, these sockets are dropped.
- *
- * If higher level protocols are implemented in
- * the kernel, the wakeups done here will sometimes
- * cause software-interrupt process scheduling.
- */
-
-void
-soisconnecting(so)
-       register struct socket *so;
-{
-
-       so->so_state &= ~(SS_ISCONNECTED|SS_ISDISCONNECTING);
-       so->so_state |= SS_ISCONNECTING;
-}
-
-void
-soisconnected(so)
-       register struct socket *so;
-{
-       register struct socket *head = so->so_head;
-
-       so->so_state &= ~(SS_ISCONNECTING|SS_ISDISCONNECTING|SS_ISCONFIRMING);
-       so->so_state |= SS_ISCONNECTED;
-       if (head && soqremque(so, 0)) {
-               soqinsque(head, so, 1);
-               sorwakeup(head);
-               wakeup((caddr_t)&head->so_timeo);
-       } else {
-               wakeup((caddr_t)&so->so_timeo);
-               sorwakeup(so);
-               sowwakeup(so);
-       }
-
-       if( OtcpEvent.SocketConnectIndication )
-           OtcpEvent.SocketConnectIndication
-               ( OtcpEvent.ClientData,
-                 so,
-                 so->so_connection );
-}
-
-void
-soisdisconnecting(so)
-       register struct socket *so;
-{
-
-       so->so_state &= ~SS_ISCONNECTING;
-       so->so_state |= (SS_ISDISCONNECTING|SS_CANTRCVMORE|SS_CANTSENDMORE);
-       wakeup((caddr_t)&so->so_timeo);
-       sowwakeup(so);
-       sorwakeup(so);
-}
-
-void
-soisdisconnected(so)
-       register struct socket *so;
-{
-
-       so->so_state &= ~(SS_ISCONNECTING|SS_ISCONNECTED|SS_ISDISCONNECTING);
-       so->so_state |= (SS_CANTRCVMORE|SS_CANTSENDMORE);
-       wakeup((caddr_t)&so->so_timeo);
-       sowwakeup(so);
-       sorwakeup(so);
-}
-
-/*
- * When an attempt at a new connection is noted on a socket
- * which accepts connections, sonewconn is called.  If the
- * connection is possible (subject to space constraints, etc.)
- * then we allocate a new structure, propoerly linked into the
- * data structure of the original socket, and return this.
- * Connstatus may be 0, or SO_ISCONFIRMING, or SO_ISCONNECTED.
- *
- * Currently, sonewconn() is defined as sonewconn1() in socketvar.h
- * to catch calls that are missing the (new) second parameter.
- */
-struct socket *
-sonewconn1(head, connstatus)
-       register struct socket *head;
-       int connstatus;
-{
-       register struct socket *so;
-       int soqueue = connstatus ? 1 : 0;
-
-       if ((head->so_qlen + head->so_q0len > 3 * head->so_qlimit / 2) &&
-           (head->so_qlen + head->so_q0len > sominqueue))
-               return ((struct socket *)0);
-       MALLOC(so, struct socket *, sizeof(*so), M_SOCKET, M_DONTWAIT);
-       if (so == NULL)
-               return ((struct socket *)0);
-       bzero((caddr_t)so, sizeof(*so));
-       so->so_type = head->so_type;
-       so->so_options = head->so_options &~ SO_ACCEPTCONN;
-       so->so_linger = head->so_linger;
-       so->so_state = head->so_state | SS_NOFDREF;
-       so->so_proto = head->so_proto;
-       so->so_timeo = head->so_timeo;
-       so->so_pgid = head->so_pgid;
-       (void) soreserve(so, head->so_snd.sb_hiwat, head->so_rcv.sb_hiwat);
-       soqinsque(head, so, soqueue);
-       if ((*so->so_proto->pr_usrreq)(so, PRU_ATTACH,
-           (struct mbuf *)0, (struct mbuf *)0, (struct mbuf *)0)) {
-               (void) soqremque(so, soqueue);
-               (void) free((caddr_t)so, M_SOCKET);
-               return ((struct socket *)0);
-       }
-       if (connstatus) {
-               sorwakeup(head);
-               wakeup((caddr_t)&head->so_timeo);
-               so->so_state |= connstatus;
-       }
-       return (so);
-}
-
-void
-soqinsque(head, so, q)
-       register struct socket *head, *so;
-       int q;
-{
-
-       register struct socket **prev;
-       so->so_head = head;
-       if (q == 0) {
-               head->so_q0len++;
-               so->so_q0 = 0;
-               for (prev = &(head->so_q0); *prev; )
-                       prev = &((*prev)->so_q0);
-       } else {
-               head->so_qlen++;
-               so->so_q = 0;
-               for (prev = &(head->so_q); *prev; )
-                       prev = &((*prev)->so_q);
-       }
-       *prev = so;
-}
-
-int
-soqremque(so, q)
-       register struct socket *so;
-       int q;
-{
-       register struct socket *head, *prev, *next;
-
-       head = so->so_head;
-       prev = head;
-       for (;;) {
-               next = q ? prev->so_q : prev->so_q0;
-               if (next == so)
-                       break;
-               if (next == 0)
-                       return (0);
-               prev = next;
-       }
-       if (q == 0) {
-               prev->so_q0 = next->so_q0;
-               head->so_q0len--;
-       } else {
-               prev->so_q = next->so_q;
-               head->so_qlen--;
-       }
-       next->so_q0 = next->so_q = 0;
-       next->so_head = 0;
-       return (1);
-}
-
-/*
- * Socantsendmore indicates that no more data will be sent on the
- * socket; it would normally be applied to a socket when the user
- * informs the system that no more data is to be sent, by the protocol
- * code (in case PRU_SHUTDOWN).  Socantrcvmore indicates that no more data
- * will be received, and will normally be applied to the socket by a
- * protocol when it detects that the peer will send no more data.
- * Data queued for reading in the socket may yet be read.
- */
-
-void
-socantsendmore(so)
-       struct socket *so;
-{
-
-       so->so_state |= SS_CANTSENDMORE;
-       sowwakeup(so);
-}
-
-void
-socantrcvmore(so)
-       struct socket *so;
-{
-
-       so->so_state |= SS_CANTRCVMORE;
-       sorwakeup(so);
-}
-
-/*
- * Wait for data to arrive at/drain from a socket buffer.
- */
-int
-sbwait(sb)
-       struct sockbuf *sb;
-{
-
-       sb->sb_flags |= SB_WAIT;
-       return (tsleep((caddr_t)&sb->sb_cc,
-           (sb->sb_flags & SB_NOINTR) ? PSOCK : PSOCK | PCATCH, netio,
-           sb->sb_timeo));
-}
-
-/*
- * Lock a sockbuf already known to be locked;
- * return any error returned from sleep (EINTR).
- */
-int
-sb_lock(sb)
-       register struct sockbuf *sb;
-{
-       int error;
-
-       while (sb->sb_flags & SB_LOCK) {
-               sb->sb_flags |= SB_WANT;
-               error = tsleep((caddr_t)&sb->sb_flags,
-                   (sb->sb_flags & SB_NOINTR) ? PSOCK : PSOCK|PCATCH,
-                   netio, 0);
-               if (error)
-                       return (error);
-       }
-       sb->sb_flags |= SB_LOCK;
-       return (0);
-}
-
-/*
- * Wakeup processes waiting on a socket buffer.
- * Do asynchronous notification via SIGIO
- * if the socket has the SS_ASYNC flag set.
- */
-void
-sowakeup(so, sb)
-       register struct socket *so;
-       register struct sockbuf *sb;
-{
-       struct proc *p;
-
-       selwakeup(&sb->sb_sel);
-#ifndef OSKIT
-       /*
-        * in the OS Kit, we do not want notifications to stop
-        */
-       sb->sb_flags &= ~SB_SEL;
-#endif
-       if (sb->sb_flags & SB_WAIT) {
-               sb->sb_flags &= ~SB_WAIT;
-               wakeup((caddr_t)&sb->sb_cc);
-       }
-       if (so->so_state & SS_ASYNC) {
-               if (so->so_pgid < 0)
-                       gsignal(-so->so_pgid, SIGIO);
-               else if (so->so_pgid > 0 && (p = pfind(so->so_pgid)) != 0)
-                       psignal(p, SIGIO);
-       }
-}
-
-/*
- * Socket buffer (struct sockbuf) utility routines.
- *
- * Each socket contains two socket buffers: one for sending data and
- * one for receiving data.  Each buffer contains a queue of mbufs,
- * information about the number of mbufs and amount of data in the
- * queue, and other fields allowing select() statements and notification
- * on data availability to be implemented.
- *
- * Data stored in a socket buffer is maintained as a list of records.
- * Each record is a list of mbufs chained together with the m_next
- * field.  Records are chained together with the m_nextpkt field. The upper
- * level routine soreceive() expects the following conventions to be
- * observed when placing information in the receive buffer:
- *
- * 1. If the protocol requires each message be preceded by the sender's
- *    name, then a record containing that name must be present before
- *    any associated data (mbuf's must be of type MT_SONAME).
- * 2. If the protocol supports the exchange of ``access rights'' (really
- *    just additional data associated with the message), and there are
- *    ``rights'' to be received, then a record containing this data
- *    should be present (mbuf's must be of type MT_RIGHTS).
- * 3. If a name or rights record exists, then it must be followed by
- *    a data record, perhaps of zero length.
- *
- * Before using a new socket structure it is first necessary to reserve
- * buffer space to the socket, by calling sbreserve().  This should commit
- * some of the available buffer space in the system buffer pool for the
- * socket (currently, it does nothing but enforce limits).  The space
- * should be released by calling sbrelease() when the socket is destroyed.
- */
-
-int
-soreserve(so, sndcc, rcvcc)
-       register struct socket *so;
-       u_long sndcc, rcvcc;
-{
-
-       if (sbreserve(&so->so_snd, sndcc) == 0)
-               goto bad;
-       if (sbreserve(&so->so_rcv, rcvcc) == 0)
-               goto bad2;
-       if (so->so_rcv.sb_lowat == 0)
-               so->so_rcv.sb_lowat = 1;
-       if (so->so_snd.sb_lowat == 0)
-               so->so_snd.sb_lowat = MCLBYTES;
-       if (so->so_snd.sb_lowat > so->so_snd.sb_hiwat)
-               so->so_snd.sb_lowat = so->so_snd.sb_hiwat;
-       return (0);
-bad2:
-       sbrelease(&so->so_snd);
-bad:
-       return (ENOBUFS);
-}
-
-/*
- * Allot mbufs to a sockbuf.
- * Attempt to scale mbmax so that mbcnt doesn't become limiting
- * if buffering efficiency is near the normal case.
- */
-int
-sbreserve(sb, cc)
-       struct sockbuf *sb;
-       u_long cc;
-{
-
-       if (cc > sb_max * MCLBYTES / (MSIZE + MCLBYTES))
-               return (0);
-       sb->sb_hiwat = cc;
-       sb->sb_mbmax = min(cc * sb_efficiency, sb_max);
-       if (sb->sb_lowat > sb->sb_hiwat)
-               sb->sb_lowat = sb->sb_hiwat;
-       return (1);
-}
-
-/*
- * Free mbufs held by a socket, and reserved mbuf space.
- */
-void
-sbrelease(sb)
-       struct sockbuf *sb;
-{
-
-       sbflush(sb);
-       sb->sb_hiwat = sb->sb_mbmax = 0;
-}
-
-/*
- * Routines to add and remove
- * data from an mbuf queue.
- *
- * The routines sbappend() or sbappendrecord() are normally called to
- * append new mbufs to a socket buffer, after checking that adequate
- * space is available, comparing the function sbspace() with the amount
- * of data to be added.  sbappendrecord() differs from sbappend() in
- * that data supplied is treated as the beginning of a new record.
- * To place a sender's address, optional access rights, and data in a
- * socket receive buffer, sbappendaddr() should be used.  To place
- * access rights and data in a socket receive buffer, sbappendrights()
- * should be used.  In either case, the new data begins a new record.
- * Note that unlike sbappend() and sbappendrecord(), these routines check
- * for the caller that there will be enough space to store the data.
- * Each fails if there is not enough space, or if it cannot find mbufs
- * to store additional information in.
- *
- * Reliable protocols may use the socket send buffer to hold data
- * awaiting acknowledgement.  Data is normally copied from a socket
- * send buffer in a protocol with m_copy for output to a peer,
- * and then removing the data from the socket buffer with sbdrop()
- * or sbdroprecord() when the data is acknowledged by the peer.
- */
-
-/*
- * Append mbuf chain m to the last record in the
- * socket buffer sb.  The additional space associated
- * the mbuf chain is recorded in sb.  Empty mbufs are
- * discarded and mbufs are compacted where possible.
- */
-void
-sbappend(so, sb, m)
-    struct socket *so;
-    struct sockbuf *sb;
-    struct mbuf *m;
-{
-       register struct mbuf *n;
-
-       if (m == 0)
-               return;
-       n = sb->sb_mb;
-       if (n) {
-               while (n->m_nextpkt)
-                       n = n->m_nextpkt;
-               do {
-                       if (n->m_flags & M_EOR) {
-                               sbappendrecord(sb, m); /* XXXXXX!!!! */
-                               return;
-                       }
-               } while (n->m_next && (n = n->m_next));
-       }
-       OskitDumpBuffer( m->m_data, m->m_len );
-       if( OtcpEvent.SocketDataAvailable )
-           OtcpEvent.SocketDataAvailable
-               ( OtcpEvent.ClientData,
-                 so,
-                 so->so_connection,
-                 m->m_data, m->m_len );
-}
-
-#ifdef SOCKBUF_DEBUG
-void
-sbcheck(sb)
-       register struct sockbuf *sb;
-{
-       register struct mbuf *m;
-       register int len = 0, mbcnt = 0;
-
-       for (m = sb->sb_mb; m; m = m->m_next) {
-               len += m->m_len;
-               mbcnt += MSIZE;
-               if (m->m_flags & M_EXT)
-                       mbcnt += m->m_ext.ext_size;
-               if (m->m_nextpkt)
-                       panic("sbcheck nextpkt");
-       }
-       if (len != sb->sb_cc || mbcnt != sb->sb_mbcnt) {
-               printf("cc %d != %d || mbcnt %d != %d\n", len, sb->sb_cc,
-                   mbcnt, sb->sb_mbcnt);
-               panic("sbcheck");
-       }
-}
-#endif
-
-/*
- * As above, except the mbuf chain
- * begins a new record.
- */
-void
-sbappendrecord(sb, m0)
-       register struct sockbuf *sb;
-       register struct mbuf *m0;
-{
-       register struct mbuf *m;
-
-       if (m0 == 0)
-               return;
-       m = sb->sb_mb;
-       if (m)
-               while (m->m_nextpkt)
-                       m = m->m_nextpkt;
-       /*
-        * Put the first mbuf on the queue.
-        * Note this permits zero length records.
-        */
-       sballoc(sb, m0);
-       if (m)
-               m->m_nextpkt = m0;
-       else
-               sb->sb_mb = m0;
-       m = m0->m_next;
-       m0->m_next = 0;
-       if (m && (m0->m_flags & M_EOR)) {
-               m0->m_flags &= ~M_EOR;
-               m->m_flags |= M_EOR;
-       }
-       sbcompress(sb, m, m0);
-}
-
-/*
- * As above except that OOB data
- * is inserted at the beginning of the sockbuf,
- * but after any other OOB data.
- */
-void
-sbinsertoob(sb, m0)
-       register struct sockbuf *sb;
-       register struct mbuf *m0;
-{
-       register struct mbuf *m;
-       register struct mbuf **mp;
-
-       if (m0 == 0)
-               return;
-       for (mp = &sb->sb_mb; *mp ; mp = &((*mp)->m_nextpkt)) {
-           m = *mp;
-           again:
-               switch (m->m_type) {
-
-               case MT_OOBDATA:
-                       continue;               /* WANT next train */
-
-               case MT_CONTROL:
-                       m = m->m_next;
-                       if (m)
-                               goto again;     /* inspect THIS train further */
-               }
-               break;
-       }
-       /*
-        * Put the first mbuf on the queue.
-        * Note this permits zero length records.
-        */
-       sballoc(sb, m0);
-       m0->m_nextpkt = *mp;
-       *mp = m0;
-       m = m0->m_next;
-       m0->m_next = 0;
-       if (m && (m0->m_flags & M_EOR)) {
-               m0->m_flags &= ~M_EOR;
-               m->m_flags |= M_EOR;
-       }
-       sbcompress(sb, m, m0);
-}
-
-/*
- * Append address and data, and optionally, control (ancillary) data
- * to the receive queue of a socket.  If present,
- * m0 must include a packet header with total length.
- * Returns 0 if no space in sockbuf or insufficient mbufs.
- */
-int
-sbappendaddr(sb, asa, m0, control)
-       register struct sockbuf *sb;
-       struct sockaddr *asa;
-       struct mbuf *m0, *control;
-{
-       register struct mbuf *m, *n;
-       int space = /*asa->sa_len;*/ sizeof(struct sockaddr);
-
-if (m0 && (m0->m_flags & M_PKTHDR) == 0)
-panic("sbappendaddr");
-       if (m0)
-               space += m0->m_pkthdr.len;
-       for (n = control; n; n = n->m_next) {
-               space += n->m_len;
-               if (n->m_next == 0)     /* keep pointer to last control buf */
-                       break;
-       }
-       if (space > sbspace(sb))
-               return (0);
-       MGET(m, M_DONTWAIT, MT_SONAME);
-       if (m == 0)
-               return (0);
-       m->m_len = sizeof(struct sockaddr); 
-       bcopy((caddr_t)asa, mtod(m, caddr_t), sizeof(struct sockaddr));
-       if (n)
-               n->m_next = m0;         /* concatenate data to control */
-       else
-               control = m0;
-       m->m_next = control;
-       for (n = m; n; n = n->m_next)
-               sballoc(sb, n);
-       n = sb->sb_mb;
-       if (n) {
-               while (n->m_nextpkt)
-                       n = n->m_nextpkt;
-               n->m_nextpkt = m;
-       } else
-               sb->sb_mb = m;
-       return (1);
-}
-
-int
-sbappendcontrol(sb, m0, control)
-       struct sockbuf *sb;
-       struct mbuf *control, *m0;
-{
-       register struct mbuf *m, *n;
-       int space = 0;
-
-       if (control == 0)
-               panic("sbappendcontrol");
-       for (m = control; ; m = m->m_next) {
-               space += m->m_len;
-               if (m->m_next == 0)
-                       break;
-       }
-       n = m;                  /* save pointer to last control buffer */
-       for (m = m0; m; m = m->m_next)
-               space += m->m_len;
-       if (space > sbspace(sb))
-               return (0);
-       n->m_next = m0;                 /* concatenate data to control */
-       for (m = control; m; m = m->m_next)
-               sballoc(sb, m);
-       n = sb->sb_mb;
-       if (n) {
-               while (n->m_nextpkt)
-                       n = n->m_nextpkt;
-               n->m_nextpkt = control;
-       } else
-               sb->sb_mb = control;
-       return (1);
-}
-
-/*
- * Compress mbuf chain m into the socket
- * buffer sb following mbuf n.  If n
- * is null, the buffer is presumed empty.
- */
-void
-sbcompress(sb, m, n)
-       register struct sockbuf *sb;
-       register struct mbuf *m, *n;
-{
-       register int eor = 0;
-       register struct mbuf *o;
-
-       while (m) {
-               eor |= m->m_flags & M_EOR;
-               if (m->m_len == 0 &&
-                   (eor == 0 ||
-                    (((o = m->m_next) || (o = n)) &&
-                     o->m_type == m->m_type))) {
-                       m = m_free(m);
-                       continue;
-               }
-               if (n && (n->m_flags & (M_EXT | M_EOR)) == 0 &&
-                   (n->m_data + n->m_len + m->m_len) < &n->m_dat[MLEN] &&
-                   n->m_type == m->m_type) {
-                       bcopy(mtod(m, caddr_t), mtod(n, caddr_t) + n->m_len,
-                           (unsigned)m->m_len);
-                       n->m_len += m->m_len;
-                       sb->sb_cc += m->m_len;
-                       m = m_free(m);
-                       continue;
-               }
-               if (n)
-                       n->m_next = m;
-               else
-                       sb->sb_mb = m;
-               sballoc(sb, m);
-               n = m;
-               m->m_flags &= ~M_EOR;
-               m = m->m_next;
-               n->m_next = 0;
-       }
-       if (eor) {
-               if (n)
-                       n->m_flags |= eor;
-               else
-                       printf("semi-panic: sbcompress\n");
-       }
-}
-
-/*
- * Free all mbufs in a sockbuf.
- * Check that all resources are reclaimed.
- */
-void
-sbflush(sb)
-       register struct sockbuf *sb;
-{
-
-       if (sb->sb_flags & SB_LOCK)
-               panic("sbflush");
-       while (sb->sb_mbcnt)
-               sbdrop(sb, (int)sb->sb_cc);
-       if (sb->sb_cc || sb->sb_mb)
-               panic("sbflush 2");
-}
-
-/*
- * Drop data from (the front of) a sockbuf.
- */
-void
-sbdrop(sb, len)
-       register struct sockbuf *sb;
-       register int len;
-{
-       register struct mbuf *m, *mn;
-       struct mbuf *next;
-
-       next = (m = sb->sb_mb) ? m->m_nextpkt : 0;
-       while (len > 0) {
-               if (m == 0) {
-                       if (next == 0)
-                               panic("sbdrop");
-                       m = next;
-                       next = m->m_nextpkt;
-                       continue;
-               }
-               if (m->m_len > len) {
-                       m->m_len -= len;
-                       m->m_data += len;
-                       sb->sb_cc -= len;
-                       break;
-               }
-               len -= m->m_len;
-               sbfree(sb, m);
-               MFREE(m, mn);
-               m = mn;
-       }
-       while (m && m->m_len == 0) {
-               sbfree(sb, m);
-               MFREE(m, mn);
-               m = mn;
-       }
-       if (m) {
-               sb->sb_mb = m;
-               m->m_nextpkt = next;
-       } else
-               sb->sb_mb = next;
-}
-
-/*
- * Drop a record off the front of a sockbuf
- * and move the next record to the front.
- */
-void
-sbdroprecord(sb)
-       register struct sockbuf *sb;
-{
-       register struct mbuf *m, *mn;
-
-       m = sb->sb_mb;
-       if (m) {
-               sb->sb_mb = m->m_nextpkt;
-               do {
-                       sbfree(sb, m);
-                       MFREE(m, mn);
-                       m = mn;
-               } while (m);
-       }
-}