X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=libcitadel%2Flib%2Flibcitadel.h;h=1817187371f798c931caad30603ed092496e13a6;hb=HEAD;hp=b2241e8acdae13b5120bb8b3350248f33abd8184;hpb=4d3ae70e8bb1f3c339a19fe4d285994351a4c903;p=citadel.git diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h index b2241e8ac..9601f0dc1 100644 --- a/libcitadel/lib/libcitadel.h +++ b/libcitadel/lib/libcitadel.h @@ -19,7 +19,7 @@ #include #include -#define LIBCITADEL_VERSION_NUMBER 982 +#define LIBCITADEL_VERSION_NUMBER 1000 /* * Here's a bunch of stupid magic to make the MIME parser portable. @@ -252,6 +252,7 @@ int StrBufReplaceToken(StrBuf *Buf, long where, long HowLong, const char *Repl, 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); +int StrBufReplaceAllOccurrences(StrBuf *Buf, const char *fromstr, const char *tostr); unsigned long StrBufExtract_unsigned_long(const StrBuf* Source, int parmnum, char separator); long StrBufExtract_long(const StrBuf* Source, int parmnum, char separator); @@ -402,7 +403,7 @@ enum { BASE64_NO_LINEBREAKS = 0, BASE64_YES_LINEBREAKS = 1 }; -size_t CtdlDecodeBase64(char *dest, const char *source, size_t length); +size_t CtdlDecodeBase64(char *dest, const char *source, size_t source_len); unsigned int decode_hex(char *Source); int CtdlDecodeQuotedPrintable(char *decoded, char *encoded, int sourcelen); void StripSlashes(char *Dir, int TrailingSlash); @@ -430,9 +431,15 @@ void CtdlMakeTempFileName(char *name, int len); char *rfc2047encode(const char *line, long length); int is_msg_in_mset(const char *mset, long msgnum); int pattern2(char *search, char *patn); -char *html_to_ascii(const char *inputmsg, int msglen, int screenwidth, int ansi); void LoadEntityList(char *FileName); void utf8ify_rfc822_string(char *buf); +int u8_wc_toutf8(char *dest, u_int32_t ch); +void h2a_embed_image(StrBuf *out, char *url, int display_protocol); + +// flags for html_to_ascii +#define H2A_ANSI 0x01 // it is acceptable to display ANSI graphics on this terminal +#define H2A_SIXEL 0x02 // sixel graphics are supported (not yet fully implemented) +char *html_to_ascii(const char *inputmsg, int msglen, int screenwidth, unsigned int flags); typedef struct { @@ -575,6 +582,7 @@ struct vnote *vnote_new_from_str(char *s); void vnote_free(struct vnote *v); char *vnote_serialize(struct vnote *v); void vnote_serialize_output_field(char *append_to, char *field, char *label); +char b64unalphabet(char ch); @@ -691,7 +699,7 @@ extern "C" { #define ERROR 500 #define BINARY_FOLLOWS 600 #define SEND_BINARY 700 -#define START_CHAT_MODE 800 +#define SEND_THEN_RECV 800 #define INTERNAL_ERROR 10 #define TOO_BIG 11