xref: /illumos-gate/usr/src/cmd/sendmail/src/daemon.h (revision 2a8bcb4e)
1058561cbSjbeck /*
2058561cbSjbeck  * Copyright (c) 2006 Sendmail, Inc. and its suppliers.
3058561cbSjbeck  *	All rights reserved.
4058561cbSjbeck  *
5058561cbSjbeck  * By using this file, you agree to the terms and conditions set
6058561cbSjbeck  * forth in the LICENSE file which can be found at the top level of
7058561cbSjbeck  * the sendmail distribution.
8058561cbSjbeck  *
9058561cbSjbeck  *	$Id: daemon.h,v 8.3 2006/07/13 22:57:03 ca Exp $
10058561cbSjbeck  */
11058561cbSjbeck 
12058561cbSjbeck #ifndef DAEMON_H
13058561cbSjbeck #define DAEMON_H 1
14058561cbSjbeck 
15058561cbSjbeck #if DAEMON_C
16*2a8bcb4eSToomas Soome # define EXTERN
17058561cbSjbeck #else
18058561cbSjbeck # define EXTERN extern
19058561cbSjbeck #endif
20058561cbSjbeck 
21058561cbSjbeck /* structure to describe a daemon or a client */
22058561cbSjbeck struct daemon
23058561cbSjbeck {
24058561cbSjbeck 	int		d_socket;	/* fd for socket */
25058561cbSjbeck 	SOCKADDR	d_addr;		/* socket for incoming */
26058561cbSjbeck 	unsigned short	d_port;		/* port number */
27058561cbSjbeck 	int		d_listenqueue;	/* size of listen queue */
28058561cbSjbeck 	int		d_tcprcvbufsize;	/* size of TCP receive buffer */
29058561cbSjbeck 	int		d_tcpsndbufsize;	/* size of TCP send buffer */
30058561cbSjbeck 	time_t		d_refuse_connections_until;
31058561cbSjbeck 	bool		d_firsttime;
32058561cbSjbeck 	int		d_socksize;
33058561cbSjbeck 	BITMAP256	d_flags;	/* flags; see sendmail.h */
34058561cbSjbeck 	char		*d_mflags;	/* flags for use in macro */
35058561cbSjbeck 	char		*d_name;	/* user-supplied name */
36058561cbSjbeck 
37058561cbSjbeck 	int		d_dm;		/* DeliveryMode */
38058561cbSjbeck 	int		d_refuseLA;
39058561cbSjbeck 	int		d_queueLA;
40058561cbSjbeck 	int		d_delayLA;
41058561cbSjbeck 	int		d_maxchildren;
42058561cbSjbeck 
43058561cbSjbeck #if MILTER
44058561cbSjbeck 	char		*d_inputfilterlist;
45058561cbSjbeck 	struct milter	*d_inputfilters[MAXFILTERS];
46058561cbSjbeck #endif /* MILTER */
47058561cbSjbeck #if _FFR_SS_PER_DAEMON
48058561cbSjbeck 	int		d_supersafe;
49058561cbSjbeck #endif /* _FFR_SS_PER_DAEMON */
50058561cbSjbeck };
51058561cbSjbeck 
52058561cbSjbeck typedef struct daemon DAEMON_T;
53058561cbSjbeck 
54058561cbSjbeck EXTERN DAEMON_T	Daemons[MAXDAEMONS];
55058561cbSjbeck 
56058561cbSjbeck #define DPO_NOTSET	(-1)	/* daemon option (int) not set */
57058561cbSjbeck /* see also sendmail.h: SuperSafe values */
58058561cbSjbeck 
59058561cbSjbeck extern bool refuseconnections __P((ENVELOPE *, int, bool));
60058561cbSjbeck 
61058561cbSjbeck #undef EXTERN
62058561cbSjbeck #endif /* ! DAEMON_H */
63