annotate h/mh.h @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children 442dbbf0ac7d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 /* mh.h - main header file for all of MH */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 /* @(#)$Id$ */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
3
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5 /* Well-used constants */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 #define NOTOK (-1) /* syscall()s return this on error */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 #define OK 0 /* ditto on success */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9 #define DONE 1 /* trinary logic */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 #define ALL ""
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11 #define NULLCP ((char *) 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12 #define NULLVP ((char **) 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 #define Nbby 8 /* number of bits/byte */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 #define MAXARGS 1000 /* max arguments to exec */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 #ifndef NFOLDERS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 #define NFOLDERS 1000 /* max folder arguments on command line */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 #ifndef UCI
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 #define MAXFOLDER 1000 /* message increment */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23 #else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 #define MAXFOLDER 1500 /* message increment */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 #define DMAXFOLDER 4 /* typical number of digits */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 #if (!defined(BSD42) && !defined(BSD41A) && !defined(VMUNIX) && !defined(hpux)) || defined(_AIX)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 #define vfork fork
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30 #endif /* not BSD */ /* how sad... */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34 /* profile structure */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 struct node {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 char *n_name; /* key */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38 char *n_field; /* value */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40 char n_context; /* context, not profile */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42 struct node *n_next; /* next entry */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43 };
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46 /* switches structure */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48 #define AMBIGSW (-2) /* from smatch() on ambiguous switch */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49 #define UNKWNSW (-1) /* ditto on unknown switch */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 struct swit {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52 char *sw;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 int minchars;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 };
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55
bce86c4163a3 Initial revision
kono
parents:
diff changeset
56 extern struct swit anoyes[]; /* standard yes/no switches */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
57
bce86c4163a3 Initial revision
kono
parents:
diff changeset
58
bce86c4163a3 Initial revision
kono
parents:
diff changeset
59 /* messages structure */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
60
bce86c4163a3 Initial revision
kono
parents:
diff changeset
61 struct msgs {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
62 int hghmsg; /* Highest msg in directory */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
63 int nummsg; /* Actual Number of msgs */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
64 int lowmsg; /* Lowest msg number */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
65 int curmsg; /* Number of current msg if any */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
66
bce86c4163a3 Initial revision
kono
parents:
diff changeset
67 int lowsel; /* Lowest selected msg number */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
68 int hghsel; /* Highest selected msg number */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
69 int numsel; /* Number of msgs selected */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
70
bce86c4163a3 Initial revision
kono
parents:
diff changeset
71 char *foldpath; /* Pathname of folder */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
72
bce86c4163a3 Initial revision
kono
parents:
diff changeset
73 int msgflags; /* Folder status bits */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
74 #ifndef MTR
bce86c4163a3 Initial revision
kono
parents:
diff changeset
75 char pad1[sizeof (int) - sizeof (char)];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
76 #endif /* not MTR */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
77 #define READONLY 0x01 /* No write access to folder */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
78 #define SEQMOD 0x02 /* folder's sequences modifed */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
79 #define MHPATH 0x04 /* mhpath-style folder handling */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
80 #define OTHERS 0x08 /* folder has other files */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
81 #define MODIFIED 0x10 /* msh in-core folder modified */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
82 #define FBITS "\020\01READONLY\02SEQMOD\03MHPATH\04OTHERS\05MODIFIED"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
83
bce86c4163a3 Initial revision
kono
parents:
diff changeset
84 /* Note well: msgstats[] is a int, so we have 16 or 32 bits to work
bce86c4163a3 Initial revision
kono
parents:
diff changeset
85 with. The first 5 are for standard MH message flags,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
86 this leaves us 11 (or 27) for user-defined attributes. Of
bce86c4163a3 Initial revision
kono
parents:
diff changeset
87 these, 1 is reserved for future internal use, so this leaves
bce86c4163a3 Initial revision
kono
parents:
diff changeset
88 users 10 (or 26). */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
89 #define NATTRS ((sizeof(int)*Nbby)-6) /* see above */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
90 char *msgattrs[NATTRS + 1];/* folder attributes */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
91 int attrstats; /* public=0/private=1 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
92
bce86c4163a3 Initial revision
kono
parents:
diff changeset
93 int lowoff; /* low element in msgstats[] */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
94 int hghoff; /* hgh element in msgstats[] */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
95
bce86c4163a3 Initial revision
kono
parents:
diff changeset
96 #ifndef MTR
bce86c4163a3 Initial revision
kono
parents:
diff changeset
97 int msgstats[1]; /* msg status */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
98 #else /* MTR */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
99 int *msgbase; /* msg base */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
100 int *msgstats; /* msg status */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
101 #endif /* MTR */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
102 #define EXISTS 0x0001 /* exists */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
103 #define DELETED 0x0002 /* deleted */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
104 #define SELECTED 0x0004 /* selected for use */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
105 #define SELECT_EMPTY 0x0008 /* mhpath "new" */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
106 #define UNSEEN 0x0010 /* inc/show "unseen" */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
107 #define FFATTRSLOT 5 /* user-defined attributes */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
108 /* first free slot is */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
109 /* (1 << 5) or 0x20 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
110 #define MBITS "\020\01EXISTS\02DELETED\03SELECTED\04NEW\05UNSEEN"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
111
bce86c4163a3 Initial revision
kono
parents:
diff changeset
112 #ifndef MTR
bce86c4163a3 Initial revision
kono
parents:
diff changeset
113 #define MHSIZE(mp,lo,hi) \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
114 ((unsigned) (sizeof *mp + ((hi) + 2) * sizeof *mp -> msgstats))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
115 #else /* MTR */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
116 #define MHSIZE(mp,lo,hi) ((unsigned) sizeof *mp)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
117 #define MHSIZEX(mp,lo,hi) \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
118 ((unsigned) (((hi) - (lo) + 1) * sizeof *mp -> msgstats))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
119 #endif /* MTR */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
120 };
bce86c4163a3 Initial revision
kono
parents:
diff changeset
121
bce86c4163a3 Initial revision
kono
parents:
diff changeset
122 #define NULLMP ((struct msgs *) 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
123
bce86c4163a3 Initial revision
kono
parents:
diff changeset
124 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
125
bce86c4163a3 Initial revision
kono
parents:
diff changeset
126 /* m_getfld() message parsing */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
127
bce86c4163a3 Initial revision
kono
parents:
diff changeset
128 #define NAMESZ 128 /* Limit on component name size */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
129
bce86c4163a3 Initial revision
kono
parents:
diff changeset
130 #define LENERR (-2) /* Name too long error from getfld */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
131 #define FMTERR (-3) /* Message Format error */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
132 #define FLD 0 /* Field returned */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
133 #define FLDPLUS 1 /* Field " with more to come */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
134 #define FLDEOF 2 /* Field " ending at eom */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
135 #define BODY 3 /* Body " with more to come */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
136 #define BODYEOF 4 /* Body " ending at eom */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
137 #define FILEEOF 5 /* Reached end of input file */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
138
bce86c4163a3 Initial revision
kono
parents:
diff changeset
139
bce86c4163a3 Initial revision
kono
parents:
diff changeset
140 /* Maildrop styles */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
141
bce86c4163a3 Initial revision
kono
parents:
diff changeset
142 #define MS_DEFAULT 0 /* default (one msg per file) */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
143 #define MS_UNKNOWN 1 /* type not known yet */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
144 #define MS_UUCP 2 /* Unix-style "from" lines */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
145 #define MS_MMDF 3 /* string mmdlm2 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
146 #define MS_MSH 4 /* whacko msh */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
147
bce86c4163a3 Initial revision
kono
parents:
diff changeset
148 extern int msg_count; /* m_getfld() indicators */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
149 extern int msg_style; /* .. */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
150 extern char *msg_delim; /* .. */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
151
bce86c4163a3 Initial revision
kono
parents:
diff changeset
152
bce86c4163a3 Initial revision
kono
parents:
diff changeset
153 #define NOUSE 0 /* draft being re-used */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
154
bce86c4163a3 Initial revision
kono
parents:
diff changeset
155 #define TFOLDER 0 /* path() given a +folder */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
156 #define TFILE 1 /* path() given a file */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
157 #define TSUBCWF 2 /* path() given a @folder */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
158
bce86c4163a3 Initial revision
kono
parents:
diff changeset
159 #ifndef LINK
bce86c4163a3 Initial revision
kono
parents:
diff changeset
160 #define LINK "@"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
161 #endif /* not LINK */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
162
bce86c4163a3 Initial revision
kono
parents:
diff changeset
163 #ifndef SBACKUP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
164 #define SBACKUP ","
bce86c4163a3 Initial revision
kono
parents:
diff changeset
165 #endif /* not SBACKUP */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
166
bce86c4163a3 Initial revision
kono
parents:
diff changeset
167
bce86c4163a3 Initial revision
kono
parents:
diff changeset
168 #define OUTPUTLINELEN 72 /* default line length for headers */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
169
bce86c4163a3 Initial revision
kono
parents:
diff changeset
170 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
171
bce86c4163a3 Initial revision
kono
parents:
diff changeset
172 /*
bce86c4163a3 Initial revision
kono
parents:
diff changeset
173 * These standard strings are defined in config.c. They are the
bce86c4163a3 Initial revision
kono
parents:
diff changeset
174 * only system-dependent parameters in MH, and thus by redefining
bce86c4163a3 Initial revision
kono
parents:
diff changeset
175 * their values and reloading the various modules, MH will run
bce86c4163a3 Initial revision
kono
parents:
diff changeset
176 * on any system.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
177 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
178
bce86c4163a3 Initial revision
kono
parents:
diff changeset
179 extern char *components;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
180 extern char *context;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
181 extern char *current;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
182 extern char *defalt;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
183 extern char *digestcomps;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
184 extern char *distcomps;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
185 extern char *draft;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
186 extern char *faceproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
187 extern char *fileproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
188 extern char *foldprot;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
189 extern char *forwcomps;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
190 extern char *inbox;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
191 extern char *incproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
192 extern char *installproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
193 extern char *lproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
194 extern char *mailproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
195 extern char *mh_defaults;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
196 extern char *mh_profile;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
197 extern char *mh_seq;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
198 extern char *mhlformat;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
199 extern char *mhlforward;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
200 extern char *mhlproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
201 extern char *moreproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
202 extern char *msgprot;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
203 extern char *mshproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
204 extern char *nsequence;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
205 extern char *packproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
206 extern char *postproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
207 extern char *pfolder;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
208 extern char *psequence;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
209 extern char *rcvdistcomps;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
210 extern char *replcomps;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
211 extern char *rmfproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
212 extern char *rmmproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
213 extern char *sendproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
214 extern char *showproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
215 extern char *slocalproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
216 extern char *sysed;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
217 extern char *usequence;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
218 extern char *version;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
219 extern char *vmhproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
220 extern char *whatnowproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
221 extern char *whomproc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
222
bce86c4163a3 Initial revision
kono
parents:
diff changeset
223 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
224
bce86c4163a3 Initial revision
kono
parents:
diff changeset
225 /* global variables -sigh- */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
226
bce86c4163a3 Initial revision
kono
parents:
diff changeset
227 extern char ctxflags;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
228 #define CTXMOD 0x01 /* context information modified */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
229 #define DBITS "\020\01CTXMOD"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
230
bce86c4163a3 Initial revision
kono
parents:
diff changeset
231 #ifdef OVERHEAD
bce86c4163a3 Initial revision
kono
parents:
diff changeset
232 extern int fd_def;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
233 extern int fd_ctx;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
234 #endif /* OVERHEAD */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
235
bce86c4163a3 Initial revision
kono
parents:
diff changeset
236 extern char *invo_name; /* pgm invocation name */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
237 extern char *mypath; /* user's $HOME */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
238 extern char *defpath; /* pathname of user's profile */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
239 extern char *ctxpath; /* pathname of user's context */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
240
bce86c4163a3 Initial revision
kono
parents:
diff changeset
241 extern struct node *m_defs;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
242
bce86c4163a3 Initial revision
kono
parents:
diff changeset
243 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
244
bce86c4163a3 Initial revision
kono
parents:
diff changeset
245 /* from the MH subroutine library */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
246
bce86c4163a3 Initial revision
kono
parents:
diff changeset
247 char *add ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
248 void adios ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
249 void admonish ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
250 void advise ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
251 void advertise ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
252 void ambigsw ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
253 int atooi ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
254 char **brkstring ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
255 void closefds ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
256 char *concat ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
257 char *copy ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
258 char **copyip ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
259 void cpydata ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
260 void cpydgst ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
261 void discard ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
262 void done ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
263 int fdcompare ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
264 int gans ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
265 char **getans ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
266 int getanswer ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
267 char *getcpy ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
268 void help ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
269 char *libpath ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
270 int m_atoi ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
271 char *m_backup ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
272 int m_convert ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
273 int m_delete ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
274 char *m_draft ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
275 void m_eomsbr ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
276 int m_file ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
277 char *m_find ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
278 void m_fmsg ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
279 void m_foil ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
280 void m_getdefs ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
281 int m_getfld ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
282 char *m_getfolder ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
283 int m_gmprot ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
284 struct msgs *m_gmsg ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
285 char *m_maildir ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
286 char *m_mailpath ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
287 char *m_name ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
288 int m_putenv ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
289 void m_readefs ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
290 struct msgs *m_remsg ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
291 void m_replace ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
292 char *m_scratch ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
293 char *m_seq ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
294 int m_seqadd ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
295 char *m_seqbits ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
296 int m_seqdel ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
297 int m_seqflag ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
298 int m_seqnew ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
299 void m_setcur ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
300 void m_setseq ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
301 void m_setvis ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
302 void m_sync ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
303 char *m_tmpfil ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
304 void m_unknown ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
305 void m_update ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
306 int m_whatnow ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
307 int makedir ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
308 char *path ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
309 int peekc ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
310 int pidwait ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
311 #define pidXwait(id,cp) pidstatus (pidwait (id, NOTOK), stdout, cp)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
312 int pidstatus ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
313 void printsw ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
314 void push ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
315 char *pwd ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
316 char *r1bindex ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
317 int refile ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
318 int remdir ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
319 int showfile ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
320 int smatch ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
321 char *sprintb();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
322 int ssequal ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
323 int stringdex ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
324 char *trimcpy ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
325 int type ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
326 int uleq ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
327 int unputenv ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
328 int uprf ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
329 int vfgets ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
330
bce86c4163a3 Initial revision
kono
parents:
diff changeset
331 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
332
bce86c4163a3 Initial revision
kono
parents:
diff changeset
333 #include "../h/strings.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
334
bce86c4163a3 Initial revision
kono
parents:
diff changeset
335 /* should be in <stdio.h> */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
336
bce86c4163a3 Initial revision
kono
parents:
diff changeset
337 #if !defined(SYS5) && !defined(ncr) && !defined(_AIX) && !defined(OSF1) && !defined(__osf__) && !defined(__convex__) && !defined(__386BSD__) && !defined(BSD44)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
338 typedef struct _iobuf *FP;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
339 FP popen ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
340 #else /* SYS5 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
341 #define FP FILE*
bce86c4163a3 Initial revision
kono
parents:
diff changeset
342 #endif /* SYS5 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
343
bce86c4163a3 Initial revision
kono
parents:
diff changeset
344
bce86c4163a3 Initial revision
kono
parents:
diff changeset
345 /* miscellaneous */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
346
bce86c4163a3 Initial revision
kono
parents:
diff changeset
347 #if !defined(BSD42) && !defined(hpux) && !defined(ncr) && !defined(_AIX) && !defined(RENAME)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
348 #define rename(f1,f2) (link (f1, f2) != NOTOK ? unlink (f1) : NOTOK)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
349 #endif /* not BSD42 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
350
bce86c4163a3 Initial revision
kono
parents:
diff changeset
351 #define setsig(s,f) if (signal (s, SIG_IGN) != SIG_IGN) \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
352 (void) signal (s, f)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
353 #define setsigx(i,s,f) if ((i = signal (s, SIG_IGN)) != SIG_IGN) \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
354 (void) signal (s, f)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
355
bce86c4163a3 Initial revision
kono
parents:
diff changeset
356 #if defined(sun) && !defined(NFS)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
357 #define NFS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
358 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
359
bce86c4163a3 Initial revision
kono
parents:
diff changeset
360 #ifdef NFS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
361 #define ruserpass _ruserpass
bce86c4163a3 Initial revision
kono
parents:
diff changeset
362 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
363
bce86c4163a3 Initial revision
kono
parents:
diff changeset
364 #if (defined(BSD44) || defined(SUN40) || defined(hpux) \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
365 || defined(_AIX) || defined (sgi)) && !defined(UNISTD)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
366 #define UNISTD
bce86c4163a3 Initial revision
kono
parents:
diff changeset
367 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
368
bce86c4163a3 Initial revision
kono
parents:
diff changeset
369 #ifdef JAPAN
bce86c4163a3 Initial revision
kono
parents:
diff changeset
370 /*
bce86c4163a3 Initial revision
kono
parents:
diff changeset
371 * Japanization patch (patchlevel.2)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
372 * by Toshihiro Takada <takada@seraph.ntt.jp>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
373 * especially thanks to
bce86c4163a3 Initial revision
kono
parents:
diff changeset
374 * hkojima@etl.go.jp (Hiroaki Kojima)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
375 * UEHARA Tetsu=TaLow <tetsu@kutsuda.kuis.kyoto-u.ac.jp>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
376 * and
bce86c4163a3 Initial revision
kono
parents:
diff changeset
377 * Hayashi Haruhisa <hayashi@lufiea10.kuic.kyoto-u.ac.jp>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
378 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
379 void ml_init ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
380 int ml_ismlchar ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
381 int ml_ismlptr ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
382 void ml_fputs ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
383 void ml_pretty_fputs ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
384 void junet_fputs ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
385 char *ml_conv ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
386 #endif /* JAPAN */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
387 #ifdef MIME_HEADERS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
388 char *exthdr_encode ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
389 char *exthdr_decode ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
390 #endif /* MIME_HEADERS */