]> diplodocus.org Git - nmh/blob - docs/historical/SRI-NOSC/mh.h
Added start_test/finish_test to a bunch of tests.
[nmh] / docs / historical / SRI-NOSC / mh.h
1 #define TRUE 1
2 #define FALSE 0
3
4 #define ALL ""
5
6 #define MAXARGS 152 /* Max messages to exec */
7
8 #define EXISTS 01 /* existing msg msgstat bit - may be del or undel */
9 #define DELETED 02 /* msg has been deleted */
10 #define UNDELETED 04 /* msg is not deleted */
11 #define SELECTED 010 /* Message selected by an arg */
12
13 #define READONLY 01 /* No write access to folder */
14 #define DEFMOD 01 /* In-core profile has been modified */
15
16 /*#define NEWS 1 /* Define for news inclusion */
17 #define PROMPT 1 /* Use prompter in compose, etc */
18
19 struct swit {
20 char *sw;
21 int minchars;
22 };
23
24 /*
25 * m_gmsg() returns this structure. It contains the per folder
26 * information which is obtained from reading the folder directory.
27 */
28
29 struct msgs {
30 int hghmsg; /* Highest msg in directory */
31 int nummsg; /* Actual Number of msgs */
32 int lowmsg; /* Lowest msg number */
33 int curmsg; /* Number of current msg if any */
34 int lowsel; /* Lowest selected msg number */
35 int hghsel; /* Highest selected msg number */
36 int numsel; /* Number of msgs selected */
37 char *foldpath; /* Pathname of folder */
38 char selist, /* Folder has a "select" file */
39 msgflags, /* Folder status bits */
40 filler,
41 others; /* Folder has other file(s) */
42 char msgstats[]; /* Stat bytes for each msg */
43 };
44
45 /* m_getfld definitions and return values */
46
47 #define NAMESZ 64 /* Limit on component name size */
48 #define LENERR -2 /* Name too long error from getfld */
49 #define FMTERR -3 /* Message Format error */
50
51 /* m_getfld return codes */
52 #define FLD 0 /* Field returned */
53 #define FLDPLUS 1 /* Field " with more to come */
54 #define FLDEOF 2 /* Field " ending at eom */
55 #define BODY 3 /* Body " with more to come */
56 #define BODYEOF 4 /* Body " ending at eom */
57 #define FILEEOF 5 /* Reached end of input file */
58
59 #ifdef COMMENT /* Commented out to reduce space */
60 /*
61 * These standard strings are defined in strings.c. They are the
62 * only system-dependent parameters in MH, and thus by redefining
63 * their values in strings.c and reloading the various modules, MH
64 * will run on any system.
65 */
66
67 char mailbox[], /* Std incoming mail file (.mail) */
68 draft[], /* Name of the normal draft file */
69 defalt[], /* Name of the std folder (inbox) */
70 components[], /* Name of user's component file (in mh dir) */
71 stdcomps[], /* Std comp file if missing user's own */
72 sndproc[], /* Path of the send message program */
73 showproc[], /* Path of the type (l) program */
74 scanproc[], /* Path of the scan program */
75 prproc[], /* Path of the pr program */
76 lsproc[], /* Path of the Harvard ls program */
77 sbmitloc[], /* Path of the submit program */
78 sbmitnam[], /* Name of submit program */
79 mypath[], /* User's log-on path */
80 sysed[], /* Path of the std (ned) editor */
81 msgprot[], /* Default message protection (s.a. 0664) */
82 foldprot[], /* Default folder protection " */
83 listname[], /* Default selection list folder name */
84 mhnews[]; /* Name of MH news file */
85 #endif
86
87 /*
88 * node structure used to hold a linked list of the users profile
89 * information taken from logpath/.mh_defs.
90 */
91
92 struct node {
93 struct node *n_next;
94 char *n_name,
95 *n_field;
96 } *m_defs;
97
98 char def_flags;
99
100
101 /*
102 * The first char in the mhnews file indicates whether the program
103 * calling m_news() should continue running or halt.
104 */
105
106 #define NEWSHALT '!' /* Halt after showing the news */
107 #define NEWSCONT ' ' /* Continue (ditto) */
108 #define NEWSPAUSE '\001' /* Pause during news output... */