home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / com / utils / elm / sources / headers.h < prev    next >
C/C++ Source or Header  |  1992-10-04  |  9KB  |  186 lines

  1.  
  2. /* $Id: headers.h,v 4.1.1.1 90/10/24 15:33:07 syd Exp $ */
  3.  
  4. /*******************************************************************************
  5.  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
  6.  *
  7.  *             Copyright (c) 1986, 1987 Dave Taylor
  8.  *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  9.  *******************************************************************************
  10.  * Bug reports, patches, comments, suggestions should be sent to:
  11.  *
  12.  *    Syd Weinstein, Elm Coordinator
  13.  *    elm@DSI.COM            dsinc!elm
  14.  *
  15.  *******************************************************************************
  16.  * $Log:    headers.h,v $
  17.  * Revision 4.1.1.1  90/10/24  15:33:07  syd
  18.  * Remove variables no longer used
  19.  * From: W. David Higgins
  20.  *
  21.  * Revision 4.1  90/04/28  22:42:11  syd
  22.  * checkin of Elm 2.3 as of Release PL0
  23.  *
  24.  *
  25.  ******************************************************************************/
  26.  
  27. /**  This is the header file for ELM mail system.  **/
  28.  
  29.  
  30. #include <stdio.h>
  31. #include <fcntl.h>
  32.  
  33. #include "curses.h"
  34. #include "defs.h"
  35.  
  36. #ifdef OS2
  37. #include "../os2/os2elm.h"
  38. #include <setjmp.h>
  39. #endif
  40.  
  41. #ifdef    BSD
  42. #include <setjmp.h>
  43. #endif
  44.  
  45. #ifndef       clearerr
  46. #define       clearerr(p)     (void)((p)->_flag &= ~(_IOERR|_IOEOF))
  47. #endif
  48.  
  49. /******** global variables accessable by all pieces of the program *******/
  50.  
  51. extern int check_size;        /* don't start mailer if no mail */
  52. extern int current;        /* current message number  */
  53. extern int header_page;         /* current header page     */
  54. extern int last_header_page;    /* last header page        */
  55. extern int message_count;    /* max message number      */
  56. extern int headers_per_page;    /* number of headers/page  */
  57. extern int original_umask;    /* original umask, for restore before subshell */
  58. extern int sendmail_verbose;    /* Allow extended debugging on sendmail */
  59. extern int no_save;        /* Do not save outgoing mail */
  60. extern int mmdf_strict;        /* Strict MMDF mailbox scanning */
  61. extern char cur_folder[SLEN];    /* name of current folder */
  62. extern char cur_tempfolder[SLEN]; /* name of temp folder open for a mailbox */
  63. extern char defaultfile[SLEN];    /* name of default folder */
  64. extern char temp_dir[SLEN];     /* name of temp directory */
  65. extern char hostname[SLEN];    /* name of machine we're on*/
  66. extern char hostdomain[SLEN];    /* name of domain we're in */
  67. extern char hostfullname[SLEN]; /* name of FQDN we're in */
  68. extern char username[SLEN];    /* return address name!    */
  69. extern char full_username[SLEN];/* Full username - gecos   */
  70. extern char home[SLEN];        /* home directory of user  */
  71. extern char folders[SLEN];    /* folder home directory   */
  72. extern char raw_folders[SLEN];    /* unexpanded folder home directory   */
  73. extern char recvd_mail[SLEN];    /* folder for storing received mail    */
  74. extern char raw_recvdmail[SLEN];/* unexpanded recvd_mail name */
  75. extern char editor[SLEN];    /* default editor for mail */
  76. extern char raw_editor[SLEN];    /* unexpanded default editor for mail */
  77. extern char alternative_editor[SLEN];/* the 'other' editor */
  78. extern char printout[SLEN];    /* how to print messages   */
  79. extern char raw_printout[SLEN];    /* unexpanded how to print messages   */
  80. extern char sent_mail[SLEN];    /* name of file to save copies to */
  81. extern char raw_sentmail[SLEN];    /* unexpanded name of file to save to */
  82. extern char calendar_file[SLEN];/* name of file for clndr  */
  83. extern char raw_calendar_file[SLEN];/* unexpanded name of file for clndr  */
  84. extern char attribution[SLEN];  /* attribution string for replies     */
  85. extern char prefixchars[SLEN];    /* prefix char(s) for msgs */
  86. extern char shell[SLEN];    /* default system shell    */
  87. extern char raw_shell[SLEN];    /* unexpanded default system shell    */
  88. extern char pager[SLEN];    /* what pager to use...    */
  89. extern char raw_pager[SLEN];    /* unexpanded what pager to use...    */
  90. extern char batch_subject[SLEN];/* subject buffer for batchmail */
  91. extern char local_signature[SLEN];/* local msg signature file   */
  92. extern char raw_local_signature[SLEN];/* unexpanded local msg signature file */
  93. extern char remote_signature[SLEN];/* remote msg signature file */
  94. extern char raw_remote_signature[SLEN];/* unexpanded remote msg signature file*/
  95.  
  96. extern char backspace,        /* the current backspace char  */
  97.         escape_char,    /* '~' or something else...    */
  98.         kill_line;        /* the current kill_line char  */
  99.  
  100. extern char up[SHORT],
  101.         down[SHORT],
  102.         left[SHORT],
  103.         right[SHORT];    /* cursor control seq's    */
  104. extern int  cursor_control;    /* cursor control avail?   */
  105.  
  106. extern int  has_highlighting;    /* highlighting available? */
  107.  
  108. /** the following two are for arbitrary weedout lists.. **/
  109.  
  110. extern char *weedlist[MAX_IN_WEEDLIST];
  111. extern int  weedcount;        /* how many headers to check?        */
  112.  
  113. extern int  allow_forms;    /* flag: are AT&T Mail forms okay?    */
  114. extern int  prompt_after_pager;    /* flag: prompt after pager exits     */
  115. extern int  mini_menu;        /* flag: display menu?               */
  116. extern int  folder_type;    /* flag: type of folder              */
  117. extern int  auto_copy;        /* flag: auto copy source into reply? */
  118. extern int  filter;        /* flag: weed out header lines?          */
  119. extern int  resolve_mode;    /* flag: resolve before moving mode?  */
  120. extern int  auto_cc;        /* flag: mail copy to yourself?       */
  121. extern int  noheader;        /* flag: copy + header to file?       */
  122. extern int  title_messages;    /* flag: title message display?       */
  123. extern int  forwarding;        /* flag: are we forwarding the msg?   */
  124. extern int  hp_terminal;    /* flag: are we on an hp terminal?    */
  125. extern int  hp_softkeys;    /* flag: are there softkeys?          */
  126. extern int  save_by_name;      /* flag: save mail by login name?     */
  127. extern int  force_name;        /* flag: save by name forced?          */
  128. extern int  mail_only;        /* flag: send mail then leave?        */
  129. extern int  check_only;        /* flag: check aliases and leave?     */
  130. extern int  batch_only;        /* flag: send without prompting?      */
  131. extern int  move_when_paged;    /* flag: move when '+' or '-' used?   */
  132. extern int  point_to_new;    /* flag: start pointing at new msgs?  */
  133. extern int  bounceback;        /* flag: bounce copy off remote?      */
  134. extern int  always_keep;    /* flag: always keep unread msgs?     */
  135. extern int  always_store;    /* flag: always store read mail?      */
  136. extern int  always_del;        /* flag: always delete marked msgs?   */
  137. extern int  arrow_cursor;    /* flag: use "->" regardless?          */
  138. extern int  debug;        /* flag: debugging mode on?           */
  139. extern int  warnings;        /* flag: output connection warnings?  */
  140. extern int  user_level;        /* flag: how knowledgable is user?    */
  141. extern int  selected;        /* flag: used for select stuff        */
  142. extern int  names_only;        /* flag: display names but no addrs?  */
  143. extern int  question_me;    /* flag: ask questions as we leave?   */
  144. extern int  keep_empty_files;    /* flag: keep empty files??          */
  145. extern int  clear_pages;    /* flag: clear screen w/ builtin pgr? */
  146. extern int  prompt_for_cc;    /* flag: prompt user for 'cc' value?  */
  147. extern int  sig_dashes;        /* flag: put dashes above signature?  */
  148.  
  149. extern int  sortby;        /* how to sort folders          */
  150.  
  151. extern long timeout;        /* seconds for main level timeout     */
  152.  
  153. extern int LINES;        /** lines per screen    **/
  154. extern int COLUMNS;        /** columns per line    **/
  155.  
  156. extern long size_of_pathfd;    /** size of pathfile, 0 if none **/
  157.  
  158. extern FILE *mailfile;        /* current folder         */
  159. extern FILE *debugfile;        /* file for debut output    */
  160. extern FILE *pathfd;        /* path alias file          */
  161. extern FILE *domainfd;        /* domains file         */
  162.  
  163. extern long mailfile_size;    /* size of current mailfile */
  164.  
  165. extern int  max_headers;    /* number of headers currently allocated */
  166.  
  167. extern struct header_rec **headers; /* array of header structure pointers */
  168.  
  169. extern struct alias_rec user_hash_table  [MAX_UALIASES];
  170. extern struct alias_rec system_hash_table[MAX_SALIASES];
  171.  
  172. extern struct lsys_rec *talk_to_sys;    /* who do we talk to? */
  173.  
  174. extern struct addr_rec *alternative_addresses;    /* how else do we get mail? */
  175.  
  176. extern int system_data;        /* fileno of system data file */
  177. extern int user_data;        /* fileno of user data file   */
  178.  
  179. extern int userid;        /* uid for current user          */
  180. extern int groupid;        /* groupid for current user   */
  181.  
  182. #if defined(BSD) || defined(OS2)
  183. extern jmp_buf GetPromptBuf;    /* setjmp buffer */
  184. extern int InGetPrompt;        /* set if in GetPrompt() in read() */
  185. #endif
  186.