home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
com
/
utils
/
elm
/
sources
/
elm.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-10-04
|
8KB
|
186 lines
/* $Id: elm.h,v 4.1.1.1 90/10/24 15:31:24 syd Exp $ */
/*******************************************************************************
* The Elm Mail System - $Revision: 4.1.1.1 $ $State: Exp $
*
* Copyright (c) 1986, 1987 Dave Taylor
* Copyright (c) 1988, 1989, 1990 USENET Community Trust
*******************************************************************************
* Bug reports, patches, comments, suggestions should be sent to:
*
* Syd Weinstein, Elm Coordinator
* elm@DSI.COM dsinc!elm
*
*******************************************************************************
* $Log: elm.h,v $
* Revision 4.1.1.1 90/10/24 15:31:24 syd
* Remove variables no longer used
* From: W. David Higgins
*
* Revision 4.1 90/04/28 22:42:08 syd
* checkin of Elm 2.3 as of Release PL0
*
*
******************************************************************************/
/** Main header file for ELM mail system. **/
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include "../hdrs/curses.h"
#include "../hdrs/defs.h"
#if defined(BSD) || defined(OS2)
#include <setjmp.h>
#endif
/******** static character string containing the version number *******/
static char ident[] = { WHAT_STRING };
/******** and another string for the copyright notice ********/
static char copyright[] = {
"@(#) (C) Copyright 1986, 1987, Dave Taylor\n@(#) (C) Copyright 1988, 1989, 1990, The Usenet Community Trust\n" };
/******** global variables accessable by all pieces of the program *******/
int check_size = 0; /* don't start mailer if no mail */
int current = 0; /* current message number */
int header_page = 0; /* current header page */
int last_header_page = -1; /* last header page */
int message_count = 0; /* max message number */
int headers_per_page; /* number of headers/page */
int original_umask = 0; /* original umask, for restore before subshell */
int sendmail_verbose = 0; /* Extended mail debugging */
int no_save = 0; /* Do not save outgoing mail */
int mmdf_strict = 0; /* Strict MMDF mailbox scanning */
char cur_folder[SLEN]; /* name of current folder */
char cur_tempfolder[SLEN]; /* name of temp folder open for a mailbox */
char defaultfile[SLEN]; /* name of default folder */
char temp_dir[SLEN] = {0}; /* name of temp directory */
char hostname[SLEN]; /* name of machine we're on*/
char hostdomain[SLEN]; /* name of domain we're in */
char hostfullname[SLEN]; /* name of FQDN we're in */
char username[SLEN]; /* return address name! */
char full_username[SLEN]; /* Full username - gecos */
char home[SLEN]; /* home directory of user */
char folders[SLEN]; /* folder home directory */
char raw_folders[SLEN]; /* unexpanded folder home directory */
char recvd_mail[SLEN]; /* folder for storing received mail */
char raw_recvdmail[SLEN]; /* unexpanded recvd_mail name */
char editor[SLEN]; /* editor for outgoing mail*/
char raw_editor[SLEN]; /* unexpanded editor for outgoing mail*/
char alternative_editor[SLEN]; /* alternative editor... */
char printout[SLEN]; /* how to print messages */
char raw_printout[SLEN]; /* unexpanded how to print messages */
char sent_mail[SLEN]; /* name of file to save copies to */
char raw_sentmail[SLEN]; /* unexpanded name of file to save to */
char calendar_file[SLEN]; /* name of file for clndr */
char raw_calendar_file[SLEN]; /* unexpanded name of file for clndr */
char attribution[SLEN]; /* attribution string for replies */
char prefixchars[SLEN] = "> "; /* prefix char(s) for msgs */
char shell[SLEN]; /* current system shell */
char raw_shell[SLEN]; /* unexpanded current system shell */
char pager[SLEN]; /* what pager to use */
char raw_pager[SLEN]; /* unexpanded what pager to use */
char batch_subject[SLEN]; /* subject buffer for batchmail */
char local_signature[SLEN]; /* local msg signature file */
char raw_local_signature[SLEN]; /* unexpanded local msg signature file */
char remote_signature[SLEN]; /* remote msg signature file */
char raw_remote_signature[SLEN];/* unexpanded remote msg signature file */
char version_buff[SLEN]; /* version buffer */
char backspace, /* the current backspace char */
escape_char = TILDE_ESCAPE,/* '~' or something else.. */
kill_line; /* the current kill-line char */
char up[SHORT], down[SHORT], /* cursor control seq's */
left[SHORT], right[SHORT];
int cursor_control = FALSE; /* cursor control avail? */
int has_highlighting = FALSE; /* highlighting available? */
char *weedlist[MAX_IN_WEEDLIST];
int weedcount;
int allow_forms = NO; /* flag: are AT&T Mail forms okay? */
int mini_menu = 1; /* flag: menu specified? */
int prompt_after_pager = 1; /* flag: prompt after pager exits */
int folder_type = 0; /* flag: type of folder */
int auto_copy = 0; /* flag: automatically copy source? */
int filter = 1; /* flag: weed out header lines? */
int resolve_mode = 1; /* flag: delete saved mail? */
int auto_cc = 0; /* flag: mail copy to user? */
int noheader = 1; /* flag: copy + header to file? */
int title_messages = 1; /* flag: title message display? */
int forwarding = 0; /* flag: are we forwarding the msg? */
int hp_terminal = 0; /* flag: are we on HP term? */
int hp_softkeys = 0; /* flag: are there softkeys? */
int save_by_name = 1; /* flag: save mail by login name? */
int force_name = 0; /* flag: save by name forced? */
int mail_only = 0; /* flag: send mail then leave? */
int check_only = 0; /* flag: check aliases then leave? */
int batch_only = 0; /* flag: send without prompting? */
int move_when_paged = 0; /* flag: move when '+' or '-' used? */
int point_to_new = 1; /* flag: start pointing at new msg? */
int bounceback = 0; /* flag: bounce copy off remote? */
int always_keep = 1; /* flag: always keep unread msgs? */
int always_store = 0; /* flag: always store read msgs? */
int always_del = 0; /* flag: always delete marked msgs? */
int arrow_cursor = 0; /* flag: use "->" cursor regardless?*/
int debug = 0; /* flag: default is no debug! */
int warnings = 1; /* flag: output connection warnings?*/
int user_level = 0; /* flag: how good is the user? */
int selected = 0; /* flag: used for select stuff */
int names_only = 1; /* flag: display user names only? */
int question_me = 1; /* flag: ask questions as we leave? */
int keep_empty_files = 0; /* flag: leave empty folder files? */
int clear_pages = 0; /* flag: act like "page" (more -c)? */
int prompt_for_cc = 1; /* flag: ask user for "cc:" value? */
int sig_dashes = 1; /* flag: include dashes above sigs? */
int sortby = REVERSE SENT_DATE; /* how to sort incoming mail... */
long timeout = 600L; /* timeout (secs) on main prompt */
/** set up some default values for a 'typical' terminal *snicker* **/
int LINES=23; /** lines per screen **/
int COLUMNS=80; /** columns per page **/
long size_of_pathfd; /** size of pathfile, 0 if none **/
FILE *mailfile; /* current folder */
FILE *debugfile; /* file for debug output */
FILE *pathfd; /* path alias file */
FILE *domainfd; /* domain file */
long mailfile_size; /* size of current mailfile */
int max_headers; /* number of headers allocated */
struct header_rec **headers; /* array of header structure pointers */
struct alias_rec user_hash_table[MAX_UALIASES];
struct alias_rec system_hash_table[MAX_SALIASES];
struct lsys_rec *talk_to_sys = NULL; /* what machines do we talk to? */
struct addr_rec *alternative_addresses; /* how else do we get mail? */
int system_data = -1; /* fileno of system data file */
int user_data = -1; /* fileno of user data file */
int userid; /* uid for current user */
int groupid; /* groupid for current user */
#if defined(BSD) || defined(OS2)
jmp_buf GetPromptBuf; /* setjmp buffer */
int InGetPrompt; /* set if in GetPrompt() in read() */
#endif