+

  "Fossies" - the Free Open Source Software Archive  

Member "libpcap-1.10.5/./ftmacros.h" (30 Aug 2024, 4873 Bytes) of package /linux/misc/libpcap-1.10.5.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "ftmacros.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 1.10.4_vs_1.10.5.

    1 /*
    2  * Copyright (c) 1994, 1995, 1996
    3  *  The Regents of the University of California.  All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  * 3. All advertising materials mentioning features or use of this software
   14  *    must display the following acknowledgement:
   15  *  This product includes software developed by the Computer Systems
   16  *  Engineering Group at Lawrence Berkeley Laboratory.
   17  * 4. Neither the name of the University nor of the Laboratory may be used
   18  *    to endorse or promote products derived from this software without
   19  *    specific prior written permission.
   20  *
   21  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   22  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   27  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   28  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   30  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   31  * SUCH DAMAGE.
   32  */
   33 
   34 #ifndef ftmacros_h
   35 #define ftmacros_h
   36 
   37 /*
   38  * Define some feature test macros to make sure that everything we want
   39  * to be declared gets declared.
   40  *
   41  * On some UN*Xes we need to force strtok_r() to be declared.
   42  * We do *NOT* want to define _POSIX_C_SOURCE, as that tends
   43  * to make non-POSIX APIs that we use unavailable.
   44  * XXX - is there no portable way to say "please pollute the
   45  * namespace to the maximum extent possible"?
   46  */
   47 #if defined(sun) || defined(__sun)
   48   /*
   49    * On Solaris Clang defines __EXTENSIONS__ automatically.
   50    */
   51   #ifndef __EXTENSIONS__
   52     #define __EXTENSIONS__
   53   #endif
   54 
   55   /*
   56    * We also need to define _XPG4_2 in order to get
   57    * the Single UNIX Specification version of
   58    * recvmsg().
   59    */
   60   #define _XPG4_2
   61 #elif defined(_hpux) || defined(hpux) || defined(__hpux)
   62   #define _REENTRANT
   63 
   64   /*
   65    * We need this to get the versions of socket functions that
   66    * use socklen_t.  Define it only if it's not already defined,
   67    * so we don't get redefinition warnings.
   68    */
   69   #ifndef _XOPEN_SOURCE_EXTENDED
   70     #define _XOPEN_SOURCE_EXTENDED
   71   #endif
   72 
   73   /*
   74    * XXX - the list of PA-RISC options for GCC makes it sound as if
   75    * building code that uses a particular vintage of UNIX API/ABI
   76    * is complicated:
   77    *
   78    *    https://gcc.gnu.org/onlinedocs/gcc/HPPA-Options.html
   79    *
   80    * See the description of the -munix flag.
   81    *
   82    * We probably want libpcap to work with programs built for any
   83    * UN*X standard.  I'm not sure whether that's possible and, if
   84    * it is, what sort of stuff it'd have to do.
   85    *
   86    * It might also be a requirement that we build with a special
   87    * flag to allow the library to be used with threaded code, at
   88    * least with HP's C compiler; hopefully doing so won't make it
   89    * *not* work with *un*-threaded code.
   90    */
   91 #else
   92   /*
   93    * Turn on _GNU_SOURCE to get everything GNU libc has to offer,
   94    * including asprintf(), if we're using GNU libc.
   95    *
   96    * Unfortunately, one thing it has to offer is a strerror_r()
   97    * that's not POSIX-compliant, but we deal with that in
   98    * pcapint_fmt_errmsg_for_errno().
   99    *
  100    * We don't limit this to, for example, Linux and Cygwin, because
  101    * this might, for example, be GNU/HURD or one of Debian's kFreeBSD
  102    * OSes ("GNU/FreeBSD").
  103    */
  104   #define _GNU_SOURCE
  105 
  106   /*
  107    * We turn on both _DEFAULT_SOURCE and _BSD_SOURCE to try to get
  108    * the BSD u_XXX types, such as u_int and u_short, defined.  We
  109    * define _DEFAULT_SOURCE first, so that newer versions of GNU libc
  110    * don't whine about _BSD_SOURCE being deprecated; we still have
  111    * to define _BSD_SOURCE to handle older versions of GNU libc that
  112    * don't support _DEFAULT_SOURCE.
  113    *
  114    * But, if it's already defined, don't define it, so that we don't
  115    * get a warning of it being redefined if it's defined as, for
  116    * example, 1.
  117    */
  118   #ifndef _DEFAULT_SOURCE
  119     #define _DEFAULT_SOURCE
  120   #endif
  121   /* Avoid redefining _BSD_SOURCE if it's already defined as for ex. 1 */
  122   #ifndef _BSD_SOURCE
  123     #define _BSD_SOURCE
  124   #endif
  125 #endif
  126 
  127 #endif
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载