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 */ 63