64 #ifndef MAIL_PROGRAM_LOCAL
65 #define MAIL_PROGRAM_LOCAL "local"
66 #define MAIL_PROGRAM_ERROR "error"
67 #define MAIL_PROGRAM_VIRTUAL "virtual"
68 #define MAIL_PROGRAM_SMTP "smtp"
69 #define MAIL_PROGRAM_LMTP "lmtp"
70 #define MAIL_PROGRAM_PIPE "pipe"
71 #define MAIL_PROGRAM_SPAWN "spawn"
82 #define STR(x) vstring_str(x)
86 static const char *pcf_convert_service_parameter(
void *ptr)
93 static void pcf_register_service_parameter(
const char *service,
97 char *name =
concatenate(service, suffix, (
char *) 0);
113 (
void *) defparam, pcf_convert_service_parameter);
122 const char *myname =
"pcf_register_service_parameters";
126 #define service_params (pipe_params + 1)
151 const char *progname;
154 static const PCF_SERVICE_DEF service_defs[] = {
165 const char *progname;
169 const PCF_SERVICE_DEF *sd;
175 msg_panic(
"%s: global parameter table is not initialized", myname);
177 msg_panic(
"%s: master table is not initialized", myname);
189 progname = argv->
argv[7];
190 for (sd = service_defs; sd->progname; sd++) {
191 if (strcmp(sd->progname, progname) == 0) {
192 service = argv->
argv[0];
193 for (sp = sd->params; sp->
name; sp++)
194 pcf_register_service_parameter(service, sp->
name, sp->
value);
#define VAR_DEST_CON_LIMIT
#define VAR_DELIVERY_SLOT_DISCOUNT
#define MAIL_PROGRAM_VIRTUAL
#define _MIN_DELIVERY_SLOTS
#define _STACK_RCPT_LIMIT
PCF_MASTER_ENT * pcf_master_table
NORETURN msg_panic(const char *fmt,...)
#define _XPORT_RCPT_LIMIT
#define VAR_DELIVERY_SLOT_LOAN
#define VAR_CONC_NEG_FDBACK
#define MAIL_PROGRAM_LMTP
#define PCF_PARAM_TABLE_FIND(table, name)
#define PCF_PARAM_CLASS_OVERRIDE(node, class)
#define VAR_DEST_RCPT_LIMIT
#define VAR_INIT_DEST_CON
#define VAR_CONC_COHORT_LIM
#define VAR_XPORT_REFILL_LIMIT
#define _XPORT_REFILL_LIMIT
#define VAR_DELIVERY_SLOT_COST
#define _XPORT_RATE_DELAY
#define PCF_PARAM_FLAG_SERVICE
void pcf_register_service_parameters(void)
#define _XPORT_REFILL_DELAY
#define VAR_COMMAND_MAXTIME
#define VAR_CONC_POS_FDBACK
#define PCF_PARAM_TABLE_ENTER(table, name, flags, data, func)
#define MAIL_PROGRAM_SMTP
VSTRING * vstring_sprintf(VSTRING *vp, const char *format,...)
#define MAIL_PROGRAM_LOCAL
#define VAR_XPORT_RATE_DELAY
#define _DELIVERY_SLOT_DISCOUNT
#define MAIL_PROGRAM_PIPE
#define MAIL_PROGRAM_SPAWN
char * concatenate(const char *arg0,...)
VSTRING * pcf_param_string_buf
PCF_PARAM_TABLE * pcf_param_table
#define MAIL_PROGRAM_ERROR
#define VAR_XPORT_RCPT_LIMIT
#define VAR_XPORT_REFILL_DELAY
#define VAR_DEST_RATE_DELAY
#define _DELIVERY_SLOT_LOAN
#define _DELIVERY_SLOT_COST
#define VAR_STACK_RCPT_LIMIT
#define VAR_MIN_DELIVERY_SLOTS