master-service-private.h revision 17fe695b985e9d6e9dc39c05b24e6b3c3b7e1ba1
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina#ifndef MASTER_SERVICE_PRIVATE_H
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina#define MASTER_SERVICE_PRIVATE_H
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina#include "master-interface.h"
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina#include "master-service.h"
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinastruct master_service_listener {
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina struct master_service *service;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina int fd;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina bool ssl;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina struct io *io;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina};
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březinastruct master_service {
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina struct ioloop *ioloop;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina char *name;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina enum master_service_flags flags;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina int argc;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina char **argv;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina const char *version_string;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina const char *config_path;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina ARRAY_TYPE(const_string) config_overrides;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina int config_fd;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina int syslog_facility;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina unsigned int socket_count, ssl_socket_count;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina struct master_service_listener *listeners;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina struct io *io_status_write, *io_status_error;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina unsigned int service_count_left;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina unsigned int total_available_count;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina struct master_status master_status;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina struct master_auth *auth;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina master_service_connection_callback_t *callback;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina pool_t set_pool;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina const struct master_service_settings *set;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina struct setting_parser_context *set_parser;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina unsigned int keep_environment:1;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina unsigned int log_directly:1;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina unsigned int initial_status_sent:1;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina unsigned int default_settings:1;
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina};
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina#endif
4049b63f8c67ada17b453463b0451ca6be3d5de4Pavel Březina