From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/ada/gsocket.h | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 gcc/ada/gsocket.h (limited to 'gcc/ada/gsocket.h') diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h new file mode 100644 index 000000000..7763b1801 --- /dev/null +++ b/gcc/ada/gsocket.h @@ -0,0 +1,240 @@ +/**************************************************************************** + * * + * GNAT COMPILER COMPONENTS * + * * + * G S O C K E T * + * * + * C Header File * + * * + * Copyright (C) 2004-2010, Free Software Foundation, Inc. * + * * + * GNAT is free software; you can redistribute it and/or modify it under * + * terms of the GNU General Public License as published by the Free Soft- * + * ware Foundation; either version 3, or (at your option) any later ver- * + * sion. GNAT is distributed in the hope that it will be useful, but WITH- * + * OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * + * or FITNESS FOR A PARTICULAR PURPOSE. * + * * + * As a special exception under Section 7 of GPL version 3, you are granted * + * additional permissions described in the GCC Runtime Library Exception, * + * version 3.1, as published by the Free Software Foundation. * + * * + * You should have received a copy of the GNU General Public License and * + * a copy of the GCC Runtime Library Exception along with this program; * + * see the files COPYING3 and COPYING.RUNTIME respectively. If not, see * + * . * + * * + * GNAT was originally developed by the GNAT team at New York University. * + * Extensive contributions were provided by Ada Core Technologies Inc. * + * * + ****************************************************************************/ + +#if defined(__nucleus__) || defined(VTHREADS) + +#warning Sockets not supported on these platforms +#undef HAVE_SOCKETS + +#else + +#define HAVE_SOCKETS + +#ifndef _XOPEN_SOURCE_EXTENDED +#define _XOPEN_SOURCE_EXTENDED 1 +/* For HP-UX */ +#endif + +#ifndef BSD_COMP +#define BSD_COMP 1 +/* For Solaris */ +#endif + +#ifndef _ALL_SOURCE +#define _ALL_SOURCE 1 +/* For AIX */ +#endif + +#ifndef _OSF_SOURCE +#define _OSF_SOURCE 1 +/* For Tru64 */ +#endif + +#include +#include + +#if defined(__vxworks) +#include +#include +#include +#define SHUT_RD 0 +#define SHUT_WR 1 +#define SHUT_RDWR 2 + +#elif defined (WINNT) +#define FD_SETSIZE 1024 + +#ifdef __MINGW32__ +#include +#include + +#undef EACCES +#define EACCES WSAEACCES +#undef EADDRINUSE +#define EADDRINUSE WSAEADDRINUSE +#undef EADDRNOTAVAIL +#define EADDRNOTAVAIL WSAEADDRNOTAVAIL +#undef EAFNOSUPPORT +#define EAFNOSUPPORT WSAEAFNOSUPPORT +#undef EALREADY +#define EALREADY WSAEALREADY +#undef EBADF +#define EBADF WSAEBADF +#undef ECONNABORTED +#define ECONNABORTED WSAECONNABORTED +#undef ECONNREFUSED +#define ECONNREFUSED WSAECONNREFUSED +#undef ECONNRESET +#define ECONNRESET WSAECONNRESET +#undef EDESTADDRREQ +#define EDESTADDRREQ WSAEDESTADDRREQ +#undef EFAULT +#define EFAULT WSAEFAULT +#undef EHOSTDOWN +#define EHOSTDOWN WSAEHOSTDOWN +#undef EHOSTUNREACH +#define EHOSTUNREACH WSAEHOSTUNREACH +#undef EINPROGRESS +#define EINPROGRESS WSAEINPROGRESS +#undef EINTR +#define EINTR WSAEINTR +#undef EINVAL +#define EINVAL WSAEINVAL +#undef EIO +#define EIO WSAEDISCON +#undef EISCONN +#define EISCONN WSAEISCONN +#undef ELOOP +#define ELOOP WSAELOOP +#undef EMFILE +#define EMFILE WSAEMFILE +#undef EMSGSIZE +#define EMSGSIZE WSAEMSGSIZE +#undef ENAMETOOLONG +#define ENAMETOOLONG WSAENAMETOOLONG +#undef ENETDOWN +#define ENETDOWN WSAENETDOWN +#undef ENETRESET +#define ENETRESET WSAENETRESET +#undef ENETUNREACH +#define ENETUNREACH WSAENETUNREACH +#undef ENOBUFS +#define ENOBUFS WSAENOBUFS +#undef ENOPROTOOPT +#define ENOPROTOOPT WSAENOPROTOOPT +#undef ENOTCONN +#define ENOTCONN WSAENOTCONN +#undef ENOTSOCK +#define ENOTSOCK WSAENOTSOCK +#undef EOPNOTSUPP +#define EOPNOTSUPP WSAEOPNOTSUPP +#undef EPFNOSUPPORT +#define EPFNOSUPPORT WSAEPFNOSUPPORT +#undef EPROTONOSUPPORT +#define EPROTONOSUPPORT WSAEPROTONOSUPPORT +#undef EPROTOTYPE +#define EPROTOTYPE WSAEPROTOTYPE +#undef ESHUTDOWN +#define ESHUTDOWN WSAESHUTDOWN +#undef ESOCKTNOSUPPORT +#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT +#undef ETIMEDOUT +#define ETIMEDOUT WSAETIMEDOUT +#undef ETOOMANYREFS +#define ETOOMANYREFS WSAETOOMANYREFS +#undef EWOULDBLOCK +#define EWOULDBLOCK WSAEWOULDBLOCK + +#define SHUT_RD SD_RECEIVE +#define SHUT_WR SD_SEND +#define SHUT_RDWR SD_BOTH + +#endif + +#include + +#elif defined(VMS) +#define FD_SETSIZE 4096 +#ifndef IN_RTS +/* These DEC C headers are not available when building with GCC */ +#include +#include +#include +#include +#endif + +#endif + +#if defined (__vxworks) && ! defined (__RTP__) +#include +#else +#include +#endif + +/* + * RTEMS has these .h files but not until you have built and installed + * RTEMS. When building a C/C++ toolset, you also build the newlib C library. + * So the build procedure for an RTEMS GNAT toolset requires that + * you build a C/C++ toolset, then build and install RTEMS with + * --enable-multilib, and finally build the Ada part of the toolset. + */ +#if !(defined (VMS) || defined (__MINGW32__)) +#include +#include +#include +#include +#include +#endif + +#if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || \ + defined (__osf__) || defined (_WIN32) || defined (__APPLE__) +# define HAVE_THREAD_SAFE_GETxxxBYyyy 1 + +#elif defined (sgi) || defined (linux) || defined (__GLIBC__) || \ + (defined (sun) && defined (__SVR4) && !defined (__vxworks)) || \ + defined(__rtems__) +# define HAVE_GETxxxBYyyy_R 1 +#endif + +/* + * Properties of the unerlying NetDB library: + * Need_Netdb_Buffer __gnat_getXXXbyYYY expects a caller-supplied buffer + * Need_Netdb_Lock __gnat_getXXXbyYYY expects the caller to ensure + * mutual exclusion + * + * See "Handling of gethostbyname, gethostbyaddr, getservbyname and + * getservbyport" in socket.c for details. + */ + +#if defined (HAVE_GETxxxBYyyy_R) +# define Need_Netdb_Buffer 1 +# define Need_Netdb_Lock 0 + +#else +# define Need_Netdb_Buffer 0 +# if !defined (HAVE_THREAD_SAFE_GETxxxBYyyy) +# define Need_Netdb_Lock 1 +# else +# define Need_Netdb_Lock 0 +# endif +#endif + +#if defined (__FreeBSD__) || defined (__vxworks) || defined(__rtems__) +# define Has_Sockaddr_Len 1 +#else +# define Has_Sockaddr_Len 0 +#endif + +#if !(defined (__vxworks) || defined (_WIN32) || defined (__hpux__) || defined (VMS)) +# define HAVE_INET_PTON +#endif + +#endif /* defined(__nucleus__) */ -- cgit v1.2.3