X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=libcitadel%2Flib%2Flibcitadel.h;h=d520eae4c96d8733104465bc58402629ada5b796;hb=4b4dc864ede7c5d8d956febe4a0afb422b78e7c4;hp=0ee29b20c3ca6ecbda2d7aa69834b69ed63f54b1;hpb=aa1bc013ff54eb118855365945aae4218d099003;p=citadel.git diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h index 0ee29b20c..d520eae4c 100644 --- a/libcitadel/lib/libcitadel.h +++ b/libcitadel/lib/libcitadel.h @@ -1,5 +1,15 @@ /* * Header file for libcitadel + * + * Copyright (c) 1987-2012 by the citadel.org team + * + * This program is open source software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. */ @@ -15,8 +25,10 @@ #include #include #include +#include +#include -#define LIBCITADEL_VERSION_NUMBER 800 +#define LIBCITADEL_VERSION_NUMBER 810 /* * Here's a bunch of stupid magic to make the MIME parser portable. @@ -86,7 +98,9 @@ typedef enum _room_views { VIEW_JOURNAL = 8, /* Journal view */ VIEW_DRAFTS = 9, /* Drafts view */ VIEW_BLOG = 10, /* Blog view */ - VIEW_MAX + VIEW_QUEUE = 11, /* SMTP/... QUEUE rooms */ + VIEW_MAX, + VIEW_JSON_LIST, } ROOM_VIEWS; #define BLOG_EUIDBUF_SIZE 40 @@ -240,6 +254,7 @@ typedef struct _file_buffer { typedef struct __fd_iobuffer { IOBuffer *IOB; int OtherFD; + int SplicePipe[2]; long TotalSendSize; long TotalSentAlready; long ChunkSize; @@ -249,6 +264,7 @@ typedef struct __fd_iobuffer { 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); @@ -354,6 +370,7 @@ const char *GetIconFilename(char *MimeType, size_t len); /* URL parsing & connection data */ typedef struct ParsedURL ParsedURL; struct ParsedURL { + int Priority; StrBuf *URL; StrBuf *UrlWithoutCred; StrBuf *CurlCreds; @@ -627,4 +644,8 @@ extern ConstStr RoomNetCfgStrs[maxRoomNetCfg]; /* 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