home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / ncftp-2.3.0-base.tgz / ncftp-2.3.0-base.tar / contrib / ncftp / Util.h < prev    next >
C/C++ Source or Header  |  1995-12-06  |  3KB  |  128 lines

  1. /* Util.h */
  2.  
  3. #ifndef _util_h_
  4. #define _util_h_ 1
  5.  
  6. #include "Strn.h"
  7.  
  8. typedef char string[160], str16[16], str32[32], str64[64];
  9. typedef char longstring[512];
  10. typedef char pathname[512];
  11.  
  12. /* Exit status. */
  13. #define kExitNoErr            0
  14. #define kExitUsageErr        2
  15. #define kExitOutOfMemory    3
  16. #define kExitBadHostName    4
  17. #define kExitWinFail1        5
  18. #define kExitWinFail2        6
  19. #define kExitColonModeFail    7
  20. #define kExitPanic            8
  21. #define kExitSignal            9
  22.  
  23. #define ZERO(a)    PTRZERO(&(a), sizeof(a))
  24. #define STREQ(a,b) (strcmp(a,b) == 0)
  25. #define STRNEQ(a,b,s) (strncmp(a,b,(size_t)(s)) == 0)
  26.  
  27. #ifndef ISTRCMP
  28. #    ifdef HAVE_STRCASECMP
  29. #        define ISTRCMP strcasecmp
  30. #        define ISTRNCMP strncasecmp
  31. #    else
  32. #        define ISTRCMP strcmp
  33. #        define ISTRNCMP strncmp
  34. #    endif
  35. #endif
  36.  
  37. #define ISTREQ(a,b) (ISTRCMP(a,b) == 0)
  38. #define ISTRNEQ(a,b,s) (ISTRNCMP(a,b,(size_t)(s)) == 0)
  39.  
  40. typedef int (*cmp_t)(const void *, const void *);
  41. #define QSORT(base,n,s,cmp) \
  42.     qsort(base, (size_t)(n), (size_t)(s), (cmp_t)(cmp))
  43.  
  44. #define BSEARCH(key,base,n,s,cmp) \
  45.     bsearch(key, base, (size_t)(n), (size_t)(s), (cmp_t)(cmp))
  46.  
  47. /* For Error(): */
  48. #define kDoPerror        1
  49. #define kDontPerror        0
  50.  
  51. /* Used by SetArraySize(). */
  52. #define kArrayIncrement 8
  53.  
  54. #define kClosedFileDescriptor (-1)
  55.  
  56. #define SZ(a) ((size_t) (a))
  57.  
  58. typedef void (*Sig_t)(int);
  59. typedef volatile Sig_t VSig_t;
  60.  
  61. #define SIGNAL(a,proc) signal((a), (Sig_t)(proc))
  62. #define kNoSignalHandler ((Sig_t) -96)
  63.  
  64. #ifndef kDebugStream
  65. #    define kDebugStream stdout
  66. #endif
  67.  
  68. #ifndef F_OK
  69. #    define F_OK 0
  70. #endif
  71.  
  72. #ifndef HAVE_MEMMOVE
  73. void *MemMove(void *, void *, size_t);
  74. #    define MEMMOVE MemMove
  75. #else
  76. #    define MEMMOVE memmove
  77. #endif
  78.  
  79. #ifdef HAVE_REMOVE
  80. #    define UNLINK remove
  81. #else
  82. #    define UNLINK unlink
  83. #endif
  84.  
  85. #ifndef SEEK_SET
  86. #    define SEEK_SET    0
  87. #    define SEEK_CUR    1
  88. #    define SEEK_END    2
  89. #endif  /* SEEK_SET */
  90.  
  91. #ifdef SETVBUF_REVERSED
  92. #    define SETVBUF(a,b,c,d) setvbuf(a,c,b,d)
  93. #else
  94. #    define SETVBUF setvbuf
  95. #endif
  96.  
  97. #ifdef ultrix
  98. #    ifndef NO_FGTEST
  99. #        define NO_FGTEST 1
  100. #    endif
  101. #endif
  102.  
  103. char *FGets(char *, size_t, FILE *);
  104. void OutOfMemory(void);
  105. char *PtrCat(char *, char *);
  106. char *PtrCatSlash(char *, char *);
  107. int SetArraySize(int **, int, int *, size_t);
  108. void StrLCase(char *);
  109. char *GetCWD(char *, size_t);
  110. char *Path(char *, size_t, char *, char *);
  111. char *OurDirectoryPath(char *, size_t, char *);
  112. int MkDirs(char *);
  113. void CloseFile(FILE **);
  114. int InForeGround(void);
  115. int UserLoggedIn(void);
  116. int CheckNewMail(void);
  117. size_t FlagStrCopy(char *, size_t, char *);
  118. void *Realloc(void *, size_t);
  119. void OverflowAdd(long *dst, long plus);
  120. void AbbrevStr(char *dst, char *src, size_t max, int mode);
  121. void MakeStringPrintable(char *dst, unsigned char *src, size_t siz);
  122. FILE *POpen(char *, char *, int);
  123.  
  124. #include "LineList.h"
  125. #include "Win.h"
  126.  
  127. #endif    /* _util_h_ */
  128.