📄 mail.h
字号:
#define GET_MHALLOWINBOX (long) 574#define SET_MHALLOWINBOX (long) 575/* Driver flags */#define DR_DISABLE (long) 0x1 /* driver is disabled */#define DR_LOCAL (long) 0x2 /* local file driver */#define DR_MAIL (long) 0x4 /* supports mail */#define DR_NEWS (long) 0x8 /* supports news */#define DR_READONLY (long) 0x10 /* driver only allows readonly access */#define DR_NOFAST (long) 0x20 /* "fast" data is slow (whole msg fetch) */#define DR_NAMESPACE (long) 0x40/* driver has a special namespace */#define DR_LOWMEM (long) 0x80 /* low amounts of memory available */#define DR_LOCKING (long) 0x100 /* driver does locking */#define DR_CRLF (long) 0x200 /* driver internal form uses CRLF newlines */#define DR_NOSTICKY (long) 0x400/* driver does not support sticky UIDs */#define DR_RECYCLE (long) 0x800 /* driver does stream recycling */#define DR_XPOINT (long) 0x1000 /* needs to be checkpointed */ /* driver has no real internal date */#define DR_NOINTDATE (long) 0x2000 /* driver does not announce new mail */#define DR_NONEWMAIL (long) 0x4000 /* driver does not announce new mail when RO */#define DR_NONEWMAILRONLY (long) 0x8000 /* driver can be halfopen */#define DR_HALFOPEN (long) 0x10000#define DR_DIRFMT (long) 0x20000/* driver is a directory-format */#define DR_MODSEQ (long) 0x40000/* driver supports modseqs *//* Cache management function codes */#define CH_INIT (long) 10 /* initialize cache */#define CH_SIZE (long) 11 /* (re-)size the cache */#define CH_MAKEELT (long) 30 /* return elt, make if needed */#define CH_ELT (long) 31 /* return elt if exists */#define CH_SORTCACHE (long) 35 /* return sortcache entry, make if needed */#define CH_FREE (long) 40 /* free space used by elt */ /* free space used by sortcache */#define CH_FREESORTCACHE (long) 43#define CH_EXPUNGE (long) 45 /* delete elt pointer from list *//* Mailbox open options * For compatibility with the past, OP_DEBUG must always be 1. */#define OP_DEBUG (long) 0x1 /* debug protocol negotiations */#define OP_READONLY (long) 0x2 /* read-only open */#define OP_ANONYMOUS (long) 0x4 /* anonymous open of newsgroup */#define OP_SHORTCACHE (long) 0x8/* short (elt-only) caching */#define OP_SILENT (long) 0x10 /* don't pass up events (internal use) */#define OP_PROTOTYPE (long) 0x20/* return driver prototype */#define OP_HALFOPEN (long) 0x40 /* half-open (IMAP connect but no select) */#define OP_EXPUNGE (long) 0x80 /* silently expunge recycle stream */#define OP_SECURE (long) 0x100 /* don't do non-secure authentication */#define OP_TRYSSL (long) 0x200 /* try SSL first */ /* use multiple newsrc files */#define OP_MULNEWSRC (long) 0x400#define OP_NOKOD (long) 0x800 /* suppress kiss-of-death */#define OP_SNIFF (long) 0x1000 /* metadata only open */ /* reserved for application use */#define OP_RESERVED (unsigned long) 0xff000000/* Net open options */ /* no error messages */#define NET_SILENT ((unsigned long) 0x80000000) /* no validation of SSL certificates */#define NET_NOVALIDATECERT ((unsigned long) 0x40000000) /* no open timeout */#define NET_NOOPENTIMEOUT ((unsigned long) 0x20000000) /* TLS not SSL */#define NET_TLSCLIENT ((unsigned long) 0x10000000) /* try SSL mode */#define NET_TRYSSL ((unsigned long) 0x8000000)/* Close options */#define CL_EXPUNGE (long) 1 /* expunge silently *//* Fetch options */#define FT_UID (long) 0x1 /* argument is a UID */#define FT_PEEK (long) 0x2 /* peek at data */#define FT_NOT (long) 0x4 /* NOT flag for header lines fetch */#define FT_INTERNAL (long) 0x8 /* text can be internal strings */ /* IMAP prefetch text when fetching header */#define FT_PREFETCHTEXT (long) 0x20#define FT_NOHDRS (long) 0x40 /* suppress fetching extra headers (note that this breaks news handling) */#define FT_NEEDENV (long) 0x80 /* (internal use) include envelope */#define FT_NEEDBODY (long) 0x100/* (internal use) include body structure */ /* no fetch lookahead */#define FT_NOLOOKAHEAD (long) 0x200 /* (internal use) lookahead in hdr searching */#define FT_SEARCHLOOKAHEAD (long) 0x400 /* stringstruct return hack */#define FT_RETURNSTRINGSTRUCT (long) 0x800/* Flagging options */#define ST_UID (long) 0x1 /* argument is a UID sequence */#define ST_SILENT (long) 0x2 /* don't return results */#define ST_SET (long) 0x4 /* set vs. clear *//* Expunge options */#define EX_UID (long) 0x1 /* argument is a UID sequence *//* Copy options */#define CP_UID (long) 0x1 /* argument is a UID sequence */#define CP_MOVE (long) 0x2 /* delete from source after copying */ /* set debug in any created stream */#define CP_DEBUG (long) 0x20000000/* Search/sort/thread options */#define SE_UID (long) 0x1 /* return UID */#define SE_FREE (long) 0x2 /* free search program after finished */#define SE_NOPREFETCH (long) 0x4/* no search prefetching */#define SO_FREE (long) 0x8 /* free sort program after finished */#define SE_NOSERVER (long) 0x10 /* don't do server-based search/sort/thread */#define SE_RETAIN (long) 0x20 /* retain previous search results */#define SO_OVERVIEW (long) 0x40 /* use overviews in searching (NNTP only) */#define SE_NEEDBODY (long) 0x80 /* include body structure in prefetch */#define SE_NOHDRS (long) 0x100 /* suppress prefetching extra headers (note that this breaks news handling) */#define SE_NOLOCAL (long) 0x200 /* no local retry (IMAP only) */#define SO_NOSERVER SE_NOSERVER /* compatibility name */#define SE_SILLYOK (long) 0x400 /* allow silly searches *//* Status options */#define SA_MESSAGES (long) 0x1 /* number of messages */#define SA_RECENT (long) 0x2 /* number of recent messages */#define SA_UNSEEN (long) 0x4 /* number of unseen messages */#define SA_UIDNEXT (long) 0x8 /* next UID to be assigned */ /* UID validity value */#define SA_UIDVALIDITY (long) 0x10 /* set OP_DEBUG on any created stream */#define SA_DEBUG (long) 0x10000000 /* use multiple newsrcs */#define SA_MULNEWSRC (long) 0x20000000/* Mailgets flags */#define MG_UID (long) 0x1 /* message number is a UID */#define MG_COPY (long) 0x2 /* must return copy of argument *//* SASL authenticator categories */#define AU_SECURE (long) 0x1 /* /secure allowed */#define AU_AUTHUSER (long) 0x2 /* /authuser=xxx allowed */ /* authenticator hidden */#define AU_HIDE (long) 0x10000000 /* authenticator disabled */#define AU_DISABLE (long) 0x20000000/* Garbage collection flags */#define GC_ELT (long) 0x1 /* message cache elements */#define GC_ENV (long) 0x2 /* envelopes and bodies */#define GC_TEXTS (long) 0x4 /* cached texts *//* mm_log()/mm_notify() condition codes */#define WARN (long) 1 /* mm_log warning type */#define ERROR (long) 2 /* mm_log error type */#define PARSE (long) 3 /* mm_log parse error type */#define BYE (long) 4 /* mm_notify stream dying */#define TCPDEBUG (long) 5 /* mm_log TCP debug babble *//* Bits from mail_parse_flags(). Don't change these, since the header format * used by tenex, mtx, and mbx corresponds to these bits. */#define fSEEN 0x1#define fDELETED 0x2#define fFLAGGED 0x4#define fANSWERED 0x8#define fOLD 0x10#define fDRAFT 0x20#define fEXPUNGED 0x8000 /* internal flag *//* Bits for mm_list() and mm_lsub() *//* Note that (LATT_NOINFERIORS LATT_HASCHILDREN LATT_HASNOCHILDREN) and * (LATT_NOSELECT LATT_MARKED LATT_UNMARKED) each have eight possible states, * but only four of these are valid. The other four are silly states which * while invalid can unfortunately be expressed in the IMAP protocol. */ /* terminal node in hierarchy */#define LATT_NOINFERIORS (long) 0x1 /* name can not be selected */#define LATT_NOSELECT (long) 0x2 /* changed since last accessed */#define LATT_MARKED (long) 0x4 /* accessed since last changed */#define LATT_UNMARKED (long) 0x8 /* name has referral to remote mailbox */#define LATT_REFERRAL (long) 0x10 /* has selectable inferiors */#define LATT_HASCHILDREN (long) 0x20 /* has no selectable inferiors */#define LATT_HASNOCHILDREN (long) 0x40/* Sort functions */#define SORTDATE 0 /* date */#define SORTARRIVAL 1 /* arrival date */#define SORTFROM 2 /* from */#define SORTSUBJECT 3 /* subject */#define SORTTO 4 /* to */#define SORTCC 5 /* cc */#define SORTSIZE 6 /* size *//* imapreferral_t codes */#define REFAUTHFAILED (long) 0 /* authentication referral -- not logged in */#define REFAUTH (long) 1 /* authentication referral -- logged in */#define REFSELECT (long) 2 /* select referral */#define REFCREATE (long) 3#define REFDELETE (long) 4#define REFRENAME (long) 5#define REFSUBSCRIBE (long) 6#define REFUNSUBSCRIBE (long) 7#define REFSTATUS (long) 8#define REFCOPY (long) 9#define REFAPPEND (long) 10/* sendcommand_t codes */ /* expunge response deferred */#define SC_EXPUNGEDEFERRED (long) 1/* Block notification codes */#define BLOCK_NONE 0 /* not blocked */#define BLOCK_SENSITIVE 1 /* sensitive code, disallow alarms */#define BLOCK_NONSENSITIVE 2 /* non-sensitive code, allow alarms */#define BLOCK_DNSLOOKUP 10 /* blocked on DNS lookup */#define BLOCK_TCPOPEN 11 /* blocked on TCP open */#define BLOCK_TCPREAD 12 /* blocked on TCP read */#define BLOCK_TCPWRITE 13 /* blocked on TCP write */#define BLOCK_TCPCLOSE 14 /* blocked on TCP close */#define BLOCK_FILELOCK 20 /* blocked on file locking *//* In-memory sized-text */#define SIZEDTEXT struct mail_sizedtextSIZEDTEXT { unsigned char *data; /* text */ unsigned long size; /* size of text in octets */};/* String list */#define STRINGLIST struct string_listSTRINGLIST { SIZEDTEXT text; /* string text */ STRINGLIST *next;};/* Parse results from mail_valid_net_parse */#define NETMAXHOST 256#define NETMAXUSER 65#define NETMAXMBX (MAILTMPLEN/4)#define NETMAXSRV 21typedef struct net_mailbox { char host[NETMAXHOST]; /* host name (may be canonicalized) */ char orighost[NETMAXHOST]; /* host name before canonicalization */ char user[NETMAXUSER]; /* user name */ char authuser[NETMAXUSER]; /* authentication user name */ char mailbox[NETMAXMBX]; /* mailbox name */ char service[NETMAXSRV]; /* service name */ unsigned long port; /* TCP port number */ unsigned int anoflag : 1; /* anonymous */ unsigned int dbgflag : 1; /* debug flag */ unsigned int secflag : 1; /* secure flag */ unsigned int sslflag : 1; /* SSL driver flag */ unsigned int trysslflag : 1; /* try SSL driver first flag */ unsigned int novalidate : 1; /* don't validate certificates */ unsigned int tlsflag : 1; /* TLS flag */ unsigned int notlsflag : 1; /* do not do TLS flag */ unsigned int readonlyflag : 1;/* want readonly */ unsigned int norsh : 1; /* don't use rsh/ssh */ unsigned int loser : 1; /* server is a loser */ unsigned int tlssslv23 : 1; /* force SSLv23 client method over TLS */} NETMBX;/* Item in an address list */#define ADDRESS struct mail_addressADDRESS { char *personal; /* personal name phrase */ char *adl; /* at-domain-list source route */ char *mailbox; /* mailbox name */ char *host; /* domain name of mailbox's host */ char *error; /* error in address from SMTP module */ struct { char *type; /* address type (default "rfc822") */ char *addr; /* address as xtext */ } orcpt; ADDRESS *next; /* pointer to next address in list */};/* Message envelope */typedef struct mail_envelope { unsigned int incomplete : 1; /* envelope may be incomplete */ unsigned int imapenvonly : 1; /* envelope only has IMAP envelope */ char *remail; /* remail header if any */ ADDRESS *return_path; /* error return address */ unsigned char *date; /* message composition date string */ ADDRESS *from; /* originator address list */ ADDRESS *sender; /* sender address list */ ADDRESS *reply_to; /* reply address list */ char *subject; /* message subject string */ ADDRESS *to; /* primary recipient list */ ADDRESS *cc; /* secondary recipient list */ ADDRESS *bcc; /* blind secondary recipient list */ char *in_reply_to; /* replied message ID */ char *message_id; /* message ID */ char *newsgroups; /* USENET newsgroups */ char *followup_to; /* USENET reply newsgroups */ char *references; /* USENET references */ void *sparep; /* spare pointer reserved for main program */} ENVELOPE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -