]> code.citadel.org Git - citadel.git/blobdiff - libcitadel/lib/libcitadel.h
work on sixel support
[citadel.git] / libcitadel / lib / libcitadel.h
index 48e615850a843938fa9fc485f06e17f2d48449e1..9601f0dc10e65242c125e7ecf6fe974b5cc7eb60 100644 (file)
@@ -19,7 +19,7 @@
 #include <sys/types.h>
 #include <netinet/in.h>
 
-#define LIBCITADEL_VERSION_NUMBER 974
+#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