system.h
上传用户:sddyfurun
上传日期:2007-01-04
资源大小:525k
文件大小:3k
源码类别:

代理服务器

开发平台:

Unix_Linux

  1. /* Copyright (c) 1995,1996,1997 NEC Corporation.  All rights reserved.       */
  2. /*                                                                           */
  3. /* The redistribution, use and modification in source or binary forms of     */
  4. /* this software is subject to the conditions set forth in the copyright     */
  5. /* document ("Copyright") included with this distribution.                   */
  6. /*
  7.  * $Id: system.h,v 1.20.4.3 1998/10/09 16:05:05 steve Exp $
  8.  */
  9. #ifndef SYSTEM_H
  10. #define SYSTEM_H
  11. #ifdef IN_LIBRARY
  12. #ifdef HAVE_DLOPEN
  13. /* If we're building the shared library, we need to be able to call the      */
  14. /* "real" functions using dl*.  These are the stubs for those functions.     */
  15. #ifdef FOR_SHARED_LIBRARY
  16. #define REAL(x)       _RLD_ ## x
  17. #define LIBPREFIX(x)  x
  18. struct hostent * REAL(gethostbyname) P((const char *));
  19. struct hostent * REAL(gethostbyaddr) P((const void *, int, int));
  20. struct servent * REAL(getservbyname) P((const char *, const char *)); 
  21. int              REAL(getpeername)  P((S5IOHandle, struct sockaddr *, int *));
  22. int              REAL(getsockname)  P((S5IOHandle, struct sockaddr *, int *));
  23. int              REAL(bind)         P((S5IOHandle, const struct sockaddr *, int));
  24. int              REAL(connect)      P((S5IOHandle, const struct sockaddr *, int));
  25. int              REAL(accept)       P((S5IOHandle, struct sockaddr *, int *));
  26. int              REAL(listen)       P((S5IOHandle, int));
  27. int              REAL(select)       P((S5IOHandle, fd_set *, fd_set *, fd_set *, struct timeval *));
  28. int              REAL(rresvport)    P((int *));
  29. IORETTYPE        REAL(read)         P((S5IOHandle,       IOPTRTYPE, IOLENTYPE));
  30. IORETTYPE        REAL(write)        P((S5IOHandle, const IOPTRTYPE, IOLENTYPE));
  31. IORETTYPE        REAL(recv)         P((S5IOHandle,       IOPTRTYPE, IOLENTYPE, int));
  32. IORETTYPE        REAL(send)         P((S5IOHandle, const IOPTRTYPE, IOLENTYPE, int));
  33. IORETTYPE        REAL(recvfrom)     P((S5IOHandle,       IOPTRTYPE, IOLENTYPE, int,       struct sockaddr *, int *));
  34. IORETTYPE        REAL(sendto)       P((S5IOHandle, const IOPTRTYPE, IOLENTYPE, int, const struct sockaddr *, int));
  35. IORETTYPE        REAL(recvmsg)     P((S5IOHandle,const struct msghdr *, int ));
  36. IORETTYPE        REAL(sendmsg)     P((S5IOHandle,const struct msghdr *, int ));
  37. S5IOHandle       REAL(dup)          P((S5IOHandle));
  38. S5IOHandle       REAL(dup2)         P((S5IOHandle, S5IOHandle));
  39. struct tm *      REAL(localtime)    P((const time_t *));
  40. void             REAL(longjmp)      P((jmp_buf, int));
  41. int              REAL(fclose)       P((FILE *));
  42. int              REAL(close)        P((S5IOHandle));
  43. int              REAL(shutdown)     P((S5IOHandle, int));
  44. #endif /* FOR_SHARED_LIBRARY */
  45. #endif /* HAVE_DLOPEN        */
  46. #endif /* IN_LIBRARY         */
  47. #ifndef REAL
  48. #define REAL(x) x
  49. #endif
  50. #ifdef USE_SOCKS4_PREFIX
  51. #define LIBPREFIX2(x)  R ## x
  52. #else
  53. #define LIBPREFIX2(x)  SOCKS ## x
  54. #endif
  55. #ifndef LIBPREFIX
  56. #define LIBPREFIX(x) LIBPREFIX2(x)
  57. #endif
  58. #endif