#ifndef LIBRARIES_NACL_IO_HOST_RESOLVER_H_
#define LIBRARIES_NACL_IO_HOST_RESOLVER_H_
#include "nacl_io/ossocket.h"
#include "nacl_io/pepper_interface.h"
#include "sdk_util/simple_lock.h"
#ifdef PROVIDES_SOCKET_API
namespace nacl_io {
class HostResolver {
public:
HostResolver();
~HostResolver();
void Init(PepperInterface* ppapi);
void freeaddrinfo(struct addrinfo *res);
int getaddrinfo(const char *node, const char *service,
const struct addrinfo *hints,
struct addrinfo **res);
struct hostent* gethostbyname(const char* name);
private:
void hostent_initialize();
void hostent_cleanup();
struct hostent hostent_;
PepperInterface *ppapi_;
sdk_util::SimpleLock gethostbyname_lock_;
};
}
#endif
#endif