home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / duucp-1.17 / AU-117b4-src.lha / src / dmail / dmail.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-29  |  2.8 KB  |  106 lines

  1. /*
  2.  * DMAIL.H
  3.  *
  4.  *  (C) Copyright 1985-1990 by Matthew Dillon,    All Rights Reserved.
  5.  *
  6.  */
  7.  
  8. #ifdef AMIGA
  9. #include "protos.h"
  10. #endif
  11.  
  12. #include <time.h>
  13.  
  14. #define Prototype   extern
  15. #define Local        static
  16.  
  17. #include "dmail_protos.h"
  18.  
  19. #ifndef __STDC__
  20. #define volatile
  21. #define const
  22. #endif
  23.  
  24. typedef unsigned char ubyte;
  25.  
  26. #define DVERSION     "DMail Version 1.16, January, 1994"
  27. #define MAXTYPE      16     /* Max number of different fields remembered     */
  28. #define EXSTART      5        /* Beginning of dynamic fields, rest are wired   */
  29. #define MAXLIST      16     /* Maximum # list elements in SETLIST         */
  30. #define LONGSTACK    64     /* Maximum # levels for the longjump stack         */
  31. #define MAILMODE     0600   /* Standard mail mode for temp. files         */
  32. #define MAXFIELDSIZE 4096   /* Maximum handlable field size (& scratch bufs) */
  33.  
  34. #define LEVEL_SET    0        /* which variable set to use             */
  35. #define LEVEL_ALIAS  1
  36. #define LEVEL_MALIAS 2
  37.  
  38. #define R_INCLUDE   1        /* Include message        For DO_REPLY()  */
  39. #define R_FORWARD   2        /* Forward message        */
  40. #define R_REPLY     3        /* Reply to message     */
  41. #define R_MAIL        4        /* Mail from scratch    */
  42. #define R_FWDINCL   5        /* Forward message with commentary (CAW) */
  43.  
  44. #define M_RESET     0
  45. #define M_CONT        1
  46.  
  47. #define PAGER(Puf)    _pager(Puf, 1)        /* Auto newline */
  48. #define FPAGER(Puf)    _pager(Puf, 0)        /* output as is */
  49. #define push_base()    (setjmp (env[1 + Longstack]) ? 1 : (++Longstack, 0))
  50. #define pop_base()    --Longstack
  51. #define push_break()    ++Breakstack
  52. #define pop_break()    --Breakstack
  53.  
  54. #define isfrom(str)    ((str) [0] == 'F' && strncmp ((str) + 1, "rom ", 4) == 0)
  55.  
  56. #define ST_DELETED  0x0001  /* Status flag.. item has been deleted  */
  57. #define ST_READ     0x0002  /* item has been read or marked        */
  58. #define ST_STORED   0x0010  /* item has been written            */
  59. #define ST_TAG        0x0020  /* item has been taged            */
  60. #define ST_SCR        0x0080  /* scratch flag to single out messages  */
  61.  
  62. #include <stdio.h>
  63. #include <stdlib.h>
  64. #include <setjmp.h>
  65.  
  66. struct ENTRY {
  67.     long fpos;
  68.     int  no;
  69.     int  status;
  70.     char *from;
  71.     char *fields[MAXTYPE];
  72. };
  73.  
  74. struct FIND {
  75.     char *search;
  76.     int  len;
  77.     int  notnew;
  78.     int  age;
  79. };
  80.  
  81. extern char *mail_file;
  82. extern char *user_name;
  83. extern char *output_file;
  84. extern char *home_dir;
  85. extern char *visual;
  86. extern char Buf[];
  87. extern char Puf[];
  88. extern char *av[], *Nulav[3];
  89. extern int  Longstack, Breakstack;
  90. extern int  XDebug;
  91. extern int  Entries, Current;
  92. extern int  Silence;
  93. extern int  ac;
  94. extern FILE *m_fi;
  95. extern struct ENTRY *Entry;
  96. extern struct FIND  Find[];
  97. extern jmp_buf env[];
  98.  
  99. extern int width[], header[], Listsize;
  100. extern int No_load_mail, XDisable, Did_cd;
  101. extern int SelAll;
  102.  
  103. extern char *S_sendmail;
  104. extern int S_page, S_novibreak, S_verbose, S_ask, S_archive;
  105. extern int lmessage_overide;
  106.