94 |
#define EF_FLOW 0x01 /* Flow control command */ |
#define EF_FLOW 0x01 /* Flow control command */ |
95 |
#define EF_SEND 0x02 /* Send command */ |
#define EF_SEND 0x02 /* Send command */ |
96 |
|
|
97 |
struct send_environ |
typedef struct compose_env |
98 |
{ |
{ |
99 |
char *to; |
header_t header; /* The message headers */ |
100 |
char *cc; |
char *filename; /* Name of the temporary compose file */ |
101 |
char *bcc; |
FILE *file; /* Temporary compose file */ |
102 |
char *subj; |
FILE *ofile; /* Diagnostics output channel */ |
103 |
int done; |
char **outfiles; /* Names of the output files. The message is to be |
104 |
char *filename; |
saved in each of these. */ |
105 |
FILE *file; |
int nfiles; /* Number of output files */ |
106 |
FILE *ofile; |
} compose_env_t; |
|
char **outfiles; |
|
|
int nfiles; |
|
|
}; |
|
107 |
|
|
108 |
struct mail_command_entry { |
struct mail_command_entry { |
109 |
const char *shortname; |
const char *shortname; |
111 |
const char *synopsis; |
const char *synopsis; |
112 |
int flags; |
int flags; |
113 |
int (*func) __P ((int, char **)); |
int (*func) __P ((int, char **)); |
114 |
int (*escfunc) __P ((int, char **, struct send_environ *)); |
int (*escfunc) __P ((int, char **, compose_env_t *)); |
115 |
}; |
}; |
116 |
|
|
117 |
typedef enum { |
typedef enum { |
209 |
|
|
210 |
extern void mail_mainloop __P ((char *(*input) __P((void *, int)), void *closure, int do_history)); |
extern void mail_mainloop __P ((char *(*input) __P((void *, int)), void *closure, int do_history)); |
211 |
extern int mail_copy0 __P ((int argc, char **argv, int mark)); |
extern int mail_copy0 __P ((int argc, char **argv, int mark)); |
212 |
extern int mail_send0 __P ((struct send_environ *env, int save_to)); |
extern int mail_send0 __P ((compose_env_t *env, int save_to)); |
213 |
extern void free_env_headers __P ((struct send_environ *env)); |
extern void free_env_headers __P ((compose_env_t *env)); |
214 |
|
|
215 |
/*extern void print_message __P((message_t mesg, char *prefix, int all_headers, FILE *file));*/ |
/*extern void print_message __P((message_t mesg, char *prefix, int all_headers, FILE *file));*/ |
216 |
|
|
222 |
extern int mail_mbox_close __P ((void)); |
extern int mail_mbox_close __P ((void)); |
223 |
extern char *mail_expand_name __P((const char *name)); |
extern char *mail_expand_name __P((const char *name)); |
224 |
|
|
225 |
extern int var_shell __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_shell __P ((int argc, char **argv, compose_env_t *env)); |
226 |
extern int var_command __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_command __P ((int argc, char **argv, compose_env_t *env)); |
227 |
extern int var_help __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_help __P ((int argc, char **argv, compose_env_t *env)); |
228 |
extern int var_sign __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_sign __P ((int argc, char **argv, compose_env_t *env)); |
229 |
extern int var_bcc __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_bcc __P ((int argc, char **argv, compose_env_t *env)); |
230 |
extern int var_cc __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_cc __P ((int argc, char **argv, compose_env_t *env)); |
231 |
extern int var_deadletter __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_deadletter __P ((int argc, char **argv, compose_env_t *env)); |
232 |
extern int var_editor __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_editor __P ((int argc, char **argv, compose_env_t *env)); |
233 |
extern int var_print __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_print __P ((int argc, char **argv, compose_env_t *env)); |
234 |
extern int var_headers __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_headers __P ((int argc, char **argv, compose_env_t *env)); |
235 |
extern int var_insert __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_insert __P ((int argc, char **argv, compose_env_t *env)); |
236 |
extern int var_quote __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_quote __P ((int argc, char **argv, compose_env_t *env)); |
237 |
extern int var_type_input __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_type_input __P ((int argc, char **argv, compose_env_t *env)); |
238 |
extern int var_read __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_read __P ((int argc, char **argv, compose_env_t *env)); |
239 |
extern int var_subj __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_subj __P ((int argc, char **argv, compose_env_t *env)); |
240 |
extern int var_to __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_to __P ((int argc, char **argv, compose_env_t *env)); |
241 |
extern int var_visual __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_visual __P ((int argc, char **argv, compose_env_t *env)); |
242 |
extern int var_write __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_write __P ((int argc, char **argv, compose_env_t *env)); |
243 |
extern int var_exit __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_exit __P ((int argc, char **argv, compose_env_t *env)); |
244 |
extern int var_pipe __P ((int argc, char **argv, struct send_environ *env)); |
extern int var_pipe __P ((int argc, char **argv, compose_env_t *env)); |
245 |
|
|
246 |
/* msgsets */ |
/* msgsets */ |
247 |
extern void msgset_free __P ((msgset_t *msg_set)); |
extern void msgset_free __P ((msgset_t *msg_set)); |
255 |
extern int util_do_command __P ((const char *cmd, ...)); |
extern int util_do_command __P ((const char *cmd, ...)); |
256 |
extern int util_msglist_command __P ((function_t *func, int argc, char **argv, int set_cursor)); |
extern int util_msglist_command __P ((function_t *func, int argc, char **argv, int set_cursor)); |
257 |
extern int util_msglist_esccmd |
extern int util_msglist_esccmd |
258 |
__P ((int (*escfunc) __P ((int, char **, struct send_environ *)), |
__P ((int (*escfunc) __P ((int, char **, compose_env_t *)), |
259 |
int argc, char **argv, struct send_environ *env, int set_cursor)); |
int argc, char **argv, compose_env_t *env, int set_cursor)); |
260 |
extern function_t* util_command_get __P ((const char *cmd)); |
extern function_t* util_command_get __P ((const char *cmd)); |
261 |
extern char *util_stripwhite __P ((char *string)); |
extern char *util_stripwhite __P ((char *string)); |
262 |
extern struct mail_command_entry util_find_entry __P ((const struct mail_command_entry *table, const char *cmd)); |
extern struct mail_command_entry util_find_entry __P ((const struct mail_command_entry *table, const char *cmd)); |
304 |
extern char *alias_expand __P ((char *name)); |
extern char *alias_expand __P ((char *name)); |
305 |
extern void alias_destroy __P ((char *name)); |
extern void alias_destroy __P ((char *name)); |
306 |
|
|
307 |
|
#define COMPOSE_APPEND 0 |
308 |
|
#define COMPOSE_REPLACE 1 |
309 |
|
#define COMPOSE_SINGLE_LINE 2 |
310 |
|
|
311 |
|
void compose_init __P((compose_env_t *env)); |
312 |
|
int compose_header_set __P((compose_env_t *env, char *name, |
313 |
|
char *value, int replace)); |
314 |
|
char *compose_header_get __P((compose_env_t *env, char *name, |
315 |
|
char *defval)); |
316 |
|
void compose_destroy __P((compose_env_t *env)); |
317 |
|
|
318 |
#ifndef HAVE_READLINE_READLINE_H |
#ifndef HAVE_READLINE_READLINE_H |
319 |
extern char *readline __P ((const char *prompt)); |
extern char *readline __P ((const char *prompt)); |
320 |
#endif |
#endif |