OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
5 */ | 5 */ |
6 #include <errno.h> | 6 #include <errno.h> |
7 #include <irt.h> | 7 #include <irt.h> |
8 #ifdef __GLIBC__ | 8 #ifdef __GLIBC__ |
9 #include <irt_syscalls.h> | 9 #include <irt_syscalls.h> |
10 #endif | 10 #endif |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 } | 162 } |
163 | 163 |
164 int symlink(const char *path1, const char *path2) { | 164 int symlink(const char *path1, const char *path2) { |
165 return kp->symlink(path1, path2); | 165 return kp->symlink(path1, path2); |
166 } | 166 } |
167 | 167 |
168 int kill(pid_t pid, int sig) { | 168 int kill(pid_t pid, int sig) { |
169 return kp->kill(pid, sig); | 169 return kp->kill(pid, sig); |
170 } | 170 } |
171 | 171 |
| 172 struct hostent* gethostbyname(const char* name) { |
| 173 return kp->gethostbyname(name); |
| 174 } |
| 175 |
172 int unlink(const char *path) { | 176 int unlink(const char *path) { |
173 return kp->unlink(path); | 177 return kp->unlink(path); |
174 } | 178 } |
175 | 179 |
176 ssize_t __real_read(int fd, void *buf, size_t count) { | 180 ssize_t __real_read(int fd, void *buf, size_t count) { |
177 if (REAL(read)) { | 181 if (REAL(read)) { |
178 size_t nread; | 182 size_t nread; |
179 int error = REAL(read)(fd, buf, count, &nread); | 183 int error = REAL(read)(fd, buf, count, &nread); |
180 if (error) { | 184 if (error) { |
181 errno = error; | 185 errno = error; |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 struct sockaddr *src_addr, socklen_t *addrlen, int* ret) { | 401 struct sockaddr *src_addr, socklen_t *addrlen, int* ret) { |
398 *ret = kp->recvfrom(sockfd, buf, len, flags, src_addr, addrlen); | 402 *ret = kp->recvfrom(sockfd, buf, len, flags, src_addr, addrlen); |
399 return (*ret < 0) ? errno : 0; | 403 return (*ret < 0) ? errno : 0; |
400 } | 404 } |
401 | 405 |
402 int WRAP(recvmsg) (int sockfd, struct msghdr *msg, int flags, int* ret) { | 406 int WRAP(recvmsg) (int sockfd, struct msghdr *msg, int flags, int* ret) { |
403 *ret = kp->recvmsg(sockfd, msg, flags); | 407 *ret = kp->recvmsg(sockfd, msg, flags); |
404 return (*ret < 0) ? errno : 0; | 408 return (*ret < 0) ? errno : 0; |
405 } | 409 } |
406 | 410 |
| 411 struct hostent* WRAP(gethostbyname) (const char* name) { |
| 412 return kp->gethostbyname(name); |
| 413 } |
| 414 |
| 415 |
407 int WRAP(getsockname) (int sockfd, struct sockaddr* addr, | 416 int WRAP(getsockname) (int sockfd, struct sockaddr* addr, |
408 socklen_t* addrlen) { | 417 socklen_t* addrlen) { |
409 return (kp->getsockname(sockfd, addr, addrlen)) < 0 ? errno : 0; | 418 return (kp->getsockname(sockfd, addr, addrlen)) < 0 ? errno : 0; |
410 } | 419 } |
411 | 420 |
412 int WRAP(getpeername) (int sockfd, struct sockaddr* addr, | 421 int WRAP(getpeername) (int sockfd, struct sockaddr* addr, |
413 socklen_t* addrlen) { | 422 socklen_t* addrlen) { |
414 return (kp->getpeername(sockfd, addr, addrlen) < 0) ? errno : 0; | 423 return (kp->getpeername(sockfd, addr, addrlen) < 0) ? errno : 0; |
415 } | 424 } |
416 | 425 |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
568 return 0; | 577 return 0; |
569 } | 578 } |
570 | 579 |
571 void (*signal(int sig, void (*func)(int)))(int) { | 580 void (*signal(int sig, void (*func)(int)))(int) { |
572 return reinterpret_cast<void(*)(int)>(-1); | 581 return reinterpret_cast<void(*)(int)>(-1); |
573 } | 582 } |
574 | 583 |
575 }; | 584 }; |
576 | 585 |
577 #endif // !__GLIBC__ | 586 #endif // !__GLIBC__ |
OLD | NEW |