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