Commit 1e336c45 authored by sbc's avatar sbc Committed by Commit bot

[NaCl SDK] nacl_io: add getnameinfo scaffolding

This initial version still returns ENOSYS.

Review URL: https://codereview.chromium.org/512603008

Cr-Commit-Position: refs/heads/master@{#292515}
parent 52f7cef7
...@@ -221,6 +221,16 @@ void HostResolver::freeaddrinfo(struct addrinfo* res) { ...@@ -221,6 +221,16 @@ void HostResolver::freeaddrinfo(struct addrinfo* res) {
} }
} }
int HostResolver::getnameinfo(const struct sockaddr *sa,
socklen_t salen,
char *host,
size_t hostlen,
char *serv,
size_t servlen,
int flags) {
return ENOSYS;
}
int HostResolver::getaddrinfo(const char* node, int HostResolver::getaddrinfo(const char* node,
const char* service, const char* service,
const struct addrinfo* hints_in, const struct addrinfo* hints_in,
......
...@@ -21,6 +21,13 @@ class HostResolver { ...@@ -21,6 +21,13 @@ class HostResolver {
void Init(PepperInterface* ppapi); void Init(PepperInterface* ppapi);
void freeaddrinfo(struct addrinfo* res); void freeaddrinfo(struct addrinfo* res);
int getnameinfo(const struct sockaddr *sa,
socklen_t salen,
char *host,
size_t hostlen,
char *serv,
size_t servlen,
int flags);
int getaddrinfo(const char* node, int getaddrinfo(const char* node,
const char* service, const char* service,
const struct addrinfo* hints, const struct addrinfo* hints,
......
...@@ -482,6 +482,18 @@ struct hostent* ki_gethostbyname(const char* name) { ...@@ -482,6 +482,18 @@ struct hostent* ki_gethostbyname(const char* name) {
return s_state.kp->gethostbyname(name); return s_state.kp->gethostbyname(name);
} }
int ki_getnameinfo(const struct sockaddr *sa,
socklen_t salen,
char *host,
size_t hostlen,
char *serv,
size_t servlen,
unsigned int flags) {
ON_NOSYS_RETURN(EAI_SYSTEM);
return s_state.kp->getnameinfo(sa, salen, host, hostlen, serv, servlen,
flags);
}
int ki_getaddrinfo(const char* node, int ki_getaddrinfo(const char* node,
const char* service, const char* service,
const struct addrinfo* hints, const struct addrinfo* hints,
......
...@@ -154,6 +154,13 @@ int ki_getaddrinfo(const char* node, ...@@ -154,6 +154,13 @@ int ki_getaddrinfo(const char* node,
const struct addrinfo* hints, const struct addrinfo* hints,
struct addrinfo** res); struct addrinfo** res);
struct hostent* ki_gethostbyname(const char* name); struct hostent* ki_gethostbyname(const char* name);
int ki_getnameinfo(const struct sockaddr *sa,
socklen_t salen,
char *host,
size_t hostlen,
char *serv,
size_t servlen,
unsigned int flags);
int ki_getpeername(int fd, struct sockaddr* addr, socklen_t* len); int ki_getpeername(int fd, struct sockaddr* addr, socklen_t* len);
int ki_getsockname(int fd, struct sockaddr* addr, socklen_t* len); int ki_getsockname(int fd, struct sockaddr* addr, socklen_t* len);
int ki_getsockopt(int fd, int lvl, int optname, void* optval, socklen_t* len); int ki_getsockopt(int fd, int lvl, int optname, void* optval, socklen_t* len);
......
...@@ -1356,6 +1356,17 @@ int KernelProxy::getaddrinfo(const char* node, ...@@ -1356,6 +1356,17 @@ int KernelProxy::getaddrinfo(const char* node,
return host_resolver_.getaddrinfo(node, service, hints, res); return host_resolver_.getaddrinfo(node, service, hints, res);
} }
int KernelProxy::getnameinfo(const struct sockaddr *sa,
socklen_t salen,
char *host,
size_t hostlen,
char *serv,
size_t servlen,
int flags) {
return host_resolver_.getnameinfo(sa, salen, host, hostlen, serv, servlen,
flags);
}
struct hostent* KernelProxy::gethostbyname(const char* name) { struct hostent* KernelProxy::gethostbyname(const char* name) {
return host_resolver_.gethostbyname(name); return host_resolver_.gethostbyname(name);
} }
......
...@@ -177,6 +177,13 @@ class KernelProxy : protected KernelObject { ...@@ -177,6 +177,13 @@ class KernelProxy : protected KernelObject {
const char* service, const char* service,
const struct addrinfo* hints, const struct addrinfo* hints,
struct addrinfo** res); struct addrinfo** res);
virtual int getnameinfo(const struct sockaddr *sa,
socklen_t salen,
char *host,
size_t hostlen,
char *serv,
size_t servlen,
int flags);
virtual int getpeername(int fd, struct sockaddr* addr, socklen_t* len); virtual int getpeername(int fd, struct sockaddr* addr, socklen_t* len);
virtual int getsockname(int fd, struct sockaddr* addr, socklen_t* len); virtual int getsockname(int fd, struct sockaddr* addr, socklen_t* len);
virtual int getsockopt(int fd, virtual int getsockopt(int fd,
......
...@@ -83,6 +83,7 @@ ...@@ -83,6 +83,7 @@
"syscalls/getaddrinfo.c", "syscalls/getaddrinfo.c",
"syscalls/getcwd.c", "syscalls/getcwd.c",
"syscalls/gethostbyname.c", "syscalls/gethostbyname.c",
"syscalls/getnameinfo.c",
"syscalls/getpeername.c", "syscalls/getpeername.c",
"syscalls/getsockname.c", "syscalls/getsockname.c",
"syscalls/getsockopt.c", "syscalls/getsockopt.c",
......
/* Copyright 2014 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file. */
#include "nacl_io/kernel_intercept.h"
#include "nacl_io/kernel_wrap.h"
#ifdef __native_client__
int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
socklen_t hostlen, char *serv, socklen_t servlen,
unsigned int flags) {
return ki_getnameinfo(sa, salen, host, hostlen, serv, servlen, flags);
}
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment