summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/src/daemon.h
blob: d8fa291690a9db63ce1d92af863e331ddbef58ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
 * Copyright (c) 2006 Sendmail, Inc. and its suppliers.
 *	All rights reserved.
 *
 * By using this file, you agree to the terms and conditions set
 * forth in the LICENSE file which can be found at the top level of
 * the sendmail distribution.
 *
 *	$Id: daemon.h,v 8.3 2006/07/13 22:57:03 ca Exp $
 */

#ifndef DAEMON_H
#define DAEMON_H 1

#if DAEMON_C
# define EXTERN 
#else
# define EXTERN extern
#endif

/* structure to describe a daemon or a client */
struct daemon
{
	int		d_socket;	/* fd for socket */
	SOCKADDR	d_addr;		/* socket for incoming */
	unsigned short	d_port;		/* port number */
	int		d_listenqueue;	/* size of listen queue */
	int		d_tcprcvbufsize;	/* size of TCP receive buffer */
	int		d_tcpsndbufsize;	/* size of TCP send buffer */
	time_t		d_refuse_connections_until;
	bool		d_firsttime;
	int		d_socksize;
	BITMAP256	d_flags;	/* flags; see sendmail.h */
	char		*d_mflags;	/* flags for use in macro */
	char		*d_name;	/* user-supplied name */

	int		d_dm;		/* DeliveryMode */
	int		d_refuseLA;
	int		d_queueLA;
	int		d_delayLA;
	int		d_maxchildren;

#if MILTER
	char		*d_inputfilterlist;
	struct milter	*d_inputfilters[MAXFILTERS];
#endif /* MILTER */
#if _FFR_SS_PER_DAEMON
	int		d_supersafe;
#endif /* _FFR_SS_PER_DAEMON */
};

typedef struct daemon DAEMON_T;

EXTERN DAEMON_T	Daemons[MAXDAEMONS];

#define DPO_NOTSET	(-1)	/* daemon option (int) not set */
/* see also sendmail.h: SuperSafe values */

extern bool refuseconnections __P((ENVELOPE *, int, bool));

#undef EXTERN
#endif /* ! DAEMON_H */
OpenPOWER on IntegriCloud