imap4r1.h | imap4r1.h | |||
---|---|---|---|---|
/* ======================================================================== | /* ======================================================================== | |||
* Copyright 1988-2006 University of Washington | * Copyright 1988-2007 University of Washington | |||
* | * | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | * You may obtain a copy of the License at | |||
* | * | |||
* http://www.apache.org/licenses/LICENSE-2.0 | * http://www.apache.org/licenses/LICENSE-2.0 | |||
* | * | |||
* | * | |||
* ======================================================================== | * ======================================================================== | |||
*/ | */ | |||
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: 6 December 2006 | * Last Edited: 5 June 2007 | |||
*/ | */ | |||
/* This include file is provided for applications which need to look under | /* 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 | * the covers at the IMAP driver and in particular want to do different | |||
* operations depending upon the IMAP server's protocol level and | * operations depending upon the IMAP server's protocol level and | |||
* capabilities. It is NOT included in the normal c-client.h application | * capabilities. It is NOT included in the normal c-client.h application | |||
* export, and most applications do NOT need the definitions in this file. | * export, and most applications do NOT need the definitions in this file. | |||
* | * | |||
* As of October 15, 2003, it is believed that: | * As of October 15, 2003, it is believed that: | |||
* | * | |||
skipping to change at line 82 | skipping to change at line 82 | |||
/* 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 3348) */ | 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 urlauth : 1; /* server has URLAUTH (RFC 4467) */ | ||||
unsigned int catenate : 1; /* server has CATENATE (RFC 4469) */ | ||||
unsigned int condstore : 1; /* server has CONDSTORE (RFC 4551) */ | ||||
unsigned int esearch : 1; /* server has ESEARCH (RFC 4731) */ | ||||
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 */ | |||
} IMAPCAP; | } IMAPCAP; | |||
/* IMAP4rev1 level or better */ | /* IMAP4rev1 level or better */ | |||
#define LEVELIMAP4rev1(stream) imap_cap (stream)->imap4rev1 | #define LEVELIMAP4rev1(stream) imap_cap (stream)->imap4rev1 | |||
#define LEVELSTATUS LEVELIMAP4rev1 | #define LEVELSTATUS LEVELIMAP4rev1 | |||
skipping to change at line 191 | skipping to change at line 195 | |||
#define LEVELSORT(stream) imap_cap (stream)->sort | #define LEVELSORT(stream) imap_cap (stream)->sort | |||
/* Has at least one THREAD extension */ | /* Has at least one THREAD extension */ | |||
#define LEVELTHREAD(stream) ((imap_cap (stream)->threader) ? T : NIL) | #define LEVELTHREAD(stream) ((imap_cap (stream)->threader) ? T : NIL) | |||
/* Has SCAN extension */ | /* Has SCAN extension */ | |||
#define LEVELSCAN(stream) imap_cap (stream)->scan | #define LEVELSCAN(stream) imap_cap (stream)->scan | |||
/* Has URLAUTH extension */ | ||||
#define LEVELURLAUTH(stream) imap_cap (stream)->urlauth | ||||
/* Has CATENATE extension */ | ||||
#define LEVELCATENATE(stream) imap_cap (stream)->catenate | ||||
/* Has CONDSTORE extension */ | ||||
#define LEVELCONDSTORE(stream) imap_cap (stream)->condstore | ||||
/* Has ESEARCH extension */ | ||||
#define LEVELESEARCH(stream) imap_cap (stream)->esearch | ||||
/* Body structure extension levels */ | /* Body structure extension levels */ | |||
/* These are in BODYSTRUCTURE order. Note that multipart bodies do not hav e | /* These are in BODYSTRUCTURE order. Note that multipart bodies do not hav e | |||
* body-fld-md5. This is alright, since all subsequent body structure | * body-fld-md5. This is alright, since all subsequent body structure | |||
* extensions are in both singlepart and multipart bodies. If that ever | * extensions are in both singlepart and multipart bodies. If that ever | |||
* changes, this will have to be split. | * changes, this will have to be split. | |||
*/ | */ | |||
#define BODYEXTMD5 1 /* body-fld-md5 */ | #define BODYEXTMD5 1 /* body-fld-md5 */ | |||
#define BODYEXTDSP 2 /* body-fld-dsp */ | #define BODYEXTDSP 2 /* body-fld-dsp */ | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 22 lines changed or added | |||
mail.h | mail.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: 22 November 1989 | * Date: 22 November 1989 | |||
* Last Edited: 30 January 2007 | * Last Edited: 23 May 2007 | |||
*/ | */ | |||
/* The Version */ | ||||
#define CCLIENTVERSION "2006i" | ||||
/* 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 SENDBUFLEN 16385 /* size of temporary sending buffer, also | #define SENDBUFLEN 16385 /* size of temporary sending buffer, also | |||
* used for SMTP commands and NETMBX generat ion | * used for SMTP commands and NETMBX generat ion | |||
* buffer so shouldn't be made smaller than | * buffer so shouldn't be made smaller than | |||
* MAILTMPLEN. Note that there's a guard by te, | * MAILTMPLEN. Note that there's a guard by te, | |||
* so this is actually len+1. */ | * so this is actually len+1. */ | |||
#define MAXAUTHENTICATORS 8 /* maximum number of SASL authenticators */ | #define MAXAUTHENTICATORS 8 /* maximum number of SASL authenticators */ | |||
skipping to change at line 1517 | skipping to change at line 1521 | |||
void mm_log (char *string,long errflg); | void mm_log (char *string,long errflg); | |||
void mm_dlog (char *string); | void mm_dlog (char *string); | |||
void mm_login (NETMBX *mb,char *user,char *pwd,long trial); | void mm_login (NETMBX *mb,char *user,char *pwd,long trial); | |||
void mm_critical (MAILSTREAM *stream); | void mm_critical (MAILSTREAM *stream); | |||
void mm_nocritical (MAILSTREAM *stream); | void mm_nocritical (MAILSTREAM *stream); | |||
long mm_diskerror (MAILSTREAM *stream,long errcode,long serious); | long mm_diskerror (MAILSTREAM *stream,long errcode,long serious); | |||
void mm_fatal (char *string); | void mm_fatal (char *string); | |||
void *mm_cache (MAILSTREAM *stream,unsigned long msgno,long op); | void *mm_cache (MAILSTREAM *stream,unsigned long msgno,long op); | |||
extern STRINGDRIVER mail_string; | extern STRINGDRIVER mail_string; | |||
void mail_versioncheck (char *version); | ||||
void mail_link (DRIVER *driver); | void mail_link (DRIVER *driver); | |||
void *mail_parameters (MAILSTREAM *stream,long function,void *value); | void *mail_parameters (MAILSTREAM *stream,long function,void *value); | |||
DRIVER *mail_valid (MAILSTREAM *stream,char *mailbox,char *purpose); | DRIVER *mail_valid (MAILSTREAM *stream,char *mailbox,char *purpose); | |||
DRIVER *mail_valid_net (char *name,DRIVER *drv,char *host,char *mailbox); | DRIVER *mail_valid_net (char *name,DRIVER *drv,char *host,char *mailbox); | |||
long mail_valid_net_parse (char *name,NETMBX *mb); | long mail_valid_net_parse (char *name,NETMBX *mb); | |||
long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service); | long mail_valid_net_parse_work (char *name,NETMBX *mb,char *service); | |||
void mail_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents); | void mail_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents); | |||
void mail_list (MAILSTREAM *stream,char *ref,char *pat); | void mail_list (MAILSTREAM *stream,char *ref,char *pat); | |||
void mail_lsub (MAILSTREAM *stream,char *ref,char *pat); | void mail_lsub (MAILSTREAM *stream,char *ref,char *pat); | |||
long mail_subscribe (MAILSTREAM *stream,char *mailbox); | long mail_subscribe (MAILSTREAM *stream,char *mailbox); | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 6 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: 16 March 2007 | * Last Edited: 25 May 2007 | |||
*/ | */ | |||
/* 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 540 | skipping to change at line 540 | |||
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); | |||
unsigned long ucs4_decompose_recursive (unsigned long c,void **more); | ||||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||