From af623d1cd28529473033736de8f2f64b4bd550e7 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Fri, 27 Dec 2002 03:13:51 +0000 Subject: [PATCH] cygwin support --- lib/bind/port/cygwin/Makefile.in | 1 + lib/bind/port/cygwin/include/Makefile.in | 47 +++++++ lib/bind/port/cygwin/include/ansi_realloc.h | 22 +++ lib/bind/port/cygwin/include/asm/socket.h | 12 ++ lib/bind/port/cygwin/include/assert.h | 2 + lib/bind/port/cygwin/include/net/route.h | 6 + lib/bind/port/cygwin/include/nlist.h | 6 + lib/bind/port/cygwin/include/paths.h | 2 + lib/bind/port/cygwin/include/sys/bitypes.h | 37 +++++ lib/bind/port/cygwin/include/sys/cdefs.h | 144 ++++++++++++++++++++ lib/bind/port/cygwin/include/sys/mbuf.h | 6 + lib/bind/port/cygwin/include/sys/socket.h | 10 ++ lib/bind/port/cygwin/include/sys/un.h | 6 + lib/bind/port/cygwin/include/sys/wait.h | 9 ++ 14 files changed, 310 insertions(+) create mode 100644 lib/bind/port/cygwin/Makefile.in create mode 100644 lib/bind/port/cygwin/include/Makefile.in create mode 100644 lib/bind/port/cygwin/include/ansi_realloc.h create mode 100644 lib/bind/port/cygwin/include/asm/socket.h create mode 100644 lib/bind/port/cygwin/include/assert.h create mode 100644 lib/bind/port/cygwin/include/net/route.h create mode 100644 lib/bind/port/cygwin/include/nlist.h create mode 100644 lib/bind/port/cygwin/include/paths.h create mode 100644 lib/bind/port/cygwin/include/sys/bitypes.h create mode 100644 lib/bind/port/cygwin/include/sys/cdefs.h create mode 100644 lib/bind/port/cygwin/include/sys/mbuf.h create mode 100644 lib/bind/port/cygwin/include/sys/socket.h create mode 100644 lib/bind/port/cygwin/include/sys/un.h create mode 100644 lib/bind/port/cygwin/include/sys/wait.h diff --git a/lib/bind/port/cygwin/Makefile.in b/lib/bind/port/cygwin/Makefile.in new file mode 100644 index 0000000000..bd17173368 --- /dev/null +++ b/lib/bind/port/cygwin/Makefile.in @@ -0,0 +1 @@ +# Copyright (C) 2001 Internet Software Consortium. diff --git a/lib/bind/port/cygwin/include/Makefile.in b/lib/bind/port/cygwin/include/Makefile.in new file mode 100644 index 0000000000..3b0f15f974 --- /dev/null +++ b/lib/bind/port/cygwin/include/Makefile.in @@ -0,0 +1,47 @@ +# Copyright (C) 2001 Internet Software Consortium. +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM +# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +# INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +# $Id: Makefile.in,v 1.1 2002/12/27 03:13:50 marka Exp $ + +srcdir = @srcdir@ +VPATH = @srcdir@ +top_srcdir = @top_srcdir@ + +HEADERS= ansi_realloc.h assert.h paths.h +AHEADERS= asm/socket.h +NHEADERS= net/route.h +SHEADERS= sys/bitypes.h sys/cdefs.h sys/mbuf.h sys/socket.h sys/un.h sys/wait.h + +all: + +@BIND9_MAKE_RULES@ + +installdirs: + $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${includedir}/asm \ + ${DESTDIR}${includedir}/net ${DESTDIR}${includedir}/sys + +install:: installdirs + for i in ${HEADERS}; do \ + ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${includedir}; \ + done + for i in ${AHEADERS}; do \ + ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${includedir}/asm; \ + done + for i in ${NHEADERS}; do \ + ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${includedir}/net; \ + done + for i in ${SHEADERS}; do \ + ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${includedir}/sys; \ + done diff --git a/lib/bind/port/cygwin/include/ansi_realloc.h b/lib/bind/port/cygwin/include/ansi_realloc.h new file mode 100644 index 0000000000..c6369bc787 --- /dev/null +++ b/lib/bind/port/cygwin/include/ansi_realloc.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 1997,1999 by Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS + * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE + * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + */ + +#include + +#define realloc __ansi_realloc + +void *__ansi_realloc(void *ptr, size_t size); diff --git a/lib/bind/port/cygwin/include/asm/socket.h b/lib/bind/port/cygwin/include/asm/socket.h new file mode 100644 index 0000000000..4d4c8a2009 --- /dev/null +++ b/lib/bind/port/cygwin/include/asm/socket.h @@ -0,0 +1,12 @@ +#ifndef _cygwin_asm_socket_h +#define _cygwin_asm_socket_h + +#include_next + +/* This is a lame cop-out, but cygwin's SIOCGIFCONF doesn't define + IFF_POINTOPOINT, so this should never happen anyway. */ +#ifndef SIOCGIFDSTADDR +# define SIOCGIFDSTADDR SIOCGIFADDR +#endif + +#endif diff --git a/lib/bind/port/cygwin/include/assert.h b/lib/bind/port/cygwin/include/assert.h new file mode 100644 index 0000000000..4b881ee6ad --- /dev/null +++ b/lib/bind/port/cygwin/include/assert.h @@ -0,0 +1,2 @@ +#include +#include_next diff --git a/lib/bind/port/cygwin/include/net/route.h b/lib/bind/port/cygwin/include/net/route.h new file mode 100644 index 0000000000..5acad9f34e --- /dev/null +++ b/lib/bind/port/cygwin/include/net/route.h @@ -0,0 +1,6 @@ +#ifndef ROUTE_H +#define ROUTE_H 1 + +/* Dummy include for Windows NT */ + +#endif diff --git a/lib/bind/port/cygwin/include/nlist.h b/lib/bind/port/cygwin/include/nlist.h new file mode 100644 index 0000000000..9f259b0cae --- /dev/null +++ b/lib/bind/port/cygwin/include/nlist.h @@ -0,0 +1,6 @@ +#ifndef NLIST_H +#define NLIST_H 1 + +/* Dummy include for Windows NT */ + +#endif diff --git a/lib/bind/port/cygwin/include/paths.h b/lib/bind/port/cygwin/include/paths.h new file mode 100644 index 0000000000..7ec03327e1 --- /dev/null +++ b/lib/bind/port/cygwin/include/paths.h @@ -0,0 +1,2 @@ +#define _PATH_DEVNULL "/dev/null" + diff --git a/lib/bind/port/cygwin/include/sys/bitypes.h b/lib/bind/port/cygwin/include/sys/bitypes.h new file mode 100644 index 0000000000..361156af21 --- /dev/null +++ b/lib/bind/port/cygwin/include/sys/bitypes.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) 1996,1999 by Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS + * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE + * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + */ + +#ifndef __BIT_TYPES_DEFINED__ +#define __BIT_TYPES_DEFINED__ + + /* + * 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; + +# if 0 /* don't fight with these unless you need them */ + typedef long long int64_t; + typedef unsigned long long u_int64_t; +# endif + +#endif /* __BIT_TYPES_DEFINED__ */ diff --git a/lib/bind/port/cygwin/include/sys/cdefs.h b/lib/bind/port/cygwin/include/sys/cdefs.h new file mode 100644 index 0000000000..a2c123b883 --- /dev/null +++ b/lib/bind/port/cygwin/include/sys/cdefs.h @@ -0,0 +1,144 @@ +/* + * ++Copyright++ 1991, 1993 + * - + * 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. + * - + * Portions Copyright (c) 1993 by Digital Equipment Corporation. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies, and that + * the name of Digital Equipment Corporation not be used in advertising or + * publicity pertaining to distribution of the document or software without + * specific, written prior permission. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT + * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * - + * --Copyright-- + */ + +/* + * @(#)cdefs.h 8.1 (Berkeley) 6/2/93 + * $Id: cdefs.h,v 1.1 2002/12/27 03:13:51 marka Exp $ + */ + +#ifndef _CDEFS_H_ +#define _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 __CONCAT(x,y) 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 /* !__GNUC__ */ +#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 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 !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 5 +#define __attribute__(x) /* delete __attribute__ if non-gcc or gcc1 */ +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) +#define __dead __volatile +#define __pure __const +#endif +#endif + +/* Delete pseudo-keywords wherever they are not available or needed. */ +#ifndef __dead +#define __dead +#define __pure +#endif + +#endif /* !_CDEFS_H_ */ diff --git a/lib/bind/port/cygwin/include/sys/mbuf.h b/lib/bind/port/cygwin/include/sys/mbuf.h new file mode 100644 index 0000000000..51c8fabba9 --- /dev/null +++ b/lib/bind/port/cygwin/include/sys/mbuf.h @@ -0,0 +1,6 @@ +#ifndef MBUF_H +#define MBUF_H 1 + +/* Dummy include for Windows NT */ + +#endif diff --git a/lib/bind/port/cygwin/include/sys/socket.h b/lib/bind/port/cygwin/include/sys/socket.h new file mode 100644 index 0000000000..bf5688ca3e --- /dev/null +++ b/lib/bind/port/cygwin/include/sys/socket.h @@ -0,0 +1,10 @@ +#ifndef _cygwin_sys_socket_h +#define _cygwin_sys_socket_h + +#include_next + +#ifndef IFF_POINTOPOINT +# define IFF_POINTOPOINT 0x10 +#endif + +#endif diff --git a/lib/bind/port/cygwin/include/sys/un.h b/lib/bind/port/cygwin/include/sys/un.h new file mode 100644 index 0000000000..22bb26b9d7 --- /dev/null +++ b/lib/bind/port/cygwin/include/sys/un.h @@ -0,0 +1,6 @@ +#ifndef UN_H +#define UN_H 1 + +/* Dummy include for Windows NT */ + +#endif diff --git a/lib/bind/port/cygwin/include/sys/wait.h b/lib/bind/port/cygwin/include/sys/wait.h new file mode 100644 index 0000000000..7bfa19e7e1 --- /dev/null +++ b/lib/bind/port/cygwin/include/sys/wait.h @@ -0,0 +1,9 @@ +#ifndef _cygwin_sys_wait_h + +#include_next + +#if !defined (WCOREDUMP) +# define WCOREDUMP(x) (((x) & 0x80) == 0x80) +#endif + +#endif