7 #include <sys/socket.h>
8 #include <netinet/in.h>
21 /* stripped version of applib.c for codemux */
23 extern char *GetNextLine(FILE *file);
24 extern int WordCount(char *buf);
25 extern char *GetField(const char *start, int whichField);
26 extern char *GetWord(const char *start, int whichWord);
27 extern int DoesDotlessSuffixMatch(char *start, int len, char *suffix);
28 extern int CreatePrivateAcceptSocket(int portNum, int nonBlocking);
29 extern char *StrdupLower(const char *orig);
30 extern void StrcpyLower(char *dest, const char *src);
32 extern int OpenLogF(HANDLE file);
33 extern int WriteLog(HANDLE file, const char* data, int size, int forceFlush);
34 extern void DailyReopenLogF(HANDLE file);
35 extern unsigned int HashString(const char *name, unsigned int hash,
36 int endOnQuery, int skipLastIfDot);
38 #define FlushLogF(h) WriteLog(h, NULL, 0, TRUE)
40 #define MASK 0xFFFFFFFF
41 #define _rotl(Val, Bits) ((((Val)<<(Bits)) | (((Val) & MASK)>>(32 - (Bits)))) & MASK)
43 /* nice exit support */
44 extern void NiceExitBack(int val, char *reason, char *file, int line);
45 #define NiceExit(val, reason) NiceExitBack(val, reason, __FILE__, __LINE__)
48 /* allocate stack memory to copy "src" to "dest" in lower cases */
49 #define LOCAL_STR_DUP_LOWER(dest, src) \
50 { dest = alloca(strlen(src) + 1); \
51 StrcpyLower(dest, src); \
54 /* allocate stack memory to copy "src" to "dest" */
55 #define LOCAL_STR_DUP(dest, src) \
56 { dest = alloca(strlen(src) + 1); \