X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=libcitadel%2Flib%2Flibcitadel.h;h=7dd18e64cb351f465aaa9499a8db2ec41a8f1dcc;hb=e2c97f4b0f5420b21f491d6e61dca580f8772d39;hp=062ac35206f605db499d27b1d6efbed4e4e21286;hpb=e3e7a535f4370c4cd45cb9f820cb858eef349e80;p=citadel.git diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h index 062ac3520..7dd18e64c 100644 --- a/libcitadel/lib/libcitadel.h +++ b/libcitadel/lib/libcitadel.h @@ -28,7 +28,7 @@ #include #include -#define LIBCITADEL_VERSION_NUMBER 820 +#define LIBCITADEL_VERSION_NUMBER 829 /* * Here's a bunch of stupid magic to make the MIME parser portable. @@ -100,6 +100,7 @@ typedef enum _room_views { VIEW_DRAFTS = 9, /* Drafts view */ VIEW_BLOG = 10, /* Blog view */ VIEW_QUEUE = 11, /* SMTP/... QUEUE rooms */ + VIEW_WIKIMD = 12, /* Markdown Wiki view */ VIEW_MAX, VIEW_JSON_LIST, } ROOM_VIEWS; @@ -337,8 +338,18 @@ void StrBuf_RFC822_2_Utf8(StrBuf *Target, /* deprecated old version: */ void StrBuf_RFC822_to_Utf8(StrBuf *Target, const StrBuf *DecodeMe, const StrBuf* DefaultCharset, StrBuf *FoundCharset); +typedef enum __eStreamType { + eBase64Decode +} eStreamType; + +void *StrBufNewStreamContext(eStreamType type); +void StrBufDestroyStreamContext(eStreamType type, void **Stream); +void StrBufStreamDecodeTo(StrBuf *Target, const StrBuf *In, const char* pIn, long pInLen, void *Stream); + int StrBufDecodeBase64(StrBuf *Buf); +int StrBufDecodeBase64To(const StrBuf *BufIn, StrBuf *BufOut); int StrBufDecodeHex(StrBuf *Buf); +StrBuf *StrBufRFC2047encodeMessage(const StrBuf *EncodeMe); int StrBufRFC2047encode(StrBuf **target, const StrBuf *source); StrBuf *StrBufSanitizeEmailRecipientVector(const StrBuf *Recp, StrBuf *UserName, @@ -350,6 +361,7 @@ int StrBufSanitizeAscii(StrBuf *Buf, const char Mute); #define QU (3) void StrBufUrlescAppend(StrBuf *OutBuf, const StrBuf *In, const char *PlainIn); void StrBufUrlescUPAppend(StrBuf *OutBuf, const StrBuf *In, const char *PlainIn); +void StrBufXMLEscAppend(StrBuf *OutBuf, const StrBuf *In, const char *PlainIn, long PlainInLen, int OverrideLowChars); void StrBufHexescAppend(StrBuf *OutBuf, const StrBuf *In, const char *PlainIn); void StrBufHexEscAppend(StrBuf *OutBuf, const StrBuf *In, const unsigned char *PlainIn, long PlainInLen); void StrBufBase64Append(StrBuf *OutBuf, const StrBuf *In, const char *PlainIn, long PlainInLen, int linebreaks);