home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume6 / elm / part04 / hdrs / headers.h < prev    next >
Encoding:
C/C++ Source or Header  |  1986-11-30  |  5.0 KB  |  121 lines

  1. /**        headers.h        **/
  2.  
  3. /**  header file for ELM mail system.  **/
  4.  
  5. /**  (C) Copyright 1985, Dave Taylor   **/
  6.  
  7. #include <stdio.h>
  8. #include <fcntl.h>
  9.  
  10. #include "curses.h"
  11. #include "defs.h"
  12.  
  13. /******** global variables accessable by all pieces of the program *******/
  14.  
  15. extern int current;        /* current message number  */
  16. extern int header_page;         /* current header page     */
  17. extern int last_header_page;    /* last header page        */
  18. extern int message_count;    /* max message number      */
  19. extern int headers_per_page;    /* number of headers/page  */
  20. extern char infile[SLEN];    /* name of current mailbox */
  21. extern char hostname[SLEN];    /* name of machine we're on*/
  22. extern char username[SLEN];    /* return address name!    */
  23. extern char full_username[SLEN];/* Full username - gecos   */
  24. extern char home[SLEN];        /* home directory of user  */
  25. extern char folders[SLEN];    /* folder home directory   */
  26. extern char mailbox[SLEN];    /* mailbox name if defined */
  27. extern char editor[SLEN];    /* default editor for mail */
  28. extern char printout[SLEN];    /* how to print messages   */
  29. extern char savefile[SLEN];    /* name of file to save to */
  30. extern char calendar_file[SLEN];/* name of file for clndr  */
  31. extern char prefixchars[SLEN];    /* prefix char(s) for msgs */
  32. extern char shell[SLEN];    /* default system shell    */
  33. extern char pager[SLEN];    /* what pager to use...    */
  34. extern char batch_subject[SLEN];/* subject buffer for batchmail */
  35.  
  36. extern char backspace,        /* the current backspace char  */
  37.         kill_line;        /* the current kill_line char  */
  38.  
  39. extern char up[SHORT], 
  40.         down[SHORT];    /* cursor control seq's    */
  41. extern int  cursor_control;    /* cursor control avail?   */
  42.  
  43. extern char start_highlight[SHORT],
  44.         end_highlight[SHORT];  /* standout mode... */
  45.  
  46. extern int  has_highlighting;    /* highlighting available? */
  47.  
  48. /** the following two are for arbitrary weedout lists.. **/
  49.  
  50. extern char *weedlist[MAX_IN_WEEDLIST];
  51. extern int  weedcount;        /* how many headers to check?        */
  52.  
  53. extern int  file_changed;    /* flag: true iff infile changed      */
  54. extern int  mini_menu;        /* flag: display menu?               */
  55. extern int  mbox_specified;     /* flag: specified alternate mailbox? */
  56. extern int  check_first;    /* flag: verify mail to be sent!      */
  57. extern int  auto_copy;        /* flag: auto copy source into reply? */
  58. extern int  filter;        /* flag: weed out header lines?          */
  59. extern int  resolve_mode;    /* flag: resolve before moving mode?  */
  60. extern int  auto_cc;        /* flag: mail copy to yourself?       */
  61. extern int  noheader;        /* flag: copy + header to file?       */
  62. extern int  title_messages;    /* flag: title message display?       */
  63. extern int  edit_outbound;    /* flag: edit outbound headers?       */
  64. extern int  read_aliases;    /* flag: read in alias files??          */
  65. extern int  hp_terminal;    /* flag: are we on an hp terminal?    */
  66. extern int  hp_softkeys;    /* flag: are there softkeys?          */
  67. extern int  save_by_name;      /* flag: save mail by login name?     */
  68. extern int  notesfile;        /* flag: is input file from notes?    */
  69. extern int  mail_only;        /* flag: send mail then leave?        */
  70. extern int  check_only;        /* flag: check aliases and leave?     */
  71. extern int  move_when_paged;    /* flag: move when '+' or '-' used?   */
  72. extern int  point_to_new;    /* flag: start pointing at new msgs?  */
  73. extern int  bounceback;        /* flag: bounce copy off remote?      */
  74. extern int  signature;        /* flag: include $home/.signature?    */
  75. extern int  always_leave;    /* flag: always leave mail pending?   */
  76. extern int  always_del;        /* flag: always delete marked msgs?   */
  77. extern int  arrow_cursor;    /* flag: use "->" regardless?          */
  78. extern int  debug;        /* flag: debugging mode on?           */
  79.  
  80. #ifdef UTS
  81. extern int  isatube;        /* flag: are we on an IBM 3270 tube?  */
  82. #endif
  83.  
  84. extern int  sortby;        /* how to sort mailboxes          */
  85.  
  86. extern long timeout;        /* seconds for main level timeout     */
  87.  
  88. extern int mailbox_defined;    /** specified mailbox?  **/
  89.  
  90. extern int LINES;        /** lines per screen    **/
  91. extern int COLUMNS;        /** columns per line    **/
  92.  
  93. extern int size_of_pathfd;    /** size of pathfile, 0 if none **/
  94.  
  95. extern FILE *mailfile;        /* current mailbox file     */
  96. extern FILE *debugfile;        /* file for debut output    */
  97. extern FILE *pathfd;        /* path alias file          */
  98. extern FILE *domainfd;        /* domains file         */
  99.  
  100. extern long mailfile_size;    /* size of current mailfile */
  101.  
  102. extern struct header_rec header_table[MAX_HEADERS];
  103.  
  104. extern struct alias_rec user_hash_table  [MAX_UALIASES];
  105. extern struct alias_rec system_hash_table[MAX_SALIASES];
  106.  
  107. extern struct date_rec last_read_mail;
  108.  
  109. extern struct lsys_rec *talk_to_sys;    /* who do we talk to? */
  110.  
  111. extern struct addr_rec *alternative_addresses;    /* how else do we get mail? */
  112.  
  113. extern int system_files;    /* do we have system aliases? */
  114. extern int user_files;        /* do we have user aliases?   */
  115.  
  116. extern int system_data;        /* fileno of system data file */
  117. extern int user_data;        /* fileno of user data file   */
  118.  
  119. extern int userid;        /* uid for current user          */
  120. extern int groupid;        /* groupid for current user   */
  121.