X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=postlicyd%2Fconfig.h;h=b60002dd1a06f73e2828179faf046ba52b5ad217;hb=5c6356faa58d3109101e88ecfce207326d89ceab;hp=554fe96cf4de28ceb164bd92c66da105410fe0fe;hpb=9fc48ba2176a71585c13cd346968bdba499e80de;p=apps%2Fpfixtools.git diff --git a/postlicyd/config.h b/postlicyd/config.h index 554fe96..b60002d 100644 --- a/postlicyd/config.h +++ b/postlicyd/config.h @@ -41,14 +41,49 @@ typedef struct config_t config_t; struct config_t { - A(filter_t) filters; + /* SOURCE */ + /* Root configuration file. + */ + const char *filename; + + /* Parameters. + */ A(filter_param_t) params; + + + /* INTERPRETED */ + /* Filters. + */ + A(filter_t) filters; + + /* Entry point of the filters. + * (one per smtp state) + */ int entry_points[SMTP_count]; + + /* Port on which the program have to bind to. + * The parameter from CLI override the parameter from configuration file. + */ + uint16_t port; + + /* Log message. + */ + char *log_format; }; +#define DEFAULT_LOG_FORMAT \ + "request client=${client_name}[${client_address}] from=<${sender}> " \ + "to=<${recipient}> at ${protocol_state}" + __attribute__((nonnull(1))) config_t *config_read(const char *file); +__attribute__((nonnull(1))) +bool config_check(const char *file); + +__attribute__((nonnull(1))) +bool config_reload(config_t *config); + void config_delete(config_t **config); #endif