#ifndef NETD_RESOLV_STATIC_H
#define NETD_RESOLV_STATIC_H

#include <netdb.h>

/* this structure contains all the variables that were declared
 * 'static' in the original NetBSD resolver code.
 *
 * this caused vast amounts of crashes and memory corruptions
 * when the resolver was being used by multiple threads.
 *
 * (note: the OpenBSD/FreeBSD resolver has similar 'issues')
 */

#define MAXALIASES 35
#define MAXADDRS 35

struct res_static {
    char* h_addr_ptrs[MAXADDRS + 1];
    char* host_aliases[MAXALIASES];
    char hostbuf[8 * 1024];
    u_int32_t host_addr[16 / sizeof(u_int32_t)]; /* IPv4 or IPv6 */
    FILE* hostf;
    int stayopen;
    const char* servent_ptr;
    struct servent servent;
    struct hostent host;
};

res_static* res_get_static();

#endif  // NETD_RESOLV_STATIC_H
