29 lines
751 B
C
29 lines
751 B
C
#ifndef CONFIG_H
|
|
#define CONFIG_H
|
|
|
|
#define ENV_GANDI_TOKEN "GANDI_API_TOKEN"
|
|
#define ENV_DOMAINS "DOMAINS"
|
|
#define ENV_DNS_KEEPER_PORT "DNS_KEEPER_PORT"
|
|
#define ENV_DNS_KEEPER_DOMAIN "DNS_KEEPER_DOMAIN"
|
|
#define ENV_DNS_KEEPER_RECORD "DNS_KEEPER_RECORD"
|
|
#define ENV_POLL_INTERVAL "POLL_INTERVAL"
|
|
|
|
#define DEFAULT_DNS_KEEPER_PORT 65535u
|
|
#define DEFAULT_POLL_INTERVAL 5u
|
|
#define CONFIG_MAX_DOMAIN_LEN 253u /* RFC 1035 max FQDN length */
|
|
|
|
typedef struct {
|
|
char *api_token;
|
|
char *dns_keeper_domain;
|
|
char *dns_keeper_record;
|
|
int dns_keeper_port;
|
|
int poll_interval;
|
|
char **domains;
|
|
int domain_count;
|
|
} Config;
|
|
|
|
int config_load(Config *cfg);
|
|
void config_free(Config *cfg);
|
|
|
|
#endif /* CONFIG_H */
|