c-client.h | c-client.h | |||
---|---|---|---|---|
skipping to change at line 26 | skipping to change at line 26 | |||
* | * | |||
* Author: Mark Crispin | * Author: Mark Crispin | |||
* Networks and Distributed Computing | * Networks and Distributed Computing | |||
* Computing & Communications | * Computing & Communications | |||
* University of Washington | * University of Washington | |||
* Administration Building, AG-44 | * Administration Building, AG-44 | |||
* Seattle, WA 98195 | * Seattle, WA 98195 | |||
* Internet: MRC@CAC.Washington.EDU | * Internet: MRC@CAC.Washington.EDU | |||
* | * | |||
* Date: 19 May 2000 | * Date: 19 May 2000 | |||
* Last Edited: 30 August 2006 | * Last Edited: 6 December 2006 | |||
*/ | */ | |||
#ifndef __CCLIENT_H /* nobody should include this twice... */ | #ifndef __CCLIENT_H /* nobody should include this twice... */ | |||
#define __CCLIENT_H | #define __CCLIENT_H | |||
#ifdef __cplusplus /* help out people who use C++ compilers */ | #ifdef __cplusplus /* help out people who use C++ compilers */ | |||
extern "C" { | extern "C" { | |||
/* If you use gcc, you may also have to use -fno-operator-names */ | /* If you use gcc, you may also have to use -fno-operator-names */ | |||
#define private cclientPrivate /* private to c-client */ | #define private cclientPrivate /* private to c-client */ | |||
#define and cclientAnd /* C99 doesn't realize that ISO 646 is dead */ | #define and cclientAnd /* C99 doesn't realize that ISO 646 is dead */ | |||
#define or cclientOr | #define or cclientOr | |||
#define not cclientNot | #define not cclientNot | |||
#endif | #endif | |||
#include "mail.h" /* primary interfaces */ | #include "mail.h" /* primary interfaces */ | |||
#include "osdep.h" /* OS-dependent routines */ | #include "osdep.h" /* OS-dependent routines */ | |||
#include "rfc822.h" /* RFC822 and MIME routines */ | #include "rfc822.h" /* RFC822 and MIME routines */ | |||
#include "smtp.h" /* SMTP sending routines */ | #include "smtp.h" /* SMTP sending routines */ | |||
#include "nntp.h" /* NNTP sending routines */ | #include "nntp.h" /* NNTP sending routines */ | |||
#include "utf8.h" /* Unicode and charset routines */ | #include "utf8.h" /* Unicode and charset routines */ | |||
#include "utf8aux.h" /* Unicode auxillary routines */ | ||||
#include "misc.h" /* miscellaneous utility routines */ | #include "misc.h" /* miscellaneous utility routines */ | |||
#ifdef __cplusplus /* undo the C++ mischief */ | #ifdef __cplusplus /* undo the C++ mischief */ | |||
#undef private | #undef private | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 2 lines changed or added | |||
imap4r1.h | imap4r1.h | |||
---|---|---|---|---|
skipping to change at line 26 | skipping to change at line 26 | |||
* | * | |||
* Author: Mark Crispin | * Author: Mark Crispin | |||
* Networks and Distributed Computing | * Networks and Distributed Computing | |||
* Computing & Communications | * Computing & Communications | |||
* University of Washington | * University of Washington | |||
* Administration Building, AG-44 | * Administration Building, AG-44 | |||
* Seattle, WA 98195 | * Seattle, WA 98195 | |||
* Internet: MRC@CAC.Washington.EDU | * Internet: MRC@CAC.Washington.EDU | |||
* | * | |||
* Date: 14 October 1988 | * Date: 14 October 1988 | |||
* Last Edited: 30 August 2006 | * Last Edited: 6 December 2006 | |||
*/ | */ | |||
/* Protocol levels */ | ||||
/* As of October 15, 2003, it is believed that: | /* This include file is provided for applications which need to look under | |||
* the covers at the IMAP driver and in particular want to do different | ||||
* operations depending upon the IMAP server's protocol level and | ||||
* capabilities. It is NOT included in the normal c-client.h application | ||||
* export, and most applications do NOT need the definitions in this file. | ||||
* | ||||
* As of October 15, 2003, it is believed that: | ||||
* | * | |||
* Version RFC Status Known Implementations | * Version RFC Status Known Implementations | |||
* ------- --- ------ --------------------- | * ------- --- ------ --------------------- | |||
* IMAP1 none extinct experimental TOPS-20 server | * IMAP1 none extinct experimental TOPS-20 server | |||
* IMAP2 1064 extinct old TOPS-20, SUMEX servers | * IMAP2 1064 extinct old TOPS-20, SUMEX servers | |||
* IMAP2 1176 rare TOPS-20, old UW servers | * IMAP2 1176 rare TOPS-20, old UW servers | |||
* IMAP2bis expired I-D uncommon old UW, Cyrus servers | * IMAP2bis expired I-D uncommon old UW, Cyrus servers | |||
* IMAP3 1203 extinct none (never implemented) | * IMAP3 1203 extinct none (never implemented) | |||
* IMAP4 1730 rare old UW, Cyrus, Netscape serv ers | * IMAP4 1730 rare old UW, Cyrus, Netscape serv ers | |||
* IMAP4rev1 2060, 3501 ubiquitous UW, Cyrus, and many others | * IMAP4rev1 2060, 3501 ubiquitous UW, Cyrus, and many others | |||
* | * | |||
* Most client implementations will only interoperate with an IMAP4rev1 | * Most client implementations will only interoperate with an IMAP4rev1 | |||
* server. c-client based client implementations can interoperate with IMA P2, | * server. c-client based client implementations can interoperate with IMA P2, | |||
* IMAP2bis, IMAP4, and IMAP4rev1 servers, but only if they are very carefu l. | * IMAP2bis, IMAP4, and IMAP4rev1 servers, but only if they are very carefu l. | |||
* | ||||
* The LEVELxxx() macros in this file enable the client to determine the | ||||
* server protocol level and capabilities. This file also contains a few | ||||
* backdoor calls into the IMAP driver. | ||||
*/ | */ | |||
/* Server protocol level and capabilities */ | /* Server protocol level and capabilities */ | |||
typedef struct imap_cap { | typedef struct imap_cap { | |||
unsigned int rfc1176 : 1; /* server is RFC-1176 IMAP2 */ | unsigned int rfc1176 : 1; /* server is RFC-1176 IMAP2 */ | |||
unsigned int imap2bis : 1; /* server is IMAP2bis */ | unsigned int imap2bis : 1; /* server is IMAP2bis */ | |||
unsigned int imap4 : 1; /* server is IMAP4 (RFC 1730) */ | unsigned int imap4 : 1; /* server is IMAP4 (RFC 1730) */ | |||
unsigned int imap4rev1 : 1; /* server is IMAP4rev1 */ | unsigned int imap4rev1 : 1; /* server is IMAP4rev1 */ | |||
unsigned int acl : 1; /* server has ACL (RFC 2086) */ | unsigned int acl : 1; /* server has ACL (RFC 2086) */ | |||
unsigned int quota : 1; /* server has QUOTA (RFC 2087) */ | unsigned int quota : 1; /* server has QUOTA (RFC 2087) */ | |||
unsigned int litplus : 1; /* server has LITERAL+ (RFC 2088) */ | unsigned int litplus : 1; /* server has LITERAL+ (RFC 2088) */ | |||
End of changes. 5 change blocks. | ||||
4 lines changed or deleted | 12 lines changed or added | |||
utf8.h | utf8.h | |||
---|---|---|---|---|
skipping to change at line 26 | skipping to change at line 26 | |||
* | * | |||
* Author: Mark Crispin | * Author: Mark Crispin | |||
* Networks and Distributed Computing | * Networks and Distributed Computing | |||
* Computing & Communications | * Computing & Communications | |||
* University of Washington | * University of Washington | |||
* Administration Building, AG-44 | * Administration Building, AG-44 | |||
* Seattle, WA 98195 | * Seattle, WA 98195 | |||
* Internet: MRC@CAC.Washington.EDU | * Internet: MRC@CAC.Washington.EDU | |||
* | * | |||
* Date: 11 June 1997 | * Date: 11 June 1997 | |||
* Last Edited: 21 September 2006 | * Last Edited: 6 December 2006 | |||
*/ | */ | |||
/* UTF-8 size and conversion routines from UCS-2 values (thus in the BMP). | /* UTF-8 size and conversion routines from UCS-2 values (thus in the BMP). | |||
* Don't use these if UTF-16 data (surrogate pairs) are an issue. | * Don't use these if UTF-16 data (surrogate pairs) are an issue. | |||
* For UCS-4 values, use the utf8_size() and utf8_put() functions. | * For UCS-4 values, use the utf8_size() and utf8_put() functions. | |||
*/ | */ | |||
#define UTF8_SIZE_BMP(c) ((c & 0xff80) ? ((c & 0xf800) ? 3 : 2) : 1) | #define UTF8_SIZE_BMP(c) ((c & 0xff80) ? ((c & 0xf800) ? 3 : 2) : 1) | |||
#define UTF8_PUT_BMP(b,c) { \ | #define UTF8_PUT_BMP(b,c) { \ | |||
if (c & 0xff80) { /* non-ASCII? */ \ | if (c & 0xff80) { /* non-ASCII? */ \ | |||
skipping to change at line 522 | skipping to change at line 522 | |||
void utf8_text_ucs2 (SIZEDTEXT *text,SIZEDTEXT *ret,ucs4cn_t cv,ucs4de_t de ); | void utf8_text_ucs2 (SIZEDTEXT *text,SIZEDTEXT *ret,ucs4cn_t cv,ucs4de_t de ); | |||
void utf8_text_ucs4 (SIZEDTEXT *text,SIZEDTEXT *ret,ucs4cn_t cv,ucs4de_t de ); | void utf8_text_ucs4 (SIZEDTEXT *text,SIZEDTEXT *ret,ucs4cn_t cv,ucs4de_t de ); | |||
void utf8_text_utf16 (SIZEDTEXT *text,SIZEDTEXT *ret,ucs4cn_t cv,ucs4de_t d e); | void utf8_text_utf16 (SIZEDTEXT *text,SIZEDTEXT *ret,ucs4cn_t cv,ucs4de_t d e); | |||
unsigned long utf8_size (unsigned long c); | unsigned long utf8_size (unsigned long c); | |||
unsigned char *utf8_put (unsigned char *s,unsigned long c); | unsigned char *utf8_put (unsigned char *s,unsigned long c); | |||
unsigned long ucs4_titlecase (unsigned long c); | unsigned long ucs4_titlecase (unsigned long c); | |||
long ucs4_width (unsigned long c); | long ucs4_width (unsigned long c); | |||
long utf8_strwidth (unsigned char *s); | long utf8_strwidth (unsigned char *s); | |||
long utf8_textwidth (SIZEDTEXT *utf8); | long utf8_textwidth (SIZEDTEXT *utf8); | |||
unsigned long ucs4_decompose (unsigned long c,void **more); | unsigned long ucs4_decompose (unsigned long c,void **more); | |||
void utf8_searchpgm (SEARCHPGM *pgm,char *charset); | ||||
static void utf8_stringlist (STRINGLIST *st,char *charset); | ||||
long utf8_mime2text (SIZEDTEXT *src,SIZEDTEXT *dst,long flags); | ||||
unsigned char *mime2_token (unsigned char *s,unsigned char *se, | ||||
unsigned char **t); | ||||
unsigned char *mime2_text (unsigned char *s,unsigned char *se); | ||||
long mime2_decode (unsigned char *e,unsigned char *t,unsigned char *te, | ||||
SIZEDTEXT *txt); | ||||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||