| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "nacl_io/kernel_intercept.h" | 5 #include "nacl_io/kernel_intercept.h" |
| 6 | 6 |
| 7 #include <assert.h> | 7 #include <assert.h> |
| 8 #include <errno.h> | 8 #include <errno.h> |
| 9 #include <string.h> | 9 #include <string.h> |
| 10 | 10 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 s_state.kp_owned = false; | 47 s_state.kp_owned = false; |
| 48 return 0; | 48 return 0; |
| 49 } | 49 } |
| 50 | 50 |
| 51 int ki_init(void* kp) { | 51 int ki_init(void* kp) { |
| 52 LOG_TRACE("ki_init: %p", kp); | 52 LOG_TRACE("ki_init: %p", kp); |
| 53 return ki_init_ppapi(kp, 0, NULL); | 53 return ki_init_ppapi(kp, 0, NULL); |
| 54 } | 54 } |
| 55 | 55 |
| 56 int ki_init_ppapi(void* kp, | 56 int ki_init_ppapi(void* kp, |
| 57 PP_Instance instance, | 57 PP_Instance instance, |
| 58 PPB_GetInterface get_browser_interface) { | 58 PPB_GetInterface get_browser_interface) { |
| 59 assert(!s_state.kp); | 59 assert(!s_state.kp); |
| 60 if (s_state.kp != NULL) | 60 if (s_state.kp != NULL) |
| 61 return 1; | 61 return 1; |
| 62 PepperInterface* ppapi = NULL; | 62 PepperInterface* ppapi = NULL; |
| 63 if (instance && get_browser_interface) { | 63 if (instance && get_browser_interface) { |
| 64 ppapi = new RealPepperInterface(instance, get_browser_interface); | 64 ppapi = new RealPepperInterface(instance, get_browser_interface); |
| 65 s_state.ppapi = ppapi; | 65 s_state.ppapi = ppapi; |
| 66 } | 66 } |
| 67 int rtn = ki_init_interface(kp, ppapi); | 67 int rtn = ki_init_interface(kp, ppapi); |
| 68 return rtn; | 68 return rtn; |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 int ki_dup(int oldfd) { | 156 int ki_dup(int oldfd) { |
| 157 ON_NOSYS_RETURN(-1); | 157 ON_NOSYS_RETURN(-1); |
| 158 return s_state.kp->dup(oldfd); | 158 return s_state.kp->dup(oldfd); |
| 159 } | 159 } |
| 160 | 160 |
| 161 int ki_dup2(int oldfd, int newfd) { | 161 int ki_dup2(int oldfd, int newfd) { |
| 162 ON_NOSYS_RETURN(-1); | 162 ON_NOSYS_RETURN(-1); |
| 163 return s_state.kp->dup2(oldfd, newfd); | 163 return s_state.kp->dup2(oldfd, newfd); |
| 164 } | 164 } |
| 165 | 165 |
| 166 int ki_chmod(const char *path, mode_t mode) { | 166 int ki_chmod(const char* path, mode_t mode) { |
| 167 ON_NOSYS_RETURN(-1); | 167 ON_NOSYS_RETURN(-1); |
| 168 return s_state.kp->chmod(path, mode); | 168 return s_state.kp->chmod(path, mode); |
| 169 } | 169 } |
| 170 | 170 |
| 171 int ki_fchdir(int fd) { | 171 int ki_fchdir(int fd) { |
| 172 ON_NOSYS_RETURN(-1); | 172 ON_NOSYS_RETURN(-1); |
| 173 return s_state.kp->fchdir(fd); | 173 return s_state.kp->fchdir(fd); |
| 174 } | 174 } |
| 175 | 175 |
| 176 int ki_fchmod(int fd, mode_t mode) { | 176 int ki_fchmod(int fd, mode_t mode) { |
| 177 ON_NOSYS_RETURN(-1); | 177 ON_NOSYS_RETURN(-1); |
| 178 return s_state.kp->fchmod(fd, mode); | 178 return s_state.kp->fchmod(fd, mode); |
| 179 } | 179 } |
| 180 | 180 |
| 181 int ki_stat(const char *path, struct stat *buf) { | 181 int ki_stat(const char* path, struct stat* buf) { |
| 182 ON_NOSYS_RETURN(-1); | 182 ON_NOSYS_RETURN(-1); |
| 183 return s_state.kp->stat(path, buf); | 183 return s_state.kp->stat(path, buf); |
| 184 } | 184 } |
| 185 | 185 |
| 186 int ki_mkdir(const char *path, mode_t mode) { | 186 int ki_mkdir(const char* path, mode_t mode) { |
| 187 ON_NOSYS_RETURN(-1); | 187 ON_NOSYS_RETURN(-1); |
| 188 return s_state.kp->mkdir(path, mode); | 188 return s_state.kp->mkdir(path, mode); |
| 189 } | 189 } |
| 190 | 190 |
| 191 int ki_rmdir(const char *path) { | 191 int ki_rmdir(const char* path) { |
| 192 ON_NOSYS_RETURN(-1); | 192 ON_NOSYS_RETURN(-1); |
| 193 return s_state.kp->rmdir(path); | 193 return s_state.kp->rmdir(path); |
| 194 } | 194 } |
| 195 | 195 |
| 196 int ki_mount(const char *source, const char *target, const char *filesystemtype, | 196 int ki_mount(const char* source, |
| 197 unsigned long mountflags, const void *data) { | 197 const char* target, |
| 198 const char* filesystemtype, |
| 199 unsigned long mountflags, |
| 200 const void* data) { |
| 198 ON_NOSYS_RETURN(-1); | 201 ON_NOSYS_RETURN(-1); |
| 199 return s_state.kp->mount(source, target, filesystemtype, mountflags, data); | 202 return s_state.kp->mount(source, target, filesystemtype, mountflags, data); |
| 200 } | 203 } |
| 201 | 204 |
| 202 int ki_umount(const char *path) { | 205 int ki_umount(const char* path) { |
| 203 ON_NOSYS_RETURN(-1); | 206 ON_NOSYS_RETURN(-1); |
| 204 return s_state.kp->umount(path); | 207 return s_state.kp->umount(path); |
| 205 } | 208 } |
| 206 | 209 |
| 207 int ki_open(const char *path, int oflag) { | 210 int ki_open(const char* path, int oflag) { |
| 208 ON_NOSYS_RETURN(-1); | 211 ON_NOSYS_RETURN(-1); |
| 209 return s_state.kp->open(path, oflag); | 212 return s_state.kp->open(path, oflag); |
| 210 } | 213 } |
| 211 | 214 |
| 212 int ki_pipe(int pipefds[2]) { | 215 int ki_pipe(int pipefds[2]) { |
| 213 ON_NOSYS_RETURN(-1); | 216 ON_NOSYS_RETURN(-1); |
| 214 return s_state.kp->pipe(pipefds); | 217 return s_state.kp->pipe(pipefds); |
| 215 } | 218 } |
| 216 | 219 |
| 217 ssize_t ki_read(int fd, void *buf, size_t nbyte) { | 220 ssize_t ki_read(int fd, void* buf, size_t nbyte) { |
| 218 ON_NOSYS_RETURN(-1); | 221 ON_NOSYS_RETURN(-1); |
| 219 return s_state.kp->read(fd, buf, nbyte); | 222 return s_state.kp->read(fd, buf, nbyte); |
| 220 } | 223 } |
| 221 | 224 |
| 222 ssize_t ki_write(int fd, const void *buf, size_t nbyte) { | 225 ssize_t ki_write(int fd, const void* buf, size_t nbyte) { |
| 223 ON_NOSYS_RETURN(-1); | 226 ON_NOSYS_RETURN(-1); |
| 224 return s_state.kp->write(fd, buf, nbyte); | 227 return s_state.kp->write(fd, buf, nbyte); |
| 225 } | 228 } |
| 226 | 229 |
| 227 int ki_fstat(int fd, struct stat *buf){ | 230 int ki_fstat(int fd, struct stat* buf) { |
| 228 ON_NOSYS_RETURN(-1); | 231 ON_NOSYS_RETURN(-1); |
| 229 return s_state.kp->fstat(fd, buf); | 232 return s_state.kp->fstat(fd, buf); |
| 230 } | 233 } |
| 231 | 234 |
| 232 int ki_getdents(int fd, void *buf, unsigned int count) { | 235 int ki_getdents(int fd, void* buf, unsigned int count) { |
| 233 ON_NOSYS_RETURN(-1); | 236 ON_NOSYS_RETURN(-1); |
| 234 return s_state.kp->getdents(fd, buf, count); | 237 return s_state.kp->getdents(fd, buf, count); |
| 235 } | 238 } |
| 236 | 239 |
| 237 int ki_ftruncate(int fd, off_t length) { | 240 int ki_ftruncate(int fd, off_t length) { |
| 238 ON_NOSYS_RETURN(-1); | 241 ON_NOSYS_RETURN(-1); |
| 239 return s_state.kp->ftruncate(fd, length); | 242 return s_state.kp->ftruncate(fd, length); |
| 240 } | 243 } |
| 241 | 244 |
| 242 int ki_fsync(int fd) { | 245 int ki_fsync(int fd) { |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 int ki_symlink(const char* oldpath, const char* newpath) { | 300 int ki_symlink(const char* oldpath, const char* newpath) { |
| 298 ON_NOSYS_RETURN(-1); | 301 ON_NOSYS_RETURN(-1); |
| 299 return s_state.kp->symlink(oldpath, newpath); | 302 return s_state.kp->symlink(oldpath, newpath); |
| 300 } | 303 } |
| 301 | 304 |
| 302 int ki_access(const char* path, int amode) { | 305 int ki_access(const char* path, int amode) { |
| 303 ON_NOSYS_RETURN(-1); | 306 ON_NOSYS_RETURN(-1); |
| 304 return s_state.kp->access(path, amode); | 307 return s_state.kp->access(path, amode); |
| 305 } | 308 } |
| 306 | 309 |
| 307 int ki_readlink(const char *path, char *buf, size_t count) { | 310 int ki_readlink(const char* path, char* buf, size_t count) { |
| 308 ON_NOSYS_RETURN(-1); | 311 ON_NOSYS_RETURN(-1); |
| 309 return s_state.kp->readlink(path, buf, count); | 312 return s_state.kp->readlink(path, buf, count); |
| 310 } | 313 } |
| 311 | 314 |
| 312 int ki_utimes(const char *path, const struct timeval times[2]) { | 315 int ki_utimes(const char* path, const struct timeval times[2]) { |
| 313 ON_NOSYS_RETURN(-1); | 316 ON_NOSYS_RETURN(-1); |
| 314 return s_state.kp->utimes(path, times); | 317 return s_state.kp->utimes(path, times); |
| 315 } | 318 } |
| 316 | 319 |
| 317 void* ki_mmap(void* addr, size_t length, int prot, int flags, int fd, | 320 void* ki_mmap(void* addr, |
| 321 size_t length, |
| 322 int prot, |
| 323 int flags, |
| 324 int fd, |
| 318 off_t offset) { | 325 off_t offset) { |
| 319 ON_NOSYS_RETURN(MAP_FAILED); | 326 ON_NOSYS_RETURN(MAP_FAILED); |
| 320 return s_state.kp->mmap(addr, length, prot, flags, fd, offset); | 327 return s_state.kp->mmap(addr, length, prot, flags, fd, offset); |
| 321 } | 328 } |
| 322 | 329 |
| 323 int ki_munmap(void* addr, size_t length) { | 330 int ki_munmap(void* addr, size_t length) { |
| 324 ON_NOSYS_RETURN(-1); | 331 ON_NOSYS_RETURN(-1); |
| 325 return s_state.kp->munmap(addr, length); | 332 return s_state.kp->munmap(addr, length); |
| 326 } | 333 } |
| 327 | 334 |
| 328 int ki_open_resource(const char* file) { | 335 int ki_open_resource(const char* file) { |
| 329 ON_NOSYS_RETURN(-1); return s_state.kp->open_resource(file); | 336 ON_NOSYS_RETURN(-1); |
| 337 return s_state.kp->open_resource(file); |
| 330 } | 338 } |
| 331 | 339 |
| 332 int ki_fcntl(int d, int request, va_list args) { | 340 int ki_fcntl(int d, int request, va_list args) { |
| 333 ON_NOSYS_RETURN(-1); | 341 ON_NOSYS_RETURN(-1); |
| 334 return s_state.kp->fcntl(d, request, args); | 342 return s_state.kp->fcntl(d, request, args); |
| 335 } | 343 } |
| 336 | 344 |
| 337 int ki_ioctl(int d, int request, va_list args) { | 345 int ki_ioctl(int d, int request, va_list args) { |
| 338 ON_NOSYS_RETURN(-1); | 346 ON_NOSYS_RETURN(-1); |
| 339 return s_state.kp->ioctl(d, request, args); | 347 return s_state.kp->ioctl(d, request, args); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 352 int ki_lchown(const char* path, uid_t owner, gid_t group) { | 360 int ki_lchown(const char* path, uid_t owner, gid_t group) { |
| 353 ON_NOSYS_RETURN(-1); | 361 ON_NOSYS_RETURN(-1); |
| 354 return s_state.kp->lchown(path, owner, group); | 362 return s_state.kp->lchown(path, owner, group); |
| 355 } | 363 } |
| 356 | 364 |
| 357 int ki_utime(const char* filename, const struct utimbuf* times) { | 365 int ki_utime(const char* filename, const struct utimbuf* times) { |
| 358 ON_NOSYS_RETURN(-1); | 366 ON_NOSYS_RETURN(-1); |
| 359 return s_state.kp->utime(filename, times); | 367 return s_state.kp->utime(filename, times); |
| 360 } | 368 } |
| 361 | 369 |
| 362 int ki_poll(struct pollfd *fds, nfds_t nfds, int timeout) { | 370 int ki_poll(struct pollfd* fds, nfds_t nfds, int timeout) { |
| 363 return s_state.kp->poll(fds, nfds, timeout); | 371 return s_state.kp->poll(fds, nfds, timeout); |
| 364 } | 372 } |
| 365 | 373 |
| 366 int ki_select(int nfds, fd_set* readfds, fd_set* writefds, | 374 int ki_select(int nfds, |
| 367 fd_set* exceptfds, struct timeval* timeout) { | 375 fd_set* readfds, |
| 376 fd_set* writefds, |
| 377 fd_set* exceptfds, |
| 378 struct timeval* timeout) { |
| 368 return s_state.kp->select(nfds, readfds, writefds, exceptfds, timeout); | 379 return s_state.kp->select(nfds, readfds, writefds, exceptfds, timeout); |
| 369 } | 380 } |
| 370 | 381 |
| 371 int ki_tcflush(int fd, int queue_selector) { | 382 int ki_tcflush(int fd, int queue_selector) { |
| 372 ON_NOSYS_RETURN(-1); | 383 ON_NOSYS_RETURN(-1); |
| 373 return s_state.kp->tcflush(fd, queue_selector); | 384 return s_state.kp->tcflush(fd, queue_selector); |
| 374 } | 385 } |
| 375 | 386 |
| 376 int ki_tcgetattr(int fd, struct termios* termios_p) { | 387 int ki_tcgetattr(int fd, struct termios* termios_p) { |
| 377 ON_NOSYS_RETURN(-1); | 388 ON_NOSYS_RETURN(-1); |
| 378 return s_state.kp->tcgetattr(fd, termios_p); | 389 return s_state.kp->tcgetattr(fd, termios_p); |
| 379 } | 390 } |
| 380 | 391 |
| 381 int ki_tcsetattr(int fd, int optional_actions, | 392 int ki_tcsetattr(int fd, |
| 382 const struct termios *termios_p) { | 393 int optional_actions, |
| 394 const struct termios* termios_p) { |
| 383 ON_NOSYS_RETURN(-1); | 395 ON_NOSYS_RETURN(-1); |
| 384 return s_state.kp->tcsetattr(fd, optional_actions, termios_p); | 396 return s_state.kp->tcsetattr(fd, optional_actions, termios_p); |
| 385 } | 397 } |
| 386 | 398 |
| 387 int ki_kill(pid_t pid, int sig) { | 399 int ki_kill(pid_t pid, int sig) { |
| 388 ON_NOSYS_RETURN(-1); | 400 ON_NOSYS_RETURN(-1); |
| 389 return s_state.kp->kill(pid, sig); | 401 return s_state.kp->kill(pid, sig); |
| 390 } | 402 } |
| 391 | 403 |
| 392 int ki_killpg(pid_t pid, int sig) { | 404 int ki_killpg(pid_t pid, int sig) { |
| 393 errno = ENOSYS; | 405 errno = ENOSYS; |
| 394 return -1; | 406 return -1; |
| 395 } | 407 } |
| 396 | 408 |
| 397 int ki_sigaction(int signum, const struct sigaction* action, | 409 int ki_sigaction(int signum, |
| 410 const struct sigaction* action, |
| 398 struct sigaction* oaction) { | 411 struct sigaction* oaction) { |
| 399 ON_NOSYS_RETURN(-1); | 412 ON_NOSYS_RETURN(-1); |
| 400 return s_state.kp->sigaction(signum, action, oaction); | 413 return s_state.kp->sigaction(signum, action, oaction); |
| 401 } | 414 } |
| 402 | 415 |
| 403 int ki_sigpause(int sigmask) { | 416 int ki_sigpause(int sigmask) { |
| 404 errno = ENOSYS; | 417 errno = ENOSYS; |
| 405 return -1; | 418 return -1; |
| 406 } | 419 } |
| 407 | 420 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 int ki_connect(int fd, const struct sockaddr* addr, socklen_t len) { | 461 int ki_connect(int fd, const struct sockaddr* addr, socklen_t len) { |
| 449 ON_NOSYS_RETURN(-1); | 462 ON_NOSYS_RETURN(-1); |
| 450 return s_state.kp->connect(fd, addr, len); | 463 return s_state.kp->connect(fd, addr, len); |
| 451 } | 464 } |
| 452 | 465 |
| 453 struct hostent* ki_gethostbyname(const char* name) { | 466 struct hostent* ki_gethostbyname(const char* name) { |
| 454 ON_NOSYS_RETURN(NULL); | 467 ON_NOSYS_RETURN(NULL); |
| 455 return s_state.kp->gethostbyname(name); | 468 return s_state.kp->gethostbyname(name); |
| 456 } | 469 } |
| 457 | 470 |
| 458 int ki_getaddrinfo(const char *node, const char *service, | 471 int ki_getaddrinfo(const char* node, |
| 459 const struct addrinfo *hints, | 472 const char* service, |
| 460 struct addrinfo **res) { | 473 const struct addrinfo* hints, |
| 474 struct addrinfo** res) { |
| 461 ON_NOSYS_RETURN(EAI_SYSTEM); | 475 ON_NOSYS_RETURN(EAI_SYSTEM); |
| 462 return s_state.kp->getaddrinfo(node, service, hints, res); | 476 return s_state.kp->getaddrinfo(node, service, hints, res); |
| 463 } | 477 } |
| 464 | 478 |
| 465 void ki_freeaddrinfo(struct addrinfo *res) { | 479 void ki_freeaddrinfo(struct addrinfo* res) { |
| 466 s_state.kp->freeaddrinfo(res); | 480 s_state.kp->freeaddrinfo(res); |
| 467 } | 481 } |
| 468 | 482 |
| 469 int ki_getpeername(int fd, struct sockaddr* addr, socklen_t* len) { | 483 int ki_getpeername(int fd, struct sockaddr* addr, socklen_t* len) { |
| 470 ON_NOSYS_RETURN(-1); | 484 ON_NOSYS_RETURN(-1); |
| 471 return s_state.kp->getpeername(fd, addr, len); | 485 return s_state.kp->getpeername(fd, addr, len); |
| 472 } | 486 } |
| 473 | 487 |
| 474 int ki_getsockname(int fd, struct sockaddr* addr, socklen_t* len) { | 488 int ki_getsockname(int fd, struct sockaddr* addr, socklen_t* len) { |
| 475 ON_NOSYS_RETURN(-1); | 489 ON_NOSYS_RETURN(-1); |
| 476 return s_state.kp->getsockname(fd, addr, len); | 490 return s_state.kp->getsockname(fd, addr, len); |
| 477 } | 491 } |
| 478 | 492 |
| 479 int ki_getsockopt(int fd, int lvl, int optname, void* optval, socklen_t* len) { | 493 int ki_getsockopt(int fd, int lvl, int optname, void* optval, socklen_t* len) { |
| 480 ON_NOSYS_RETURN(-1); | 494 ON_NOSYS_RETURN(-1); |
| 481 return s_state.kp->getsockopt(fd, lvl, optname, optval, len); | 495 return s_state.kp->getsockopt(fd, lvl, optname, optval, len); |
| 482 } | 496 } |
| 483 | 497 |
| 484 int ki_listen(int fd, int backlog) { | 498 int ki_listen(int fd, int backlog) { |
| 485 ON_NOSYS_RETURN(-1); | 499 ON_NOSYS_RETURN(-1); |
| 486 return s_state.kp->listen(fd, backlog); | 500 return s_state.kp->listen(fd, backlog); |
| 487 } | 501 } |
| 488 | 502 |
| 489 ssize_t ki_recv(int fd, void* buf, size_t len, int flags) { | 503 ssize_t ki_recv(int fd, void* buf, size_t len, int flags) { |
| 490 ON_NOSYS_RETURN(-1); | 504 ON_NOSYS_RETURN(-1); |
| 491 return s_state.kp->recv(fd, buf, len, flags); | 505 return s_state.kp->recv(fd, buf, len, flags); |
| 492 } | 506 } |
| 493 | 507 |
| 494 ssize_t ki_recvfrom(int fd, void* buf, size_t len, int flags, | 508 ssize_t ki_recvfrom(int fd, |
| 495 struct sockaddr* addr, socklen_t* addrlen) { | 509 void* buf, |
| 510 size_t len, |
| 511 int flags, |
| 512 struct sockaddr* addr, |
| 513 socklen_t* addrlen) { |
| 496 ON_NOSYS_RETURN(-1); | 514 ON_NOSYS_RETURN(-1); |
| 497 return s_state.kp->recvfrom(fd, buf, len, flags, addr, addrlen); | 515 return s_state.kp->recvfrom(fd, buf, len, flags, addr, addrlen); |
| 498 } | 516 } |
| 499 | 517 |
| 500 ssize_t ki_recvmsg(int fd, struct msghdr* msg, int flags) { | 518 ssize_t ki_recvmsg(int fd, struct msghdr* msg, int flags) { |
| 501 ON_NOSYS_RETURN(-1); | 519 ON_NOSYS_RETURN(-1); |
| 502 return s_state.kp->recvmsg(fd, msg, flags); | 520 return s_state.kp->recvmsg(fd, msg, flags); |
| 503 } | 521 } |
| 504 | 522 |
| 505 ssize_t ki_send(int fd, const void* buf, size_t len, int flags) { | 523 ssize_t ki_send(int fd, const void* buf, size_t len, int flags) { |
| 506 ON_NOSYS_RETURN(-1); | 524 ON_NOSYS_RETURN(-1); |
| 507 return s_state.kp->send(fd, buf, len, flags); | 525 return s_state.kp->send(fd, buf, len, flags); |
| 508 } | 526 } |
| 509 | 527 |
| 510 ssize_t ki_sendto(int fd, const void* buf, size_t len, int flags, | 528 ssize_t ki_sendto(int fd, |
| 511 const struct sockaddr* addr, socklen_t addrlen) { | 529 const void* buf, |
| 530 size_t len, |
| 531 int flags, |
| 532 const struct sockaddr* addr, |
| 533 socklen_t addrlen) { |
| 512 ON_NOSYS_RETURN(-1); | 534 ON_NOSYS_RETURN(-1); |
| 513 return s_state.kp->sendto(fd, buf, len, flags, addr, addrlen); | 535 return s_state.kp->sendto(fd, buf, len, flags, addr, addrlen); |
| 514 } | 536 } |
| 515 | 537 |
| 516 ssize_t ki_sendmsg(int fd, const struct msghdr* msg, int flags) { | 538 ssize_t ki_sendmsg(int fd, const struct msghdr* msg, int flags) { |
| 517 ON_NOSYS_RETURN(-1); | 539 ON_NOSYS_RETURN(-1); |
| 518 return s_state.kp->sendmsg(fd, msg, flags); | 540 return s_state.kp->sendmsg(fd, msg, flags); |
| 519 } | 541 } |
| 520 | 542 |
| 521 int ki_setsockopt(int fd, int lvl, int optname, const void* optval, | 543 int ki_setsockopt(int fd, |
| 544 int lvl, |
| 545 int optname, |
| 546 const void* optval, |
| 522 socklen_t len) { | 547 socklen_t len) { |
| 523 ON_NOSYS_RETURN(-1); | 548 ON_NOSYS_RETURN(-1); |
| 524 return s_state.kp->setsockopt(fd, lvl, optname, optval, len); | 549 return s_state.kp->setsockopt(fd, lvl, optname, optval, len); |
| 525 } | 550 } |
| 526 | 551 |
| 527 int ki_shutdown(int fd, int how) { | 552 int ki_shutdown(int fd, int how) { |
| 528 ON_NOSYS_RETURN(-1); | 553 ON_NOSYS_RETURN(-1); |
| 529 return s_state.kp->shutdown(fd, how); | 554 return s_state.kp->shutdown(fd, how); |
| 530 } | 555 } |
| 531 | 556 |
| 532 int ki_socket(int domain, int type, int protocol) { | 557 int ki_socket(int domain, int type, int protocol) { |
| 533 ON_NOSYS_RETURN(-1); | 558 ON_NOSYS_RETURN(-1); |
| 534 return s_state.kp->socket(domain, type, protocol); | 559 return s_state.kp->socket(domain, type, protocol); |
| 535 } | 560 } |
| 536 | 561 |
| 537 int ki_socketpair(int domain, int type, int protocol, int* sv) { | 562 int ki_socketpair(int domain, int type, int protocol, int* sv) { |
| 538 ON_NOSYS_RETURN(-1); | 563 ON_NOSYS_RETURN(-1); |
| 539 return s_state.kp->socketpair(domain, type, protocol, sv); | 564 return s_state.kp->socketpair(domain, type, protocol, sv); |
| 540 } | 565 } |
| 541 #endif // PROVIDES_SOCKET_API | 566 #endif // PROVIDES_SOCKET_API |
| OLD | NEW |