imap4r1.h   imap4r1.h 
skipping to change at line 13 skipping to change at line 13
* *
* 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 October 2003 * Last Edited: 7 April 2005
* *
* The IMAP toolkit provided in this Distribution is * The IMAP toolkit provided in this Distribution is
* Copyright 1988-2003 University of Washington. * Copyright 1988-2005 University of Washington.
* The full text of our legal notices is contained in the file called * The full text of our legal notices is contained in the file called
* CPYRIGHT, included with this Distribution. * CPYRIGHT, included with this Distribution.
*/ */
/* Protocol levels */ /* Protocol levels */
/* As of October 15, 2003, it is believed that: /* 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
skipping to change at line 59 skipping to change at line 59
unsigned int idle : 1; /* server has IDLE (RFC 2177) */ unsigned int idle : 1; /* server has IDLE (RFC 2177) */
unsigned int mbx_ref : 1; /* server has mailbox referrals (RFC 2193) * / unsigned int mbx_ref : 1; /* server has mailbox referrals (RFC 2193) * /
unsigned int log_ref : 1; /* server has login referrals (RFC 2221) */ unsigned int log_ref : 1; /* server has login referrals (RFC 2221) */
unsigned int authanon : 1; /* server has anonymous SASL (RFC 2245) */ unsigned int authanon : 1; /* server has anonymous SASL (RFC 2245) */
unsigned int namespace :1; /* server has NAMESPACE (RFC 2342) */ unsigned int namespace :1; /* server has NAMESPACE (RFC 2342) */
unsigned int uidplus : 1; /* server has UIDPLUS (RFC 2359) */ unsigned int uidplus : 1; /* server has UIDPLUS (RFC 2359) */
unsigned int starttls : 1; /* server has STARTTLS (RFC 2595) */ unsigned int starttls : 1; /* server has STARTTLS (RFC 2595) */
/* server disallows LOGIN command (RFC 2595) */ /* server disallows LOGIN command (RFC 2595) */
unsigned int logindisabled : 1; unsigned int logindisabled : 1;
unsigned int id : 1; /* server has ID (RFC 2971) */ unsigned int id : 1; /* server has ID (RFC 2971) */
unsigned int children : 1; /* server has CHILDREN (RFC 3398) */ unsigned int children : 1; /* server has CHILDREN (RFC 3348) */
unsigned int multiappend : 1; /* server has multi-APPEND (RFC 3502 ) ;*/ unsigned int multiappend : 1; /* server has multi-APPEND (RFC 3502 ) ;*/
unsigned int binary : 1; /* server has BINARY (RFC 3516) */ unsigned int binary : 1; /* server has BINARY (RFC 3516) */
unsigned int unselect : 1; /* server has UNSELECT */ unsigned int unselect : 1; /* server has UNSELECT */
unsigned int sasl_ir : 1; /* server has SASL-IR initial response */ unsigned int sasl_ir : 1; /* server has SASL-IR initial response */
unsigned int sort : 1; /* server has SORT */ unsigned int sort : 1; /* server has SORT */
unsigned int scan : 1; /* server has SCAN */ unsigned int scan : 1; /* server has SCAN */
unsigned int extlevel; /* extension data level supported by server */ unsigned int extlevel; /* extension data level supported by server */
/* supported authenticators */ /* supported authenticators */
unsigned int auth : MAXAUTHENTICATORS; unsigned int auth : MAXAUTHENTICATORS;
THREADER *threader; /* list of threaders */ THREADER *threader; /* list of threaders */
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 mail.h   mail.h 
skipping to change at line 13 skipping to change at line 13
* *
* 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: 22 November 1989 * Date: 22 November 1989
* Last Edited: 6 December 2004 * Last Edited: 21 January 2005
* *
* The IMAP toolkit provided in this Distribution is * The IMAP toolkit provided in this Distribution is
* Copyright 1988-2004 University of Washington. * Copyright 1988-2005 University of Washington.
* The full text of our legal notices is contained in the file called * The full text of our legal notices is contained in the file called
* CPYRIGHT, included with this Distribution. * CPYRIGHT, included with this Distribution.
*/ */
/* Build parameters */ /* Build parameters */
#define CACHEINCREMENT 250 /* cache growth increments */ #define CACHEINCREMENT 250 /* cache growth increments */
#define MAILTMPLEN 1024 /* size of a temporary buffer */ #define MAILTMPLEN 1024 /* size of a temporary buffer */
#define MAXMESSAGESIZE 65000 /* MS-DOS: maximum text buffer size #define MAXMESSAGESIZE 65000 /* MS-DOS: maximum text buffer size
* other: initial text buffer size */ * other: initial text buffer size */
#define MAXUSERFLAG 64 /* maximum length of a user flag */ #define MAXUSERFLAG 64 /* maximum length of a user flag */
skipping to change at line 429 skipping to change at line 429
#define SE_SILLYOK (long) 0x400 /* allow silly searches */ #define SE_SILLYOK (long) 0x400 /* allow silly searches */
/* Status options */ /* Status options */
#define SA_MESSAGES (long) 0x1 /* number of messages */ #define SA_MESSAGES (long) 0x1 /* number of messages */
#define SA_RECENT (long) 0x2 /* number of recent messages */ #define SA_RECENT (long) 0x2 /* number of recent messages */
#define SA_UNSEEN (long) 0x4 /* number of unseen messages */ #define SA_UNSEEN (long) 0x4 /* number of unseen messages */
#define SA_UIDNEXT (long) 0x8 /* next UID to be assigned */ #define SA_UIDNEXT (long) 0x8 /* next UID to be assigned */
/* UID validity value */ /* UID validity value */
#define SA_UIDVALIDITY (long) 0x10 #define SA_UIDVALIDITY (long) 0x10
/* use multiple newsrcs */
#define SA_MULNEWSRC (long) 0x20000000
/* Mailgets flags */ /* Mailgets flags */
#define MG_UID (long) 0x1 /* message number is a UID */ #define MG_UID (long) 0x1 /* message number is a UID */
#define MG_COPY (long) 0x2 /* must return copy of argument */ #define MG_COPY (long) 0x2 /* must return copy of argument */
/* SASL authenticator categories */ /* SASL authenticator categories */
#define AU_SECURE (long) 0x1 /* /secure allowed */ #define AU_SECURE (long) 0x1 /* /secure allowed */
#define AU_AUTHUSER (long) 0x2 /* /authuser=xxx allowed */ #define AU_AUTHUSER (long) 0x2 /* /authuser=xxx allowed */
 End of changes. 3 change blocks. 
