#pragma once
#include "sock.hpp"
#include <vector>


typedef struct {
    unsigned id;
    sockaddr_in addr;
    char addrstr[ADDRSTRLEN];
    enum {PROXY_TYPE_HTTP, PROXY_TYPE_SOCKS} type;
} proxy_t;


typedef struct config_s {
    std::vector<proxy_t> proxies;
    unsigned min_proxies;
    enum {MODE_CHAIN, MODE_POOL} mode;
} config_t;


bool parse_config(config_t& config, in_port_t& port, int argc, char** argv);