7
/* #include <mail_server.h>
17
* External interface. Tables are defined in mail_conf.h.
19
#define MAIL_SERVER_INT_TABLE 1
20
#define MAIL_SERVER_STR_TABLE 2
21
#define MAIL_SERVER_BOOL_TABLE 3
22
#define MAIL_SERVER_TIME_TABLE 4
23
#define MAIL_SERVER_RAW_TABLE 5
25
#define MAIL_SERVER_PRE_INIT 10
26
#define MAIL_SERVER_POST_INIT 11
27
#define MAIL_SERVER_LOOP 12
28
#define MAIL_SERVER_EXIT 13
29
#define MAIL_SERVER_PRE_ACCEPT 14
30
#define MAIL_SERVER_SOLITARY 15
31
#define MAIL_SERVER_UNLIMITED 16
32
#define MAIL_SERVER_PRE_DISCONN 17
34
#define MAIL_SERVER_IN_FLOW_DELAY 20
36
typedef void (*MAIL_SERVER_INIT_FN) (char *, char **);
37
typedef int (*MAIL_SERVER_LOOP_FN) (char *, char **);
38
typedef void (*MAIL_SERVER_EXIT_FN) (char *, char **);
39
typedef void (*MAIL_SERVER_ACCEPT_FN) (char *, char **);
40
typedef void (*MAIL_SERVER_DISCONN_FN) (VSTREAM *, char *, char **);
45
typedef void (*SINGLE_SERVER_FN) (VSTREAM *, char *, char **);
46
extern NORETURN single_server_main(int, char **, SINGLE_SERVER_FN, ...);
51
typedef void (*MULTI_SERVER_FN) (VSTREAM *, char *, char **);
52
extern NORETURN multi_server_main(int, char **, MULTI_SERVER_FN,...);
53
extern void multi_server_disconnect(VSTREAM *);
58
typedef void (*TRIGGER_SERVER_FN) (char *, int, char *, char **);
59
extern NORETURN trigger_server_main(int, char **, TRIGGER_SERVER_FN, ...);
61
#define TRIGGER_BUF_SIZE 1024
66
/* The Secure Mailer license must be distributed with this software.
69
/* IBM T.J. Watson Research
71
/* Yorktown Heights, NY 10598, USA