1181834Sroberto/* 2181834Sroberto * Copyright (c) 2006 Proofpoint, Inc. and its suppliers. 3181834Sroberto * All rights reserved. 4181834Sroberto * 5181834Sroberto * By using this file, you agree to the terms and conditions set 6181834Sroberto * forth in the LICENSE file which can be found at the top level of 7181834Sroberto * the sendmail distribution. 8181834Sroberto * 9181834Sroberto * $Id: daemon.h,v 8.4 2013-11-22 20:51:55 ca Exp $ 10181834Sroberto */ 11181834Sroberto 12181834Sroberto#ifndef DAEMON_H 13181834Sroberto#define DAEMON_H 1 14181834Sroberto 15181834Sroberto#if DAEMON_C 16181834Sroberto# define EXTERN 17181834Sroberto#else 18181834Sroberto# define EXTERN extern 19181834Sroberto#endif 20181834Sroberto 21181834Sroberto/* structure to describe a daemon or a client */ 22181834Srobertostruct daemon 23181834Sroberto{ 24181834Sroberto int d_socket; /* fd for socket */ 25181834Sroberto SOCKADDR d_addr; /* socket for incoming */ 26181834Sroberto unsigned short d_port; /* port number */ 27181834Sroberto int d_listenqueue; /* size of listen queue */ 28181834Sroberto int d_tcprcvbufsize; /* size of TCP receive buffer */ 29181834Sroberto int d_tcpsndbufsize; /* size of TCP send buffer */ 30181834Sroberto time_t d_refuse_connections_until; 31181834Sroberto bool d_firsttime; 32181834Sroberto int d_socksize; 33181834Sroberto BITMAP256 d_flags; /* flags; see sendmail.h */ 34181834Sroberto char *d_mflags; /* flags for use in macro */ 35181834Sroberto char *d_name; /* user-supplied name */ 36181834Sroberto 37181834Sroberto int d_dm; /* DeliveryMode */ 38181834Sroberto int d_refuseLA; 39181834Sroberto int d_queueLA; 40181834Sroberto int d_delayLA; 41181834Sroberto int d_maxchildren; 42181834Sroberto 43181834Sroberto#if MILTER 44181834Sroberto char *d_inputfilterlist; 45181834Sroberto struct milter *d_inputfilters[MAXFILTERS]; 46181834Sroberto#endif /* MILTER */ 47181834Sroberto#if _FFR_SS_PER_DAEMON 48181834Sroberto int d_supersafe; 49181834Sroberto#endif /* _FFR_SS_PER_DAEMON */ 50181834Sroberto}; 51181834Sroberto 52181834Srobertotypedef struct daemon DAEMON_T; 53181834Sroberto 54181834SrobertoEXTERN DAEMON_T Daemons[MAXDAEMONS]; 55181834Sroberto 56181834Sroberto#define DPO_NOTSET (-1) /* daemon option (int) not set */ 57181834Sroberto/* see also sendmail.h: SuperSafe values */ 58181834Sroberto 59181834Srobertoextern bool refuseconnections __P((ENVELOPE *, int, bool)); 60181834Sroberto 61181834Sroberto#undef EXTERN 62181834Sroberto#endif /* ! DAEMON_H */ 63181834Sroberto