config.h
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:5k
源码类别:

通讯编程

开发平台:

Visual C++

  1. /*
  2.  * Copyright (c) 1995-1997 The Regents of the University of California.
  3.  * 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 Network Research
  16.  *  Group at Lawrence Berkeley National 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.  * @(#) $Header: /cvsroot/nsnam/nam-1/config.h,v 1.11 2000/02/11 20:12:27 haoboy Exp $ (LBL)
  34.  */
  35. #ifndef nam_config_h
  36. #define nam_config_h
  37. /* pick up standard types */
  38. #include <sys/types.h>
  39. #if STDC_HEADERS
  40. #include <stdlib.h>
  41. #include <stddef.h>
  42. #endif
  43. /* get autoconf magic */
  44. #ifndef WIN32
  45. #include "autoconf.h"
  46. #else
  47. #include "autoconf-win32.h"
  48. #endif
  49. /* don't use u_int, use int32_t */
  50. typedef int32_t nsaddr_t;
  51. typedef int32_t nsmask_t; 
  52. #define NS_ALIGN (8) /* byte alignment for structs (eg packet.cc) */
  53. /* some global definitions */
  54. #define SMALL_LEN      32
  55. #define MID_LEN        256
  56. #define BIG_LEN        4096
  57. #define HUGE_LEN       65536
  58. #define TRUE           1
  59. #define FALSE          0
  60. #include <stdlib.h>
  61. #if (defined(__hpux) || defined(_AIX)) && defined(__cplusplus)
  62. #include <unistd.h>
  63. #include <time.h> /* For clock_t */
  64. extern "C" {
  65. #include <arpa/inet.h>
  66. int strcasecmp(const char *, const char *);
  67. clock_t clock(void);
  68. #if !defined(__hpux)
  69. int gethostid(void);
  70. #endif
  71. #if !defined(_AIX41) && !defined(sun) && !defined(__hpux)
  72. void srandom(int);
  73. #endif
  74. long random(void);
  75. time_t time(time_t *);
  76. char *ctime(const time_t *);
  77. }
  78. #endif
  79. #if defined(NEED_SUNOS_PROTOS) && defined(__cplusplus)
  80. extern "C" {
  81. struct timeval;
  82. struct timezone;
  83. int gettimeofday(struct timeval*, ...);
  84. int ioctl(int fd, int request, ...);
  85. int close(int);
  86. int strcasecmp(const char*, const char*);
  87. int srandom(int); /* (int) for sunos, (unsigned) for solaris */
  88. int random();
  89. int socket(int, int, int);
  90. int setsockopt(int s, int level, int optname, void* optval, int optlen);
  91. struct sockaddr;
  92. int connect(int s, sockaddr*, int);
  93. int bind(int s, sockaddr*, int);
  94. struct msghdr;
  95. int send(int s, void*, int len, int flags);
  96. int sendmsg(int, msghdr*, int);
  97. int recv(int, void*, int len, int flags);
  98. int recvfrom(int, void*, int len, int flags, sockaddr*, int);
  99. int gethostid();
  100. int getpid();
  101. int gethostname(char*, int);
  102. void abort();
  103. }
  104. #endif
  105. #ifdef WIN32
  106. #include <windows.h>
  107. #include <winsock.h>
  108. #include <time.h> /* For clock_t */
  109. #include <minmax.h>
  110. #define NOMINMAX
  111. #undef min
  112. #undef max
  113. #undef abs
  114. #define MAXHOSTNAMELEN 256
  115. #define _SYS_NMLN 9
  116. struct utsname {
  117. char sysname[_SYS_NMLN];
  118. char nodename[_SYS_NMLN];
  119. char release[_SYS_NMLN];
  120. char version[_SYS_NMLN];
  121. char machine[_SYS_NMLN];
  122. };
  123. typedef char *caddr_t;
  124. struct iovec {
  125. caddr_t iov_base;
  126. int     iov_len;
  127. };
  128. #ifndef TIMEZONE_DEFINED_
  129. #define TIMEZONE_DEFINED_
  130. struct timezone {
  131. int tz_minuteswest;
  132. int tz_dsttime;
  133. };
  134. #endif 
  135. typedef int pid_t;
  136. typedef int uid_t;
  137. typedef int gid_t;
  138.     
  139. #if defined(__cplusplus)
  140. extern "C" {
  141. #endif
  142. int uname(struct utsname *); 
  143. int getopt(int, char * const *, const char *);
  144. int strcasecmp(const char *, const char *);
  145. #define srandom srand
  146. #define random rand
  147. int gettimeofday(struct timeval *p, struct timezone *z);
  148. int gethostid(void);
  149. int getuid(void);
  150. int getgid(void);
  151. int getpid(void);
  152. int nice(int);
  153. int sendmsg(int, struct msghdr*, int);
  154.         
  155. #define bzero(dest,count) memset(dest,0,count)
  156. #define bcopy(src,dest,size) memcpy(dest,src,size)
  157. #if defined(__cplusplus)
  158. }
  159. #endif
  160. #define ECONNREFUSED WSAECONNREFUSED
  161. #define ENETUNREACH WSAENETUNREACH
  162. #define EHOSTUNREACH WSAEHOSTUNREACH
  163. #define EWOULDBLOCK WSAEWOULDBLOCK
  164. #define M_PI 3.14159265358979323846
  165. #endif /* WIN32 */
  166. #ifdef sgi
  167. #include <math.h>
  168. #endif
  169. // Declare our implementation of snprintf() so that ns etc. can use it. 
  170. #ifndef HAVE_SNPRINTF
  171. extern "C" {
  172. extern int snprintf(char *buf, int size, const char *fmt, ...);
  173. }
  174. #endif
  175. #endif /* nam_config_h */