3 * Copyright (c) 1996-2001 Mike Gleason, NCEMRSoft.
11 typedef char string
[160], str16
[16], str32
[32], str64
[64];
12 typedef char longstring
[512];
13 typedef char pathname
[512];
16 # define PTRZERO(p,siz) (void) memset(p, 0, (size_t) (siz))
19 #define ZERO(a) PTRZERO(&(a), sizeof(a))
20 #define STREQ(a,b) (strcmp(a,b) == 0)
21 #define STRNEQ(a,b,s) (strncmp(a,b,(size_t)(s)) == 0)
24 # ifdef HAVE_STRCASECMP
25 # define ISTRCMP strcasecmp
26 # define ISTRNCMP strncasecmp
28 # define ISTRCMP strcmp
29 # define ISTRNCMP strncmp
33 #define ISTREQ(a,b) (ISTRCMP(a,b) == 0)
34 #define ISTRNEQ(a,b,s) (ISTRNCMP(a,b,(size_t)(s)) == 0)
36 typedef int (*cmp_t
)(const void *, const void *);
37 #define QSORT(base,n,s,cmp) \
38 qsort(base, (size_t)(n), (size_t)(s), (cmp_t)(cmp))
40 #define BSEARCH(key,base,n,s,cmp) \
41 bsearch(key, base, (size_t)(n), (size_t)(s), (cmp_t)(cmp))
47 #define kClosedFileDescriptor (-1)
49 #define SZ(a) ((size_t) (a))
56 # define UNLINK remove
58 # define UNLINK unlink
67 #ifdef SETVBUF_REVERSED
68 # define SETVBUF(a,b,c,d) setvbuf(a,c,b,d)
70 # define SETVBUF setvbuf
75 char *FGets(char *, size_t, FILE *);
76 struct passwd
*GetPwByName(void);
77 void GetHomeDir(char *, size_t);
78 void GetUsrName(char *, size_t);
79 void CloseFile(FILE **);
80 void PrintF(const FTPCIPtr cip
, const char *const fmt
, ...)
81 #if (defined(__GNUC__)) && (__GNUC__ >= 2)
82 __attribute__ ((format (printf
, 2, 3)))
85 void Error(const FTPCIPtr cip
, const int pError
, const char *const fmt
, ...)
86 #if (defined(__GNUC__)) && (__GNUC__ >= 2)
87 __attribute__ ((format (printf
, 3, 4)))
90 int GetSockBufSize(int sockfd
, size_t *rsize
, size_t *ssize
);
91 int SetSockBufSize(int sockfd
, size_t rsize
, size_t ssize
);
92 time_t UnMDTMDate(char *);
93 void Scramble(unsigned char *dst
, size_t dsize
, unsigned char *src
, char *key
);
94 #if defined(WIN32) || defined(_WINDOWS)
95 char *StrFindLocalPathDelim(const char *src
);
96 char *StrRFindLocalPathDelim(const char *src
);
97 void TVFSPathToLocalPath(char *dst
);
98 void LocalPathToTVFSPath(char *dst
);
99 int gettimeofday(struct timeval
*const tp
, void *junk
);
102 #ifdef HAVE_SIGACTION
103 void (*NcSignal(int signum
, void (*handler
)(int)))(int);
104 #elif !defined(NcSignal)
105 # define NcSignal signal
108 #endif /* _util_h_ */