/* ml.h */
#ifndef __ML_H__
#define __ML_H__
/***************************************************************************
* Global Includes *
***************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/param.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <sys/signal.h>
#include <netdb.h>
#include <time.h>
#ifdef STRICT_BSD
#include <sys/dir.h>
#define strchr index
#define strrchr rindex
#else
#include <dirent.h>
#endif
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Xresource.h>
#include <X11/Shell.h>
#ifndef NO_EDITRES
#include <X11/Xmu/Editres.h>
#endif
#include <Xm/Xm.h>
#include <Xm/Text.h>
#include <Xm/RowColumn.h>
#include <Xm/Separator.h>
#include <Xm/CascadeB.h>
#include <Xm/BulletinB.h>
#include <Xm/MenuShell.h>
#include <Xm/ToggleB.h>
#include <Xm/PushB.h>
#include <Xm/Label.h>
#include <Xm/Form.h>
#include <Xm/DialogS.h>
#include <Xm/TextF.h>
#include <Xm/List.h>
#include <Xm/PanedW.h>
#include <Xm/ScrollBar.h>
#include <Xm/Scale.h>
#include <Xm/Protocols.h>
#include "imap-4/c-client/mail.h"
#include "imap-4/c-client/misc.h"
#include "imap-4/c-client/smtp.h"
#include "imap-4/c-client/nntp.h"
#include "imap-4/c-client/rfc822.h"
#include "imap-4/c-client/fs.h"
#define SMTPSTREAM SENDSTREAM
#include "preferences.h"
#define Tool Widget
#include "structures.h"
extern FILE *popen(); /* don't ya' just hate it when they leave these out */
extern char *tmpnam();
#define strstr ML_Strstr /* override broken one on SunOS. Won't hurt others. */
/***************************************************************************
* Global definitions *
***************************************************************************/
#define PROGRAM "ML"
#define MLVERSION "3.4"
#define DEFAULTS_VERSION "3.4"
#define NO_DEFAULTS_VERSION "0.0"
#ifndef DEFAULT_LIBDIR
#define DEFAULT_LIBDIR "/usr/local/lib/ml"
#endif /* DEFAULT_LIBDIR */
/* Environment variables */
/* Call XtSetLanguageProc() if non-zero */
#define ML_SETLANG "ML_SETLANG"
/* hideous, actually...but don't tweak this unless to change the paths */
#define SPELL_COMMAND "/bin/spell %c%s > %s"
#define SPELL_SORT_COMMAND \
"/bin/touch %s; \
/bin/cat %s %s | /bin/sort | /bin/uniq > %s; \
/bin/mv %s %s; \
/bin/rm %s"
#define ISPELL_COMMAND "xterm -e ispell %s"
#define PATH_FORTUNE "/usr/games/fortune"
#define FORTUNE_CMD "/usr/games/fortune -s > %s"
#define ENCODING_REGEX "*=\\?*\\?[qQbB]\\?*\\?=*"
#define CONTINUE_REGEX "=\\?*\\?[qQbB]\\?*\\?=*"
#define MLNOTIFY 739 /* something the c-client probably won't use... */
/* IMAP flag strings */
#define DELETED_FLAG "\\Deleted"
#define SEEN_FLAG "\\Seen"
#define RECENT_FLAG "\\Recent"
#define FLAGGED_FLAG "\\Flagged"
#define ANSWERED_FLAG "\\Answered"
#define DRAFT_FLAG "\\Draft"
#define NIL_STR "NIL"
#define REFERENCES "References"
#define MAIL_BEHAVIOUR 0
#define NEWS_BEHAVIOUR 1
#define CC_BEHAVIOUR 0
#define BCC_BEHAVIOUR 1
#define LOAD_SUBSCRIBED 0
#define LOAD_UNSUBSCRIBED 1
#define DEFAULT_CURSOR 0
#define WATCH_CURSOR 1
#define PIRATE_CURSOR 2
#define SYSCALL_SUCCESS 0
#define SYSCALL_FAILURE (-1)
#define CONFIRM_OK_CANCEL 0
#define CONFIRM_YES_NO 1
#define STRMATCH 0
#define LISTMATCH 0
#define LISTNOMATCH 1
#define WILDMATCH 1
#define WILDNOMATCH 0
#define SUBSTRING 1
#define ROOTMENULEVEL 0
#define MODAL_LOOP_DONE 1
#define ARGLISTSIZE 32
#define FILEBUFFLEN 4096
#define MESSAGE_ID_LENGTH 256 /* length for sent Message-ID and date */
#define STATUSWIN_HEIGHT 5
#define AUTHSTR_WIDTH 32
#define CURRTIMESIZE 16
#define TABSIZE 8
#define COMPOSEWIDTH 80
#define VISIBLE_ATTACHMENTS 3
#define NUL_TERM '\0'
#define EMPTYSTR ""
#define PASSWORD_PATTERN 0x59
#define PASSWD_CHAR '*'
#define PASSWD_STR "*"
#define MAILBOXALLPATTERN "%"
#define MAILBOXDEFAULTPATTERN "*"
#define MAILBOXNONOPATTERN "/*"
#define NEWSNAMESTART "#news."
#define FILEALLPATTERN "*"
#define LFCHAR '\n'
#define LFSTR "\n"
#define CRCHAR '\r'
#define CRSTR "\r"
#define CRLFSTR "\r\n"
#define SPACECHAR ' '
#define SPACESTR " "
#define TABCHAR '\t'
#define TABSTR "\t"
#define COLONCHAR ':'
#define SEMICOLONCHAR ';'
#define PLUSCHAR '+'
#define PLUSSTR "+"
#define PATH_SEPARATOR_CHAR '/'
#define PATH_SEPARATOR_STR "/"
#define TYPE_SEPARATOR_CHAR '/'
#define TYPE_SEPARATOR_STR "/"
#define ROOTDIR_STR "/"
#define THISDIR_STR "."
#define PARENTDIR_STR ".."
#define COMMENT_CHAR '#'
#define EQUALSTR "="
#define EQUALCHAR '='
#define DQUOTECHAR '\"'
#define ACTION_SEPARATOR ';'
#define TEXT_TYPE_STR "text"
#define MULTI_TYPE_STR "multipart"
#define MESSAGE_TYPE_STR "message"
#define APPL_TYPE_STR "application"
#define AUDIO_TYPE_STR "audio"
#define IMAGE_TYPE_STR "image"
#define VIDEO_TYPE_STR "video"
#define OTHER_TYPE_STR "other"
#define URL_SIG_STR "://"
#define PART_ONE_STR "1"
#define HEADER_TAB_LEN 12
#define PLAINSUBTYPE "plain"
#define NOSUBTYPE "NO-SUBTYPE"
#define COMPOSETAG "$COMPOSE="
#define BLANK_STR " "
#define INBOX "INBOX"
#define LOGTIME_FMT "[%a %I:%M %p] "
#define CHECKMSG "Check completed"
#define NORMALSTR "normal"
#define VIEWLINE_FORMAT_STR \
"%F%T %D{%e-%b-%y %H:%M} %N{ }%M{»}%-20.20P %4L %S"
#define ATTRIBUTION_FORMAT_STR \
"%D{On %e-%b-%y at %H:%M}, %P (%A) wrote:"
#define LOGINREFRESH 10000 /* raise authwin if it's obscured */
#define DEFAULT_RESOURCE_STR EMPTYSTR
#define DEFAULT_CONFIG "default"
#define DEFAULT_PREFETCH "250"
#define DEFAULT_FETCH "20"
#define DEFAULT_RESOURCE_CHECK_INT "120"
#define DEFAULT_RESOURCE_NOTE_SAVE "300"
#define DEFAULT_RESOURCE_HEIGHT "14"
#define DEFAULT_BGTIME "10"
#define DEFAULT_NETCHECK "0"
#define DEFAULT_IMAPPORT_STR "143"
#define DEFAULT_IMAPPORT 143
#define DEFAULT_PREFIX "> "
#define CHARSET_STR "CHARSET"
#define US_ASCII_STR "US-ASCII"
#define X_HEADER_TITLE "X-Title:"
#define HEADER_FROM "From:"
#define HEADER_SENDER "Sender:"
#define HEADER_REPLY_TO "Reply-To:"
#define HEADER_TO "To:"
#define HEADER_NEWSGROUPS "Newsgroups:"
#define HEADER_SUBJECT "Subject:"
#define HEADER_CC "Cc:"
#define HEADER_BCC "Bcc:"
#define HEADER_IN_REPLY_TO "In-Reply-To:"
#define HEADER_MESSAGE_ID "Message-Id:"
#define HEADER_DATE "Date:"
#define HEADER_REFERENCES "References:"
#define MAILBOX_TYPE_MAIL 0
#define MAILBOX_TYPE_NEWS 1
#define DEFAULTEDITWRAPCOL_STR "72"
#define DEFAULTSTRIP_STR ">"
#define DEFAULTINSERT_STR "> "
#define DEFAULTHEADERS "from, to, newsgroups, subject, date"
#define DRAFT_FILEPAT "*.draft"
#define DRAFT_TEXT ".draft"
/* Local filenames used by program. */
#define MLDATADIR ".mldata"
#define PREFSFILE "prefs"
#define FILTERFILE "filters"
#define NOTEFILE "notebook"
#define SPELLSTOPFILE ".mldata/stoplist"
#define SPELLOUTFILE ".mldata/stoptemp"
#define SPELLJUNKFILE ".mldata/stopjunk"
#define OLDPREFSFILE ".mlprefs"
#define OLDNOTEFILE ".mlnotebook"
/*
* Filenames for MIME configuration under preferences.mime_dir
* (default is $LIBDIR). See mime.c for file format information.
*/
#define MIMETYPESFILE "mime.types" /* list of known MIME types */
#define MIMEMAPFILE "mime.map" /* file suffix to type map */
#define MIMEHANDLERFILE "mime.handlers" /* external viewer config */
#define MAINHELPFILE "mainhelp.help"
#define MAILBOXESHELPFILE "mailboxes.help"
#define ADDRESSBOOKHELPFILE "addressbook.help"
#define EDFILTERHELPFILE "filteredit.help"
#define EDFILTWINHELPFILE "filterwin.help"
#define AUTHENTICATEHELPFILE "authenticate.help"
#define SPELLHELPFILE "spellcheck.help"
#define HELPHELPFILE "gentext.help"
#define NOTEHELPFILE "notebook.help"
#define APPENDHELPFILE "fileoption.help"
#define FILEHELPFILE "fileselect.help"
#define COMPOSEHELPFILE "compose.help"
#define READWINDOWHELPFILE "readwin.help"
#define VIEWACTIONHELPFILE "action.help"
#define VIEWWINDOWHELPFILE "viewwin.help"
#define VIEWLISTHELPFILE "lviewlist.help"
#define KEYWORDHELPFILE "keyword.help"
#define KEYBOARDHELPFILE "keyboard.help"
#define VERSIONHELPFILE "release.help"
#define MIMEATTACHHELPFILE "attach.help"
#define MIMECOMPOSEHELPFILE "composeatt.help"
#define MIMEASKHELPFILE "mimeask.help"
#define SHOWURLHELPFILE "showurl.help"
#define PREFSHELPFILE "preferences.help"
#define PREFS2HELPFILE "preferences2.help"
#define RENAMEMAILBOXHELPFILE "mailrename.help"
#define SHELLCOMMANDHELPFILE "shcommand.help"
#define MIMEINFOHELPFILE "mimeinfo.help"
#define RESOURCESHELPFILE "resources.help"
#define PARAMSHELPFILE "params.help"
#define SEARCHREPHELPFILE "searchrep.help"
#define INTLHELPFILE "i18n.help"
#define ADDRTAKEHELPFILE "takeaddr.help"
#define TCPPORTHELPFILE "tcpport.help"
#define CONFIGHELPFILE "config.help"
#define COPTHELPFILE "compopts.help"
#define BEGIN_ADDRESS_STR "*--Begin Address Entries--*"
#define END_ADDRESS_STR "*--End Address Entries--*"
#define BEGIN_FILTER_STR "*--Begin Filter Entries--*"
#define END_FILTER_STR "*--End Filter Entries--*"
#define BEGIN_FILTER_MAP_STR "*--Begin Filter Map Entries--*"
#define END_FILTER_MAP_STR "*--End Filter Map Entries--*"
#define BEGIN_BUTTONS_STR "*--Begin Button Entries--*"
#define END_BUTTONS_STR "*--End Button Entries--*"
#define BEGIN_SERVERS_STR "*--Begin Server Entries--*"
#define END_SERVERS_STR "*--End Server Entries--*"
#define ML_DRAFT_HEADER "#-- ML SAVED DRAFT --#"
#define ENCODE_TYPE_SUBJECT 1
#define ENCODE_TYPE_ADDRESS 2
/**************************************************************************
* Global Variables *
**************************************************************************/
extern XtAppContext context; /* ml.c */
extern Preferences preferences; /* ml.c */
extern Local_Auth local_auth; /* ml.c */
extern Session *session; /* ml.c */
extern Display *display; /* ml.c */
extern Boolean silent_pipe; /* ml.c */
extern char MLSender[]; /* ml.c */
extern char MLMailbox[]; /* ml.c */
/* icon.c */
extern Pixmap ml_icon, read_icon, compose_icon, view_icon,
list_icon, addr_icon, note_icon, help_icon,
filt_icon, edit_icon, mbox_icon, pirate_icon;
extern String fallback_resources[]; /* resources.c */
extern char GLOBAL_text_translations[]; /* textfncs.c */
extern char GLOBAL_text_field_translations[]; /* textfncs.c */
extern char GLOBAL_nonterminal_text_field_translations[]; /* textfncs.c */
extern char GLOBAL_terminal_text_field_translations[]; /* textfncs.c */
extern char GLOBAL_modal_list_translations[]; /* textfncs.c */
extern char GLOBAL_lview_pop_translations[]; /* textfncs.c */
extern char GLOBAL_read_pop_translations[]; /* textfncs.c */
extern char GLOBAL_compose_pop_translations[]; /* textfncs.c */
extern char GLOBAL_filters_pop_translations[]; /* textfncs.c */
extern char GLOBAL_mailboxes_pop_translations[]; /* textfncs.c */
extern char GLOBAL_mailcopy_pop_translations[]; /* textfncs.c */
extern char GLOBAL_addresses_pop_translations[]; /* textfncs.c */
extern char GLOBAL_prefs_pop_translations[]; /* textfncs.c */
extern char GLOBAL_opts_pop_translations[]; /* textfncs.c */
extern char GLOBAL_copts_pop_translations[]; /* textfncs.c */
extern char GLOBAL_netconf_pop_translations[]; /* textfncs.c */
extern char GLOBAL_note_pop_translations[]; /* textfncs.c */
extern char GLOBAL_help_pop_translations[]; /* textfncs.c */
extern char GLOBAL_messages_pop_translations[]; /* textfncs.c */
extern char GLOBAL_button_translations[]; /* textfncs.c */
extern char last_notify_string[]; /* imapfncs.c */
extern MAILSTREAM *last_notify_stream; /* imapfncs.c */
extern Filename_Map *external_filename_map; /* mime.c */
extern Mime_Type *mime_types; /* mime.c */
extern Cursor clock_cursor; /* winfuncs.c */
extern Cursor top_left_cursor; /* winfuncs.c */
extern Cursor pirate_cursor; /* winfuncs.c */
extern void _XEditResCheckMessages(); /* Xmu/Editres.h */
/**************************************************************************
* Now include our function prototypes *
* We do this last so that all of the types will have been defined *
**************************************************************************/
#include "prototypes.h"
#endif /* __ML_H__ */
syntax highlighted by Code2HTML, v. 0.9.1