1 /* 2 * Copyright (C) 1996-2002 Michael R. Elkins <me@mutt.org> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 */ 18 19 WHERE void (*mutt_error) (const char *, ...); 20 WHERE void (*mutt_message) (const char *, ...); 21 22 WHERE CONTEXT *Context; 23 24 WHERE char Errorbuf[STRING]; 25 WHERE char AttachmentMarker[STRING]; 26 27 #if defined(DL_STANDALONE) && defined(USE_DOTLOCK) 28 WHERE char *MuttDotlock; 29 #endif 30 31 WHERE ADDRESS *EnvFrom; 32 WHERE ADDRESS *From; 33 34 WHERE char *AliasFile; 35 WHERE char *AliasFmt; 36 WHERE char *AssumedCharset; 37 WHERE char *AttachSep; 38 WHERE char *Attribution; 39 WHERE char *AttachCharset; 40 WHERE char *AttachFormat; 41 WHERE char *Charset; 42 WHERE char *ComposeFormat; 43 WHERE char *ConfigCharset; 44 WHERE char *ContentType; 45 WHERE char *DefaultHook; 46 WHERE char *DateFmt; 47 WHERE char *DisplayFilter; 48 WHERE char *DsnNotify; 49 WHERE char *DsnReturn; 50 WHERE char *Editor; 51 WHERE char *EscChar; 52 WHERE char *FolderFormat; 53 WHERE char *ForwFmt; 54 WHERE char *Fqdn; 55 WHERE char *HdrFmt; 56 WHERE char *HistFile; 57 WHERE char *Homedir; 58 WHERE char *Hostname; 59 #ifdef USE_IMAP 60 WHERE char *ImapAuthenticators INITVAL (NULL); 61 WHERE char *ImapDelimChars INITVAL (NULL); 62 WHERE char *ImapHeaders; 63 WHERE char *ImapLogin INITVAL (NULL); 64 WHERE char *ImapPass INITVAL (NULL); 65 WHERE char *ImapUser INITVAL (NULL); 66 #endif 67 WHERE char *Inbox; 68 WHERE char *Ispell; 69 WHERE char *Locale; 70 WHERE char *MailcapPath; 71 WHERE char *Maildir; 72 #if defined(USE_IMAP) || defined(USE_POP) 73 WHERE char *MessageCachedir; 74 #endif 75 #if USE_HCACHE 76 WHERE char *HeaderCache; 77 #if HAVE_GDBM || HAVE_DB4 78 WHERE char *HeaderCachePageSize; 79 #endif /* HAVE_GDBM || HAVE_DB4 */ 80 #endif /* USE_HCACHE */ 81 WHERE char *MhFlagged; 82 WHERE char *MhReplied; 83 WHERE char *MhUnseen; 84 WHERE char *MsgFmt; 85 86 #ifdef USE_SOCKET 87 WHERE char *Preconnect INITVAL (NULL); 88 WHERE char *Tunnel INITVAL (NULL); 89 WHERE short NetInc; 90 #endif /* USE_SOCKET */ 91 92 #ifdef MIXMASTER 93 WHERE char *Mixmaster; 94 WHERE char *MixEntryFormat; 95 #endif 96 97 WHERE char *Muttrc INITVAL (NULL); 98 WHERE char *Outbox; 99 WHERE char *Pager; 100 WHERE char *PagerFmt; 101 WHERE char *PipeSep; 102 #ifdef USE_POP 103 WHERE char *PopAuthenticators INITVAL (NULL); 104 WHERE short PopCheckTimeout; 105 WHERE char *PopHost; 106 WHERE char *PopPass INITVAL (NULL); 107 WHERE char *PopUser INITVAL (NULL); 108 #endif 109 WHERE char *PostIndentString; 110 WHERE char *Postponed; 111 WHERE char *Prefix; 112 WHERE char *PrintCmd; 113 WHERE char *QueryCmd; 114 WHERE char *QueryFormat; 115 WHERE char *Realname; 116 WHERE short SearchContext; 117 WHERE char *SendCharset; 118 WHERE char *Sendmail; 119 WHERE char *Shell; 120 WHERE char *Signature; 121 WHERE char *SimpleSearch; 122 #if USE_SMTP 123 WHERE char *SmtpAuthenticators INITVAL (NULL); 124 WHERE char *SmtpPass INITVAL (NULL); 125 WHERE char *SmtpUrl INITVAL (NULL); 126 #endif /* USE_SMTP */ 127 WHERE char *Spoolfile; 128 WHERE char *SpamSep; 129 #if defined(USE_SSL) 130 WHERE char *SslCertFile INITVAL (NULL); 131 WHERE char *SslClientCert INITVAL (NULL); 132 WHERE char *SslEntropyFile INITVAL (NULL); 133 #ifdef USE_SSL_GNUTLS 134 WHERE short SslDHPrimeBits; 135 WHERE char *SslCACertFile INITVAL (NULL); 136 #endif 137 #endif 138 WHERE char *StChars; 139 WHERE char *Status; 140 WHERE char *Tempdir; 141 WHERE char *Tochars; 142 WHERE char *Username; 143 WHERE char *Visual; 144 145 WHERE char *CurrentFolder; 146 WHERE char *LastFolder; 147 148 149 WHERE const char *ReleaseDate; 150 151 WHERE HASH *Groups; 152 WHERE HASH *ReverseAlias; 153 154 WHERE LIST *AutoViewList INITVAL(0); 155 WHERE LIST *AlternativeOrderList INITVAL(0); 156 WHERE LIST *AttachAllow INITVAL(0); 157 WHERE LIST *AttachExclude INITVAL(0); 158 WHERE LIST *InlineAllow INITVAL(0); 159 WHERE LIST *InlineExclude INITVAL(0); 160 WHERE LIST *HeaderOrderList INITVAL(0); 161 WHERE LIST *Ignore INITVAL(0); 162 WHERE LIST *MimeLookupList INITVAL(0); 163 WHERE LIST *UnIgnore INITVAL(0); 164 165 WHERE RX_LIST *Alternates INITVAL(0); 166 WHERE RX_LIST *UnAlternates INITVAL(0); 167 WHERE RX_LIST *MailLists INITVAL(0); 168 WHERE RX_LIST *UnMailLists INITVAL(0); 169 WHERE RX_LIST *SubscribedLists INITVAL(0); 170 WHERE RX_LIST *UnSubscribedLists INITVAL(0); 171 WHERE SPAM_LIST *SpamList INITVAL(0); 172 WHERE RX_LIST *NoSpamList INITVAL(0); 173 174 175 /* bit vector for boolean variables */ 176 #ifdef MAIN_C 177 unsigned char Options[(OPTMAX + 7)/8]; 178 #else 179 extern unsigned char Options[]; 180 #endif 181 182 /* bit vector for the yes/no/ask variable type */ 183 #ifdef MAIN_C 184 unsigned char QuadOptions[(OPT_MAX*2 + 7) / 8]; 185 #else 186 extern unsigned char QuadOptions[]; 187 #endif 188 189 WHERE unsigned short Counter INITVAL (0); 190 191 WHERE short ConnectTimeout; 192 WHERE short HistSize; 193 WHERE short MenuContext; 194 WHERE short PagerContext; 195 WHERE short PagerIndexLines; 196 WHERE short ReadInc; 197 WHERE short SaveHist; 198 WHERE short SendmailWait; 199 WHERE short SleepTime INITVAL (1); 200 WHERE short TimeInc; 201 WHERE short Timeout; 202 WHERE short Wrap; 203 WHERE short WrapHeaders; 204 WHERE short WriteInc; 205 206 WHERE short ScoreThresholdDelete; 207 WHERE short ScoreThresholdRead; 208 WHERE short ScoreThresholdFlag; 209 210 #ifdef USE_IMAP 211 WHERE short ImapKeepalive; 212 WHERE short ImapPipelineDepth; 213 #endif 214 215 /* flags for received signals */ 216 WHERE SIG_ATOMIC_VOLATILE_T SigAlrm INITVAL (0); 217 WHERE SIG_ATOMIC_VOLATILE_T SigInt INITVAL (0); 218 WHERE SIG_ATOMIC_VOLATILE_T SigWinch INITVAL (0); 219 220 WHERE int CurrentMenu; 221 222 WHERE ALIAS *Aliases INITVAL (0); 223 WHERE LIST *UserHeader INITVAL (0); 224 225 /*-- formerly in pgp.h --*/ 226 WHERE REGEXP PgpGoodSign; 227 WHERE char *PgpSignAs; 228 WHERE short PgpTimeout; 229 WHERE char *PgpEntryFormat; 230 WHERE char *PgpClearSignCommand; 231 WHERE char *PgpDecodeCommand; 232 WHERE char *PgpVerifyCommand; 233 WHERE char *PgpDecryptCommand; 234 WHERE char *PgpSignCommand; 235 WHERE char *PgpEncryptSignCommand; 236 WHERE char *PgpEncryptOnlyCommand; 237 WHERE char *PgpImportCommand; 238 WHERE char *PgpExportCommand; 239 WHERE char *PgpVerifyKeyCommand; 240 WHERE char *PgpListSecringCommand; 241 WHERE char *PgpListPubringCommand; 242 WHERE char *PgpGetkeysCommand; 243 244 /*-- formerly in smime.h --*/ 245 WHERE char *SmimeDefaultKey; 246 WHERE char *SmimeCryptAlg; 247 WHERE short SmimeTimeout; 248 WHERE char *SmimeCertificates; 249 WHERE char *SmimeKeys; 250 WHERE char *SmimeCryptAlg; 251 WHERE char *SmimeCALocation; 252 WHERE char *SmimeVerifyCommand; 253 WHERE char *SmimeVerifyOpaqueCommand; 254 WHERE char *SmimeDecryptCommand; 255 WHERE char *SmimeSignCommand; 256 WHERE char *SmimeSignOpaqueCommand; 257 WHERE char *SmimeEncryptCommand; 258 WHERE char *SmimeGetSignerCertCommand; 259 WHERE char *SmimePk7outCommand; 260 WHERE char *SmimeGetCertCommand; 261 WHERE char *SmimeImportCertCommand; 262 WHERE char *SmimeGetCertEmailCommand; 263 264 265 266 267 #ifdef MAIN_C 268 const char *Weekdays[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; 269 const char *Months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "ERR" }; 270 271 const char *BodyTypes[] = { "x-unknown", "audio", "application", "image", "message", "model", "multipart", "text", "video" }; 272 const char *BodyEncodings[] = { "x-unknown", "7bit", "8bit", "quoted-printable", "base64", "binary", "x-uuencoded" }; 273 #else 274 extern const char *Weekdays[]; 275 extern const char *Months[]; 276 #endif 277 278 #ifdef MAIN_C 279 /* so that global vars get included */ 280 #include "mx.h" 281 #include "mutt_regex.h" 282 #include "buffy.h" 283 #include "sort.h" 284 #include "mutt_crypt.h" 285 #include "reldate.h" 286 #endif /* MAIN_C */ 287