#include <stdlib.h>
#include <stdarg.h>
#include <arpa/inet.h>
+#include <sys/types.h>
+#include <netinet/in.h>
-#define LIBCITADEL_VERSION_NUMBER 800
+#define LIBCITADEL_VERSION_NUMBER 802
/*
* Here's a bunch of stupid magic to make the MIME parser portable.
typedef struct __fd_iobuffer {
IOBuffer *IOB;
int OtherFD;
+ int SplicePipe[2];
long TotalSendSize;
long TotalSentAlready;
long ChunkSize;
void FDIOBufferInit(FDIOBuffer *FDB, IOBuffer *IO, int FD, long TotalSendSize);
+void FDIOBufferDelete(FDIOBuffer *FDB);
int FileSendChunked(FDIOBuffer *FDB, const char **Err);
int FileRecvChunked(FDIOBuffer *FDB, const char **Err);
eReadState WriteIOBAlreadyRead(FDIOBuffer *FDB, const char **Error);
/* Convenience function to "perform a function and cut a log record if result != 0" */
#define CtdlLogResult(x) if (x) syslog(LOG_CRIT, "%s:%d %s", __FILE__, __LINE__, strerror(errno))
+/* a nice consistent place to define how we turn a message id into a thread id hash */
+#define ThreadIdHash(Buf) abs(HashLittle(ChrPtr(Buf), StrLength(Buf)))
+
+
#endif // LIBCITADEL_H