Version number to 8.13 for upcoming release.
[citadel.git] / libcitadel / lib / libcitadel.h
index 7f3da262d78b2ac5d407a1318142c2a1e6514f94..296d1cee50a0de60f1a7bef41184198ce4524931 100644 (file)
@@ -28,7 +28,7 @@
 #include <sys/types.h>
 #include <netinet/in.h>
 
-#define LIBCITADEL_VERSION_NUMBER      810
+#define LIBCITADEL_VERSION_NUMBER      813
 
 /*
  * Here's a bunch of stupid magic to make the MIME parser portable.
@@ -99,7 +99,8 @@ typedef enum _room_views {
        VIEW_DRAFTS             = 9,    /* Drafts view */
        VIEW_BLOG               = 10,   /* Blog view */
        VIEW_QUEUE              = 11,   /* SMTP/... QUEUE rooms */
-       VIEW_MAX
+       VIEW_MAX,
+       VIEW_JSON_LIST,
 } ROOM_VIEWS;
 
 #define BLOG_EUIDBUF_SIZE      40
@@ -254,8 +255,10 @@ typedef struct __fd_iobuffer {
        IOBuffer *IOB;
        int OtherFD;
        int SplicePipe[2];
+       int PipeSize;
        long TotalSendSize;
        long TotalSentAlready;
+       long TotalReadAlready;
        long ChunkSize;
        long ChunkSendRemain;
        StrBuf *ChunkBuffer; /* just used if we don't have sendfile */
@@ -266,6 +269,7 @@ 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);
+int FileMoveChunked(FDIOBuffer *FDB, const char **Err);
 eReadState WriteIOBAlreadyRead(FDIOBuffer *FDB, const char **Error);
 
 long StrBuf_read_one_chunk_callback (int fd, short event, IOBuffer *FB);
@@ -277,6 +281,7 @@ long IOBufferStrLength(IOBuffer *FB);
 
 int StrBufSipLine(StrBuf *LineBuf, const StrBuf *Buf, const char **Ptr);
 int StrBufReplaceToken(StrBuf *Buf, long where, long HowLong, const char *Repl, long ReplLen);
+int StrBufExtract_tokenFromStr(StrBuf *dest, const char *Source, long SourceLen, int parmnum, char separator);
 int StrBufExtract_token(StrBuf *dest, const StrBuf *Source, int parmnum, char separator);
 int StrBufSub(StrBuf *dest, const StrBuf *Source, unsigned long Offset, size_t nChars);
 
@@ -342,6 +347,7 @@ int StrBufSanitizeAscii(StrBuf *Buf, const char Mute);
 #define RB                     (2)
 #define QU                     (3)
 void StrBufUrlescAppend(StrBuf *OutBuf, const StrBuf *In, const char *PlainIn);
+void StrBufUrlescUPAppend(StrBuf *OutBuf, const StrBuf *In, const char *PlainIn);
 void StrBufHexescAppend(StrBuf *OutBuf, const StrBuf *In, const char *PlainIn);
 void StrBufHexEscAppend(StrBuf *OutBuf, const StrBuf *In, const unsigned char *PlainIn, long PlainInLen);
 long StrEscAppend(StrBuf *Target, const StrBuf *Source, const char *PlainIn, int nbsp, int nolinebreaks);
@@ -369,6 +375,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;
@@ -384,6 +391,9 @@ struct ParsedURL {
        struct hostent *HEnt;
        struct sockaddr_in6 Addr;
        ParsedURL *Next;
+       int IsRelay;
+       StrBuf *UsrName;
+       StrBuf *Password;
 };
 
 void FreeURL(ParsedURL** Url);