X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=libcitadel%2Flib%2Flibcitadel.h;h=46709311c0131e5ec97ed1cae8f135f503064087;hb=3cfffe2479a77433a5e0801d24b902b33b0078f3;hp=ad7058a0b76b43fb911146d88ee7e1ad85c6af3c;hpb=9f051da5f95c2bfff60b179a9a403276a7f96b43;p=citadel.git diff --git a/libcitadel/lib/libcitadel.h b/libcitadel/lib/libcitadel.h index ad7058a0b..46709311c 100644 --- a/libcitadel/lib/libcitadel.h +++ b/libcitadel/lib/libcitadel.h @@ -1,7 +1,7 @@ /* * Header file for libcitadel * - * Copyright (c) 1987-2017 by the citadel.org team + * Copyright (c) 1987-2018 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. @@ -28,7 +28,7 @@ #include #include -#define LIBCITADEL_VERSION_NUMBER 914 +#define LIBCITADEL_VERSION_NUMBER 921 /* * Here's a bunch of stupid magic to make the MIME parser portable. @@ -254,28 +254,6 @@ typedef struct _file_buffer { int nBlobBytesWanted; } IOBuffer; - -typedef struct __fd_iobuffer { - IOBuffer *IOB; - int OtherFD; - int SplicePipe[2]; - int PipeSize; - long TotalSendSize; - loff_t TotalSentAlready; - loff_t TotalReadAlready; - long ChunkSize; - long ChunkSendRemain; - StrBuf *ChunkBuffer; /* just used if we don't have sendfile */ -} FDIOBuffer; - - -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); int StrBuf_write_one_chunk_callback(int fd, short event, IOBuffer *FB); @@ -463,7 +441,7 @@ char *rfc2047encode(const char *line, long length); int is_msg_in_mset(const char *mset, long msgnum); int pattern2(char *search, char *patn); void stripltlen(char *, int *); -char *html_to_ascii(const char *inputmsg, int msglen, int screenwidth, int do_citaformat); +char *html_to_ascii(const char *inputmsg, int msglen, int screenwidth); void LoadEntityList(char *FileName); @@ -613,7 +591,11 @@ JsonValue *NewJsonNumber(const char *Key, long keylen, long Number); JsonValue *NewJsonBigNumber(const char *Key, long keylen, double Number); -JsonValue *NewJsonString(const char *Key, long keylen, StrBuf *CopyMe); +enum { + NEWJSONSTRING_COPYBUF, // make a copy of the StrBuf, source is left alone + NEWJSONSTRING_SMASHBUF // smash the source StrBuf, the json object now owns that memory +}; +JsonValue *NewJsonString(const char *Key, long keylen, StrBuf *CopyMe, int copy_or_smash); JsonValue *NewJsonPlainString(const char *Key, long keylen, const char *CopyMe, long len);