/* * Copyright (c) 2002-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: sccnf.h,v 1.24 2007/06/18 04:42:30 ca Exp $ */ #ifndef SCCNF_H #define SCCNF_H 1 #include "sm/generic.h" #include "sm/types.h" #include "sm/time.h" #include "sm/net.h" #include "sm/io.h" #include "sm/sm-conf.h" #include "sm/logcnfdef.h" #include "sm/mcpcnfs.h" #include "sm/tlscnfs.h" #include "sm/tlscnf.h" /* SMTPC configuration context */ typedef struct sc_cnf_S sc_cnf_T, *sc_cnf_P; struct sc_cnf_S { sm_magic_T sm_magic; sm_conf_T *sc_cnf_smc; /* parsed configuration */ char *sc_cnf_conffile; /* name of configuration file */ char *sc_cnf_section; /* name of section to use */ char *sc_cnf_smtpcsock; /* SMTP Client/QMGR socket */ const char *sc_cnf_smtpcsock_abs; char *sc_cnf_smtpcsock_alloc; char *sc_cnf_cdb_base; /* Base name for CDB */ char *sc_cnf_lmtpsock; const char *sc_cnf_lmtpsock_abs; char *sc_cnf_lmtpsock_alloc; char *sc_cnf_hostname; uint sc_cnf_id; int sc_cnf_port; ipv4_T sc_cnf_sink; /* if != 0: connect only to this sink */ /* ** Thread throttling parameters (all numbers are per listening socket). ** Zero values mean use default. */ /* Max number of "spare" threads */ uint sc_cnf_max_wait_threads; /* Min number of "spare" threads */ uint sc_cnf_min_wait_threads; /* Max number threads */ uint sc_cnf_max_threads; uint32_t sc_cnf_confflags; /* SMTPC configuration flags */ sm_intvl_T sc_cnf_timeout; /* timeout for I/O */ uint sc_cnf_wait4srv; /* how long to wait for QMGR? */ uint32_t sc_cnf_qmgr_tmo; /* timeout for qmgr communication */ uint sc_cnf_loglevel; sm_logspec_T sc_cnf_log; int sc_cnf_debug; /* debug level */ #if 0 char *sc_cnf_logdir; #endif #if MTA_USE_TLS TLS_STRUCTS(sc) tls_cnf_T sc_cnf_tls; #endif #if SC_TEST uint sc_cnf_tests; #endif MCP_STRUCTS(sc_cnf_T, sc_cnf) }; void sc_prt_cnf(sc_cnf_P _sc_cnf, sm_file_T *_fp, bool _all); #endif /* SCCNF_H */