daemon.h revision 266527
161981Sbrian/*
261981Sbrian * Copyright (c) 2006 Proofpoint, Inc. and its suppliers.
361981Sbrian *	All rights reserved.
461981Sbrian *
561981Sbrian * By using this file, you agree to the terms and conditions set
661981Sbrian * forth in the LICENSE file which can be found at the top level of
761981Sbrian * the sendmail distribution.
861981Sbrian *
961981Sbrian *	$Id: daemon.h,v 8.4 2013-11-22 20:51:55 ca Exp $
1061981Sbrian */
1161981Sbrian
1261981Sbrian#ifndef DAEMON_H
13140771Skeramida#define DAEMON_H 1
14140771Skeramida
15140771Skeramida#if DAEMON_C
1661981Sbrian# define EXTERN
1761981Sbrian#else
1861981Sbrian# define EXTERN extern
1961981Sbrian#endif
2061981Sbrian
2161981Sbrian/* structure to describe a daemon or a client */
2261981Sbrianstruct daemon
23170085Sdougb{
2461981Sbrian	int		d_socket;	/* fd for socket */
2561981Sbrian	SOCKADDR	d_addr;		/* socket for incoming */
2661981Sbrian	unsigned short	d_port;		/* port number */
2761981Sbrian	int		d_listenqueue;	/* size of listen queue */
2865843Sbrian	int		d_tcprcvbufsize;	/* size of TCP receive buffer */
2965843Sbrian	int		d_tcpsndbufsize;	/* size of TCP send buffer */
3065843Sbrian	time_t		d_refuse_connections_until;
3165843Sbrian	bool		d_firsttime;
3265843Sbrian	int		d_socksize;
3365843Sbrian	BITMAP256	d_flags;	/* flags; see sendmail.h */
3465843Sbrian	char		*d_mflags;	/* flags for use in macro */
3565843Sbrian	char		*d_name;	/* user-supplied name */
3665843Sbrian
3765843Sbrian	int		d_dm;		/* DeliveryMode */
3861981Sbrian	int		d_refuseLA;
3961981Sbrian	int		d_queueLA;
4061981Sbrian	int		d_delayLA;
4161981Sbrian	int		d_maxchildren;
4261981Sbrian
4361981Sbrian#if MILTER
4461981Sbrian	char		*d_inputfilterlist;
4561981Sbrian	struct milter	*d_inputfilters[MAXFILTERS];
4661981Sbrian#endif /* MILTER */
4761981Sbrian#if _FFR_SS_PER_DAEMON
48174028Sjhb	int		d_supersafe;
49205509Sjoerg#endif /* _FFR_SS_PER_DAEMON */
50236284Seadler};
51174028Sjhb
5261981Sbriantypedef struct daemon DAEMON_T;
5361981Sbrian
5461981SbrianEXTERN DAEMON_T	Daemons[MAXDAEMONS];
5561981Sbrian
5661981Sbrian#define DPO_NOTSET	(-1)	/* daemon option (int) not set */
5761981Sbrian/* see also sendmail.h: SuperSafe values */
5861981Sbrian
5961981Sbrianextern bool refuseconnections __P((ENVELOPE *, int, bool));
6061981Sbrian
6161981Sbrian#undef EXTERN
6261981Sbrian#endif /* ! DAEMON_H */
6361981Sbrian