#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 */