config.h 891 Bytes
Newer Older
Jack Moffitt's avatar
Jack Moffitt committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#ifndef __CONFIG_H__
#define __CONFIG_H__

#define CONFIG_EINSANE -1
#define CONFIG_ENOROOT -2
#define CONFIG_EBADROOT -3

typedef struct ice_config_dir_tag
{
	char *host;
	int touch_freq;
	struct ice_config_dir_tag *next;
} ice_config_dir_t;

typedef struct ice_config_tag
{
	char *location;
	char *admin;

	int client_limit;
	int source_limit;
	int threadpool_size;
	int client_timeout;
	int header_timeout;
25
	int source_timeout;
Jack Moffitt's avatar
Jack Moffitt committed
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

	char *source_password;

	int touch_freq;
	ice_config_dir_t *dir_list;

	char *hostname;
	int port;
	char *bind_address;

	char *base_dir;
	char *log_dir;

	char *access_log;
	char *error_log;
} ice_config_t;

void config_initialize(void);
void config_shutdown(void);

int config_parse_file(const char *filename);
int config_parse_cmdline(int arg, char **argv);

int config_rehash(void);

ice_config_t *config_get_config(void);

#endif  /* __CONFIG_H__ */