2 lines changed or deleted 4 lines changed or added


 smtp.h   smtp.h 
skipping to change at line 13 skipping to change at line 13
* *
* 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: 27 July 1988 * Date: 27 July 1988
* Last Edited: 6 December 2004 * Last Edited: 10 March 2005
* *
* The IMAP toolkit provided in this Distribution is * The IMAP toolkit provided in this Distribution is
* Copyright 2003 University of Washington. * Copyright 2005 University of Washington.
* The full text of our legal notices is contained in the file called * The full text of our legal notices is contained in the file called
* CPYRIGHT, included with this Distribution. * CPYRIGHT, included with this Distribution.
* *
* This original version of this file is * This original version of this file is
* Copyright 1988 Stanford University * Copyright 1988 Stanford University
* and was developed in the Symbolic Systems Resources Group of the Knowled ge * and was developed in the Symbolic Systems Resources Group of the Knowled ge
* Systems Laboratory at Stanford University in 1987-88, and was funded by the * Systems Laboratory at Stanford University in 1987-88, and was funded by the
* Biomedical Research Technology Program of the NationalInstitutes of Heal th * Biomedical Research Technology Program of the NationalInstitutes of Heal th
* under grant number RR-00785. * under grant number RR-00785.
*/ */
/* Constants (should be in smtp.c) */ /* Constants (should be in smtp.c) */
#define SMTPTCPPORT (long) 25 /* assigned TCP contact port */ #define SMTPTCPPORT (long) 25 /* assigned TCP contact port */
#define SUBMITTCPPORT (long) 587/* assigned TCP contact port */
/* SMTP open options /* SMTP open options
* For compatibility with the past, SOP_DEBUG must always be 1. * For compatibility with the past, SOP_DEBUG must always be 1.
*/ */
#define SOP_DEBUG (long) 1 /* debug protocol negotiations */ #define SOP_DEBUG (long) 1 /* debug protocol negotiations */
#define SOP_DSN (long) 2 /* DSN requested */ #define SOP_DSN (long) 2 /* DSN requested */
/* DSN notification, none set mean NEVER */ /* DSN notification, none set mean NEVER */
#define SOP_DSN_NOTIFY_FAILURE (long) 4 #define SOP_DSN_NOTIFY_FAILURE (long) 4
#define SOP_DSN_NOTIFY_DELAY (long) 8 #define SOP_DSN_NOTIFY_DELAY (long) 8
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 utf8.h   utf8.h 
skipping to change at line 13 skipping to change at line 13
* *
* 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: 15 November 2004 * Last Edited: 7 April 2005
* *
* The IMAP toolkit provided in this Distribution is * The IMAP toolkit provided in this Distribution is
* Copyright 1988-2004 University of Washington. * Copyright 1988-2005 University of Washington.
* The full text of our legal notices is contained in the file called * The full text of our legal notices is contained in the file called
* CPYRIGHT, included with this Distribution. * CPYRIGHT, included with this Distribution.
*/ */
/* UTF-8 size and conversion routines from UCS-2 values. This will need to /* UTF-8 size and conversion routines from UCS-2 values. This will need to
* be changed if UTF-16 data (surrogate pairs) are ever an issue. * be changed if UTF-16 data (surrogate pairs) are ever an issue.
*/ */
#define UTF8_SIZE(c) ((c & 0xff80) ? ((c & 0xf800) ? 3 : 2) : 1) #define UTF8_SIZE(c) ((c & 0xff80) ? ((c & 0xf800) ? 3 : 2) : 1)
#define UTF8_PUT(b,c) { \ #define UTF8_PUT(b,c) { \
skipping to change at line 38 skipping to change at line 38
if (c & 0xf800) { /* three byte code */ \ if (c & 0xf800) { /* three byte code */ \
*b++ = 0xe0 | (c >> 12); \ *b++ = 0xe0 | (c >> 12); \
*b++ = 0x80 | ((c >> 6) & 0x3f); \ *b++ = 0x80 | ((c >> 6) & 0x3f); \
} \ } \
else *b++ = 0xc0 | ((c >> 6) & 0x3f); \ else *b++ = 0xc0 | ((c >> 6) & 0x3f); \
*b++ = 0x80 | (c & 0x3f); \ *b++ = 0x80 | (c & 0x3f); \
} \ } \
else *b++ = c; \ else *b++ = c; \
} }
/* utf8_get() error returns */ /* utf8_get() return values */
#define U8G_BADCONT 0x80000001 /* continuation when not in progress */ /* 0x0000 - 0xffff BMP plane */
#define U8G_INCMPLT 0x80000002 /* incomplete UTF-8 character */ #define U8GM_NONBMP 0xffff0000 /* mask for non-BMP values */
#define U8G_NOTUTF8 0x80000003 /* not a valid UTF-8 octet */ /* 0x10000 - 0x10ffff extended planes */
#define U8G_ENDSTRG 0x80000004 /* end of string */ /* 0x110000 - 0x7ffffff non-Unicode */
#define U8G_ERROR 0x80000000 /* error flag */
#define U8G_BADCONT U8G_ERROR+1 /* continuation when not in progress
*/
#define U8G_INCMPLT U8G_ERROR+2 /* incomplete UTF-8 character */
#define U8G_NOTUTF8 U8G_ERROR+3 /* not a valid UTF-8 octet */
#define U8G_ENDSTRG U8G_ERROR+4 /* end of string */
/* ISO-2022 engine states */ /* ISO-2022 engine states */
#define I2S_CHAR 0 /* character */ #define I2S_CHAR 0 /* character */
#define I2S_ESC 1 /* previous character was ESC */ #define I2S_ESC 1 /* previous character was ESC */
#define I2S_MUL 2 /* previous character was multi-byte code */ #define I2S_MUL 2 /* previous character was multi-byte code */
#define I2S_INT 3 /* previous character was intermediate */ #define I2S_INT 3 /* previous character was intermediate */
/* ISO-2022 Gn selections */ /* ISO-2022 Gn selections */
#define I2C_G0 0 /* G0 */ #define I2C_G0 0 /* G0 */
skipping to change at line 279 skipping to change at line 284
#define I2CS_ISO8859_8 (I2CS_96 | I2CS_96_ISO8859_8) #define I2CS_ISO8859_8 (I2CS_96 | I2CS_96_ISO8859_8)
#define I2CS_ISO8859_5 (I2CS_96 | I2CS_96_ISO8859_5) #define I2CS_ISO8859_5 (I2CS_96 | I2CS_96_ISO8859_5)
#define I2CS_ISO8859_9 (I2CS_96 | I2CS_96_ISO8859_9) #define I2CS_ISO8859_9 (I2CS_96 | I2CS_96_ISO8859_9)
#define I2CS_TIS620 (I2CS_96 | I2CS_96_TIS620) #define I2CS_TIS620 (I2CS_96 | I2CS_96_TIS620)
#define I2CS_ISO8859_10 (I2CS_96 | I2CS_96_ISO8859_10) #define I2CS_ISO8859_10 (I2CS_96 | I2CS_96_ISO8859_10)
#define I2CS_ISO8859_13 (I2CS_96 | I2CS_96_ISO8859_13) #define I2CS_ISO8859_13 (I2CS_96 | I2CS_96_ISO8859_13)
#define I2CS_VSCII (I2CS_96 | I2CS_96_VSCII) #define I2CS_VSCII (I2CS_96 | I2CS_96_VSCII)
#define I2CS_ISO8859_14 (I2CS_96 | I2CS_96_ISO8859_14) #define I2CS_ISO8859_14 (I2CS_96 | I2CS_96_ISO8859_14)
#define I2CS_ISO8859_15 (I2CS_96 | I2CS_96_ISO8859_15) #define I2CS_ISO8859_15 (I2CS_96 | I2CS_96_ISO8859_15)
#define I2CS_ISO8859_16 (I2CS_96 | I2CS_96_ISO8859_16) #define I2CS_ISO8859_16 (I2CS_96 | I2CS_96_ISO8859_16)
/* Miscellaneous ISO 2022 definitions */ /* Miscellaneous ISO 2022 definitions */
#define EUC_CS2 0x8e /* single shift CS2 */ #define EUC_CS2 0x8e /* single shift CS2 */
#define EUC_CS3 0x8f /* single shift CS3 */ #define EUC_CS3 0x8f /* single shift CS3 */
#define BITS7 0x7f /* 7-bit value mask */ #define BITS7 0x7f /* 7-bit value mask */
#define BIT8 0x80 /* 8th bit mask */ #define BIT8 0x80 /* 8th bit mask */
#define UBOGON 0xfffd /* UCS-2 bogus character */
/* The following saves us from having to have yet more charset tables */ /* The following saves us from having to have yet more charset tables */
/* UCS2 codepoints */ /* Unicode codepoints */
/* ISO 646 substituted Unicode codepoints */
#define UCS2_POUNDSTERLING 0x00a3 #define UCS2_POUNDSTERLING 0x00a3
#define UCS2_YEN 0x00a5 #define UCS2_YEN 0x00a5
#define UCS2_OVERLINE 0x203e #define UCS2_OVERLINE 0x203e
#define UCS2_KATAKANA 0xff61 #define UCS2_KATAKANA 0xff61 /* first katakana codepoint */
#define UCS2_BOM 0xfeff /* byte order mark */
#define UCS2_BOGON 0xfffd /* replacement character */
/* UBOGON is used to represent a codepoint in a character set which does n
ot
* map to Unicode. It is also used for mapping failures, e.g. incomplete
* shift sequences. NOCHAR is used to represent a codepoint in Unicode
* which does not map to the target character set. Note that these names
* have the same text width as 0x????, for convenience in the mapping table
s.
*/
#define UBOGON UCS2_BOGON
#define NOCHAR 0xffff
/* Codepoints in ISO 646 character sets */
/* British ASCII codepoints */
/* British ASCII codepoints */
#define BRITISH_POUNDSTERLING 0x23 #define BRITISH_POUNDSTERLING 0x23
/* JIS Roman codepoints */ /* JIS Roman codepoints */
#define JISROMAN_YEN 0x5c #define JISROMAN_YEN 0x5c
#define JISROMAN_OVERLINE 0x7e #define JISROMAN_OVERLINE 0x7e
/* hankaku katakana codepoints & parameters /* Hankaku katakana codepoints & parameters */
*/
#define MIN_KANA_7 0x21 #define MIN_KANA_7 0x21
#define MAX_KANA_7 0x5f #define MAX_KANA_7 0x5f
#define KANA_7 (UCS2_KATAKANA - MIN_KANA_7) #define KANA_7 (UCS2_KATAKANA - MIN_KANA_7)
#define MIN_KANA_8 (MIN_KANA_7 | BIT8) #define MIN_KANA_8 (MIN_KANA_7 | BIT8)
#define MAX_KANA_8 (MAX_KANA_7 | BIT8) #define MAX_KANA_8 (MAX_KANA_7 | BIT8)
#define KANA_8 (UCS2_KATAKANA - MIN_KANA_8) #define KANA_8 (UCS2_KATAKANA - MIN_KANA_8)
/* Charset scripts */ /* Charset scripts */
/* The term "script" is used here in a very loose sense, enough to make /* The term "script" is used here in a very loose sense, enough to make
* purists cringe. Basically, the idea is to give the main program some * purists cringe. Basically, the idea is to give the main program some
skipping to change at line 345 skipping to change at line 367
#define SC_GREEK 0x8000 #define SC_GREEK 0x8000
#define SC_HEBREW 0x10000 #define SC_HEBREW 0x10000
#define SC_THAI 0x20000 #define SC_THAI 0x20000
#define SC_UKRANIAN 0x40000 #define SC_UKRANIAN 0x40000
#define SC_LATIN_10 0x80000 /* Balkan */ #define SC_LATIN_10 0x80000 /* Balkan */
#define SC_VIETNAMESE 0x100000 #define SC_VIETNAMESE 0x100000
#define SC_CHINESE_SIMPLIFIED 0x1000000 #define SC_CHINESE_SIMPLIFIED 0x1000000
#define SC_CHINESE_TRADITIONAL 0x2000000 #define SC_CHINESE_TRADITIONAL 0x2000000
#define SC_JAPANESE 0x4000000 #define SC_JAPANESE 0x4000000
#define SC_KOREAN 0x8000000 #define SC_KOREAN 0x8000000
/* Script table */
typedef struct utf8_scent {
char *name; /* script name */
char *description; /* script description */
unsigned long script; /* script bitmask */
} SCRIPT;
/* Character set table support */ /* Character set table support */
typedef struct utf8_csent { typedef struct utf8_csent {
char *name; /* charset name */ char *name; /* charset name */
unsigned long type; /* type of charset */ unsigned long type; /* type of charset */
void *tab; /* additional data */ void *tab; /* additional data */
unsigned long script; /* script(s) implemented by this cha rset */ unsigned long script; /* script(s) implemented by this cha rset */
char *preferred; /* preferred charset over this one */ char *preferred; /* preferred charset over this one */
} CHARSET; } CHARSET;
skipping to change at line 388 skipping to change at line 418
#define CT_SJIS 10001 /* 2 byte Shift-JIS encoded JIS no table */ #define CT_SJIS 10001 /* 2 byte Shift-JIS encoded JIS no table */
/* UTF-7 engine states */ /* UTF-7 engine states */
#define U7_ASCII 0 /* ASCII character */ #define U7_ASCII 0 /* ASCII character */
#define U7_PLUS 1 /* plus seen */ #define U7_PLUS 1 /* plus seen */
#define U7_UNICODE 2 /* Unicode characters */ #define U7_UNICODE 2 /* Unicode characters */
#define U7_MINUS 3 /* absorbed minus seen */ #define U7_MINUS 3 /* absorbed minus seen */
/* Function prototypes */ /* Function prototypes */
SCRIPT *utf8_script (char *script);
CHARSET *utf8_charset (char *charset); CHARSET *utf8_charset (char *charset);
long utf8_text (SIZEDTEXT *text,char *charset,SIZEDTEXT *ret,long flags); long utf8_text (SIZEDTEXT *text,char *charset,SIZEDTEXT *ret,long flags);
unsigned short *utf8_rmap (char *charset); unsigned short *utf8_rmap (char *charset);
long utf8_cstext (SIZEDTEXT *text,char *charset,SIZEDTEXT *ret, long utf8_cstext (SIZEDTEXT *text,char *charset,SIZEDTEXT *ret,
unsigned short errch); unsigned short errch);
unsigned long utf8_get (unsigned char **s,unsigned long *i); unsigned long utf8_get (unsigned char **s,unsigned long *i);
long utf8_cstocstext (SIZEDTEXT *text,char *sc,SIZEDTEXT *ret,char *dc, long utf8_cstocstext (SIZEDTEXT *text,char *sc,SIZEDTEXT *ret,char *dc,
unsigned short errch); unsigned short errch);
void utf8_text_1byte0 (SIZEDTEXT *text,SIZEDTEXT *ret,void *tab); void utf8_text_1byte0 (SIZEDTEXT *text,SIZEDTEXT *ret,void *tab);
void utf8_text_1byte (SIZEDTEXT *text,SIZEDTEXT *ret,void *tab); void utf8_text_1byte (SIZEDTEXT *text,SIZEDTEXT *ret,void *tab);
 End of changes. 13 change blocks. 
16 lines changed or deleted 49 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/