Initial import of binutils 2.22 on the new vendor branch
[dragonfly.git] / contrib / sendmail-8.14 / sendmail / daemon.h
1 /*
2  * Copyright (c) 2006 Sendmail, Inc. and its suppliers.
3  *      All rights reserved.
4  *
5  * By using this file, you agree to the terms and conditions set
6  * forth in the LICENSE file which can be found at the top level of
7  * the sendmail distribution.
8  *
9  *      $Id: daemon.h,v 8.3 2006/07/13 22:57:03 ca Exp $
10  */
11
12 #ifndef DAEMON_H
13 #define DAEMON_H 1
14
15 #if DAEMON_C
16 # define EXTERN 
17 #else
18 # define EXTERN extern
19 #endif
20
21 /* structure to describe a daemon or a client */
22 struct daemon
23 {
24         int             d_socket;       /* fd for socket */
25         SOCKADDR        d_addr;         /* socket for incoming */
26         unsigned short  d_port;         /* port number */
27         int             d_listenqueue;  /* size of listen queue */
28         int             d_tcprcvbufsize;        /* size of TCP receive buffer */
29         int             d_tcpsndbufsize;        /* size of TCP send buffer */
30         time_t          d_refuse_connections_until;
31         bool            d_firsttime;
32         int             d_socksize;
33         BITMAP256       d_flags;        /* flags; see sendmail.h */
34         char            *d_mflags;      /* flags for use in macro */
35         char            *d_name;        /* user-supplied name */
36
37         int             d_dm;           /* DeliveryMode */
38         int             d_refuseLA;
39         int             d_queueLA;
40         int             d_delayLA;
41         int             d_maxchildren;
42
43 #if MILTER
44         char            *d_inputfilterlist;
45         struct milter   *d_inputfilters[MAXFILTERS];
46 #endif /* MILTER */
47 #if _FFR_SS_PER_DAEMON
48         int             d_supersafe;
49 #endif /* _FFR_SS_PER_DAEMON */
50 };
51
52 typedef struct daemon DAEMON_T;
53
54 EXTERN DAEMON_T Daemons[MAXDAEMONS];
55
56 #define DPO_NOTSET      (-1)    /* daemon option (int) not set */
57 /* see also sendmail.h: SuperSafe values */
58
59 extern bool refuseconnections __P((ENVELOPE *, int, bool));
60
61 #undef EXTERN
62 #endif /* ! DAEMON_H */