/*
* Copyright (c) 2004-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: qmgrcnf.h,v 1.30 2007/07/14 16:55:01 ca Exp $
*/
#ifndef SM_QMGRCNF_H
#define SM_QMGRCNF_H 1
#include "sm/generic.h"
#include "sm/magic.h"
#include "sm/qmgrcto.h"
#include "sm/io.h"
#include "sm/sm-conf.h"
#include "sm/logcnfdef.h"
#include "sm/mcpcnfs.h"
#include "sm/edbcnf.h"
/*
** QMGR Configuration context
** Note: this file doesn't contain (yet) the default values, which
** are required for sm_conf_definition_T
*/
typedef struct qmgr_cnf_S qmgr_cnf_T, *qmgr_cnf_P;
struct qmgr_cnf_S
{
sm_magic_T sm_magic;
sm_conf_T *q_cnf_smc; /* parsed configuration */
char *q_cnf_conffile; /* name of configuration file */
char *q_cnf_smtpssock; /* SMTP Server socket */
const char *q_cnf_smtpssock_abs; /* absolute path SMTP Server socket */
char *q_cnf_smtpssock_alloc; /* allocated path for socket */
char *q_cnf_smtpcsock; /* SMTP Client socket */
const char *q_cnf_smtpcsock_abs;
char *q_cnf_smtpcsock_alloc;
char *q_cnf_smarsock; /* SMAR socket */
const char *q_cnf_smarsock_abs;
char *q_cnf_smarsock_alloc;
char *q_cnf_cdb_base; /* CDB base directory */
char *q_cnf_hostname;
char *q_cnf_ctlsock; /* control socket */
const char *q_cnf_ctlsock_abs;
char *q_cnf_ctlsock_alloc;
char *q_cnf_confmap_fn; /* conf map file name */
char *q_cnf_confmap_path; /* conf map full path */
uint q_cnf_wait4srv; /* time to wait for a server */
uint q_cnf_wait4clt; /* time to wait for a client */
uint q_cnf_iqdb_csize; /* IQDB cache size */
uint q_cnf_iqdb_htsize; /* IQDB hash table size */
uint q_cnf_occ_size; /* OCC hash table size */
uint q_cnf_aq_size; /* AQ size */
uint q_cnf_optas; /* max number of open TAs in IBDB */
uint q_cnf_ibdb_delay; /* max time between idbd_commit() */
uint q_cnf_ibdb_size; /* IBDB size (each file) */
uint q_cnf_min_delay; /* min delay for retries */
uint q_cnf_max_delay; /* max delay for retries */
uint q_cnf_tmo_return; /* max. time in queue */
uint q_cnf_tmo_delay; /* send warning after this */
uint q_cnf_tmo_ar; /* max. time in AR */
uint q_cnf_tmo_da; /* max. time in DA */
uint q_cnf_tmo_sched; /* max time waiting to be scheduled */
uint q_cnf_min_df; /* minimum free disk space (KB) */
uint q_cnf_ok_df; /* ok free disk space (KB) */
uint q_cnf_min_thr;
uint q_cnf_max_thr;
uint q_cnf_max_fd;
char *q_cnf_pm_add; /* double bounce address */
/* SMTPC: */
/* initial number of concurrent connections to the same address */
uint q_cnf_init_conc_conn;
/* max. number of concurrent connections to the same address */
uint q_cnf_max_conc_conn;
/* recipients per transaction */
uint q_cnf_smtp_rcpts_ta;
uint q_cnf_lmtp_rcpts_ta;
uint32_t q_cnf_sc_lfl; /* lookup flags */
/* SMTPS: */
/* max number of open connections from the same address */
uint q_cnf_max_open_se;
/* max connection rate from the same address */
uint q_cnf_max_conn_rate;
/* connection cache size (rate limiting etc) */
uint q_cnf_ss_cc_size;
/* scheduler */
/* max.time for a DSN to wait to be scheduled */
uint q_cnf_t_sched_dsn;
/* max.number of "recipients" in a DSN */
uint q_cnf_dsn_rcpts_max;
uint32_t q_cnf_flags; /* configuration flags, see qmgr-int.h */
uint q_cnf_loglevel;
sm_logspec_T q_cnf_log;
#if QMGR_DEBUG
uint q_cnf_debug;
#endif
#if QMGR_TEST
uint32_t q_cnf_tests;
uint32_t q_cnf_tot_tas;
uint32_t q_cnf_once_tas;
uint q_cnf_max_fill_aq;
uint q_cnf_fill_rate;
#endif
edb_cnf_T q_cnf_edb_cnf;
MCP_STRUCTS(qmgr_cnf_T, q_cnf)
};
void qmgr_prt_cnf(qmgr_cnf_P _qmgr_cnf, sm_file_T *_fp, bool _all);
#endif /* SM_QMGRCNF_H */
syntax highlighted by Code2HTML, v. 0.9.1