| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef LIBRARIES_NACL_IO_HOST_RESOLVER_H_ | 5 #ifndef LIBRARIES_NACL_IO_HOST_RESOLVER_H_ |
| 6 #define LIBRARIES_NACL_IO_HOST_RESOLVER_H_ | 6 #define LIBRARIES_NACL_IO_HOST_RESOLVER_H_ |
| 7 | 7 |
| 8 #include "nacl_io/ossocket.h" | 8 #include "nacl_io/ossocket.h" |
| 9 #include "nacl_io/pepper_interface.h" | 9 #include "nacl_io/pepper_interface.h" |
| 10 #include "sdk_util/simple_lock.h" | 10 #include "sdk_util/simple_lock.h" |
| 11 | 11 |
| 12 #ifdef PROVIDES_SOCKET_API | 12 #ifdef PROVIDES_SOCKET_API |
| 13 | 13 |
| 14 namespace nacl_io { | 14 namespace nacl_io { |
| 15 | 15 |
| 16 class HostResolver { | 16 class HostResolver { |
| 17 public: | 17 public: |
| 18 HostResolver(); | 18 HostResolver(); |
| 19 ~HostResolver(); | 19 ~HostResolver(); |
| 20 | 20 |
| 21 void Init(PepperInterface* ppapi); | 21 void Init(PepperInterface* ppapi); |
| 22 | 22 |
| 23 void freeaddrinfo(struct addrinfo* res); | 23 void freeaddrinfo(struct addrinfo* res); |
| 24 int getnameinfo(const struct sockaddr *sa, |
| 25 socklen_t salen, |
| 26 char *host, |
| 27 size_t hostlen, |
| 28 char *serv, |
| 29 size_t servlen, |
| 30 int flags); |
| 24 int getaddrinfo(const char* node, | 31 int getaddrinfo(const char* node, |
| 25 const char* service, | 32 const char* service, |
| 26 const struct addrinfo* hints, | 33 const struct addrinfo* hints, |
| 27 struct addrinfo** res); | 34 struct addrinfo** res); |
| 28 struct hostent* gethostbyname(const char* name); | 35 struct hostent* gethostbyname(const char* name); |
| 29 | 36 |
| 30 private: | 37 private: |
| 31 void hostent_initialize(); | 38 void hostent_initialize(); |
| 32 void hostent_cleanup(); | 39 void hostent_cleanup(); |
| 33 | 40 |
| 34 struct hostent hostent_; | 41 struct hostent hostent_; |
| 35 PepperInterface* ppapi_; | 42 PepperInterface* ppapi_; |
| 36 sdk_util::SimpleLock gethostbyname_lock_; | 43 sdk_util::SimpleLock gethostbyname_lock_; |
| 37 }; | 44 }; |
| 38 | 45 |
| 39 } // namespace nacl_io | 46 } // namespace nacl_io |
| 40 | 47 |
| 41 #endif // PROVIDES_SOCKET_API | 48 #endif // PROVIDES_SOCKET_API |
| 42 #endif // LIBRARIES_NACL_IO_HOST_RESOLVER_H_ | 49 #endif // LIBRARIES_NACL_IO_HOST_RESOLVER_H_ |
| OLD | NEW |