home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / UNIX / ARCHIE / CLIENTS / C_ARCHI5.TAR / archie-1.4 / pmachine.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-08  |  2.8 KB  |  146 lines

  1. /*
  2.  * This is where we drop in the various dependencies for different systems.
  3.  * Someday this might be remotely complete.
  4.  *
  5.  * I kept the name pmachine.h because it was already in all of the files...this
  6.  * barely resembles the pmachine.h that comes with the real Prospero, though.
  7.  *
  8.  * $Revision: 1.11 $
  9.  */
  10.  
  11. #ifdef u3b2
  12. # define USG
  13. # define NOREGEX
  14. # define MAXPATHLEN 1024       /* There's no maxpathlen in any 3b2 .h file.  */
  15. #endif
  16.  
  17. #ifdef m88k
  18. #define MAXPATHLEN 1024
  19. #endif
  20.  
  21. #ifdef hpux
  22. # ifndef bcopy
  23. #  define FUNCS            /* HP/UX 8.0 has the fns.  */
  24. # endif
  25. # define NOREGEX
  26. # define NEED_STRING_H
  27. #endif
  28.  
  29. /* These are required for a Sequent running Dynix/PTX, their SysV variant.
  30.    Archie builds fine untouched on a system running their BSD-based OS.  */
  31. #ifdef _SEQUENT_
  32. # define NOREGEX
  33. # define USG
  34. #endif
  35.  
  36. #if defined(USG) || defined(SYSV)
  37. # define FUNCS
  38. #endif
  39.  
  40. #ifdef ISC
  41. # define FUNCS
  42. # define STRSPN
  43. # define NOREGEX
  44. #endif
  45.  
  46. #ifdef PCNFS
  47. # define FUNCS
  48. # define NEED_STRING_H
  49. #ifndef MSDOS
  50. # define MSDOS
  51. #endif
  52. #endif
  53.  
  54. #ifdef CUTCP
  55. # define FUNCS
  56. # define NOREGEX
  57. # define NEED_STRING_H
  58. # define SELECTARG int
  59. # ifndef MSDOS
  60. #  define MSDOS
  61. # endif
  62. #endif
  63.  
  64. #ifdef _AUX_SOURCE
  65. # define AUX
  66. # define NOREGEX
  67. # define NBBY 8    /* Number of bits in a byte.  */
  68. typedef long Fd_mask;
  69. # define NFDBITS (sizeof(Fd_mask) * NBBY)    /* bits per mask */
  70. #endif
  71.  
  72. #ifdef OS2
  73. # define NOREGEX
  74. # include <pctcp.h>
  75. #endif
  76. #ifdef MSDOS
  77. # define USG
  78. # define NOREGEX
  79. # include <string.h>
  80. # include <stdlib.h>
  81. #endif
  82.  
  83. #ifdef _AIX
  84. # ifdef u370
  85. #  define FUNCS
  86. # endif /* AIX/370 */
  87. # define _NONSTD_TYPES
  88. # define _BSD_INCLUDES
  89. # define NEED_STRING_H
  90. # define NEED_SELECT_H
  91. # define NEED_TIME_H
  92. #endif
  93.  
  94. /* General problems.  */
  95.  
  96. #ifdef FUNCS
  97. # define index        strchr
  98. /* According to mycroft@gnu.ai.mit.edu. */
  99. # ifdef _IBMR2
  100. char *strchr();
  101. # endif
  102. # define rindex        strrchr
  103. # ifndef _AUX_SOURCE
  104. #  define bcopy(a,b,n)    memcpy(b,a,n)
  105. #  define bzero(a,n)    memset(a,0,n)
  106. # ifdef _IBMR2
  107. char *memset();
  108. # endif
  109. # endif
  110. #endif
  111.  
  112. #if defined(_IBMR2) || defined(_BULL_SOURCE)
  113. # define NEED_SELECT_H
  114. #endif
  115. #if defined(USG) || defined(UTS)
  116. # define NEED_STRING_H
  117. #endif
  118. #if defined(USG) || defined(UTS) || defined(_AUX_SOURCE)
  119. # define NEED_TIME_H
  120. # ifdef UTS
  121. #  define WANT_BOTH_TIME
  122. # endif
  123. #endif
  124.  
  125. #ifdef VMS
  126. /* Get the system status stuff.  */
  127. # include <ssdef.h>
  128. #endif /* VMS */
  129.  
  130. /*
  131.  * FD_SET: lib/pfs/dirsend.c, user/vget/ftp.c
  132.  */
  133. #ifndef CUTCP
  134.  
  135. #define SELECTARG fd_set
  136. #if !defined(FD_SET) && !defined(VMS) && !defined(NEED_SELECT_H)
  137. #define    FD_SETSIZE    32
  138. #define    FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
  139. #define    FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
  140. #define    FD_ISSET(n, p)    ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
  141. #undef FD_ZERO
  142. #define FD_ZERO(p)    bzero((char *)(p), sizeof(*(p)))
  143. #endif
  144.  
  145. #endif /* not CUTCP */
  146.