Annotation of sbbs/javascript/include/mozilla/nspr/prinet.h, revision 1.1.1.1

1.1       root        1: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
                      2: /* 
                      3:  * The contents of this file are subject to the Mozilla Public
                      4:  * License Version 1.1 (the "License"); you may not use this file
                      5:  * except in compliance with the License. You may obtain a copy of
                      6:  * the License at http://www.mozilla.org/MPL/
                      7:  * 
                      8:  * Software distributed under the License is distributed on an "AS
                      9:  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
                     10:  * implied. See the License for the specific language governing
                     11:  * rights and limitations under the License.
                     12:  * 
                     13:  * The Original Code is the Netscape Portable Runtime (NSPR).
                     14:  * 
                     15:  * The Initial Developer of the Original Code is Netscape
                     16:  * Communications Corporation.  Portions created by Netscape are 
                     17:  * Copyright (C) 1998-2000 Netscape Communications Corporation.  All
                     18:  * Rights Reserved.
                     19:  * 
                     20:  * Contributor(s):
                     21:  * 
                     22:  * Alternatively, the contents of this file may be used under the
                     23:  * terms of the GNU General Public License Version 2 or later (the
                     24:  * "GPL"), in which case the provisions of the GPL are applicable 
                     25:  * instead of those above.  If you wish to allow use of your 
                     26:  * version of this file only under the terms of the GPL and not to
                     27:  * allow others to use your version of this file under the MPL,
                     28:  * indicate your decision by deleting the provisions above and
                     29:  * replace them with the notice and other provisions required by
                     30:  * the GPL.  If you do not delete the provisions above, a recipient
                     31:  * may use your version of this file under either the MPL or the
                     32:  * GPL.
                     33:  */
                     34: 
                     35: /*
                     36:  * File:       prinet.h
                     37:  * Description:
                     38:  *     Header file used to find the system header files for socket support.
                     39:  *     This file serves the following purposes:
                     40:  *     - A cross-platform, "get-everything" socket header file.  On
                     41:  *       Unix, socket support is scattered in several header files,
                     42:  *       while Windows and Mac have a "get-everything" socket header
                     43:  *       file.
                     44:  *     - NSPR needs the following macro definitions and function
                     45:  *       prototype declarations from these header files:
                     46:  *           AF_INET
                     47:  *           INADDR_ANY, INADDR_LOOPBACK, INADDR_BROADCAST
                     48:  *           ntohl(), ntohs(), htonl(), ntons().
                     49:  *       NSPR does not define its own versions of these macros and
                     50:  *       functions.  It simply uses the native versions, which have
                     51:  *       the same names on all supported platforms.
                     52:  *     This file is intended to be included by nspr20 public header
                     53:  *     files, such as prio.h.  One should not include this file directly.
                     54:  */
                     55: 
                     56: #ifndef prinet_h__
                     57: #define prinet_h__
                     58: 
                     59: #if defined(XP_UNIX) || defined(XP_OS2) || defined(XP_BEOS)
                     60: #ifdef LINUX
                     61: #undef __STRICT_ANSI__
                     62: #define __STRICT_ANSI__
                     63: #endif
                     64: #include <sys/types.h>
                     65: #include <sys/socket.h>        /* AF_INET */
                     66: #include <netinet/in.h>         /* INADDR_ANY, ..., ntohl(), ... */
                     67: #ifdef XP_OS2
                     68: #include <sys/ioctl.h>
                     69: #endif
                     70: #ifdef XP_UNIX
                     71: #ifdef AIX
                     72: /*
                     73:  * On AIX 4.3, the header <arpa/inet.h> refers to struct
                     74:  * ether_addr and struct sockaddr_dl that are not declared.
                     75:  * The following struct declarations eliminate the compiler
                     76:  * warnings.
                     77:  */
                     78: struct ether_addr;
                     79: struct sockaddr_dl;
                     80: #endif /* AIX */
                     81: #include <arpa/inet.h>
                     82: #endif /* XP_UNIX */
                     83: #include <netdb.h>
                     84: 
                     85: #if defined(FREEBSD) || defined(BSDI) || defined(QNX)
                     86: #include <rpc/types.h> /* the only place that defines INADDR_LOOPBACK */
                     87: #endif
                     88: 
                     89: /*
                     90:  * OS/2 hack.  For some reason INADDR_LOOPBACK is not defined in the
                     91:  * socket headers.
                     92:  */
                     93: #if defined(OS2) && !defined(INADDR_LOOPBACK)
                     94: #define INADDR_LOOPBACK 0x7f000001
                     95: #endif
                     96: 
                     97: /*
                     98:  * Prototypes of ntohl() etc. are declared in <machine/endian.h>
                     99:  * on these platforms.
                    100:  */
                    101: #if defined(BSDI) || defined(OSF1)
                    102: #include <machine/endian.h>
                    103: #endif
                    104: 
                    105: #elif defined(WIN32)
                    106: 
                    107: /* Do not include any system header files. */
                    108: 
                    109: #elif defined(WIN16)
                    110: 
                    111: #include <winsock.h>
                    112: 
                    113: #elif defined(XP_MAC)
                    114: 
                    115: #include "macsocket.h"
                    116: 
                    117: #else
                    118: 
                    119: #error Unknown platform
                    120: 
                    121: #endif
                    122: 
                    123: #endif /* prinet_h__ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.