Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #include <string.h> | 1 #include <string.h> |
| 2 #include <sys/stat.h> | 2 #include <sys/stat.h> |
| 3 #include <time.h> | 3 #include <time.h> |
| 4 #include <nacl_stat.h> | 4 #include <nacl_stat.h> |
| 5 #include <nacl_syscalls.h> | 5 #include <nacl_syscalls.h> |
| 6 #define stat nacl_abi_stat | 6 #define stat nacl_abi_stat |
| 7 #include <irt.h> | 7 #include <irt.h> |
| 8 #include <irt_dev.h> | 8 #include <irt_dev.h> |
| 9 #undef stat | 9 #undef stat |
| 10 #include <irt_syscalls.h> | 10 #include <irt_syscalls.h> |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 254 /* Load files from DL_DST_LIB using IRT's open_resource. Other paths | 254 /* Load files from DL_DST_LIB using IRT's open_resource. Other paths |
| 255 will be processed using regular open syscall. | 255 will be processed using regular open syscall. |
| 256 | 256 |
| 257 Note: nacl_mount may change this logic if needed. */ | 257 Note: nacl_mount may change this logic if needed. */ |
| 258 static int (*___nacl_irt_open_resource) (const char* file, int *fd); | 258 static int (*___nacl_irt_open_resource) (const char* file, int *fd); |
| 259 static int nacl_irt_open_resource (const char *pathname, int *newfd) { | 259 static int nacl_irt_open_resource (const char *pathname, int *newfd) { |
| 260 if (memcmp (DL_DST_LIB "/", pathname, sizeof (DL_DST_LIB))) | 260 if (memcmp (DL_DST_LIB "/", pathname, sizeof (DL_DST_LIB))) |
| 261 return __nacl_irt_open (pathname, O_RDONLY, 0, newfd); | 261 return __nacl_irt_open (pathname, O_RDONLY, 0, newfd); |
| 262 else | 262 else |
| 263 return ___nacl_irt_open_resource (pathname + sizeof (DL_DST_LIB) - 1, | 263 return ___nacl_irt_open_resource (pathname + sizeof (DL_DST_LIB) - 1, |
| 264 » » » » newfd); | 264 newfd); |
|
Mark Seaborn
2014/03/14 17:21:30
Please fix indentation to line up. Same for other
| |
| 265 } | 265 } |
| 266 | 266 |
| 267 static int nacl_irt_clock_getres(clockid_t clk_id, | 267 static int nacl_irt_clock_getres(clockid_t clk_id, |
| 268 struct timespec *res) { | 268 struct timespec *res) { |
| 269 return -NACL_SYSCALL (clock_getres) (clk_id, res); | 269 return -NACL_SYSCALL (clock_getres) (clk_id, res); |
| 270 } | 270 } |
| 271 | 271 |
| 272 static int nacl_irt_clock_gettime(clockid_t clk_id, | 272 static int nacl_irt_clock_gettime(clockid_t clk_id, |
| 273 struct timespec *tp) { | 273 struct timespec *tp) { |
| 274 return -NACL_SYSCALL (clock_gettime) (clk_id, tp); | 274 return -NACL_SYSCALL (clock_gettime) (clk_id, tp); |
| 275 } | 275 } |
| 276 | 276 |
| 277 static size_t no_interface (const char *interface_ident, | 277 static size_t no_interface (const char *interface_ident, |
| 278 void *table, size_t tablesize) { | 278 void *table, size_t tablesize) { |
| 279 return 0; | 279 return 0; |
| 280 } | 280 } |
| 281 | 281 |
| 282 static int not_implemented() { | 282 static int not_implemented() { |
| 283 return (38 /* ENOSYS */); | 283 return (38 /* ENOSYS */); |
| 284 } | 284 } |
| 285 | 285 |
| 286 size_t (*__nacl_irt_query) (const char *interface_ident, | 286 size_t (*__nacl_irt_query) (const char *interface_ident, |
| 287 » » » void *table, size_t tablesize); | 287 void *table, size_t tablesize); |
| 288 | 288 |
| 289 int (*__nacl_irt_mkdir) (const char* pathname, mode_t mode); | 289 int (*__nacl_irt_mkdir) (const char* pathname, mode_t mode); |
| 290 int (*__nacl_irt_rmdir) (const char* pathname); | 290 int (*__nacl_irt_rmdir) (const char* pathname); |
| 291 int (*__nacl_irt_chdir) (const char* pathname); | 291 int (*__nacl_irt_chdir) (const char* pathname); |
| 292 int (*__nacl_irt_getcwd) (char* buf, size_t size); | 292 int (*__nacl_irt_getcwd) (char* buf, size_t size); |
| 293 | 293 |
| 294 void (*__nacl_irt_exit) (int status); | 294 void (*__nacl_irt_exit) (int status); |
| 295 int (*__nacl_irt_gettod) (struct timeval *tv); | 295 int (*__nacl_irt_gettod) (struct timeval *tv); |
| 296 int (*__nacl_irt_clock) (clock_t *ticks); | 296 int (*__nacl_irt_clock) (clock_t *ticks); |
| 297 int (*__nacl_irt_nanosleep) (const struct timespec *req, struct timespec *rem); | 297 int (*__nacl_irt_nanosleep) (const struct timespec *req, struct timespec *rem); |
| 298 int (*__nacl_irt_sched_yield) (void); | 298 int (*__nacl_irt_sched_yield) (void); |
| 299 int (*__nacl_irt_sysconf) (int name, int *value); | 299 int (*__nacl_irt_sysconf) (int name, int *value); |
| 300 | 300 |
| 301 int (*__nacl_irt_open) (const char *pathname, int oflag, mode_t cmode, | 301 int (*__nacl_irt_open) (const char *pathname, int oflag, mode_t cmode, |
| 302 » » » int *newfd); | 302 int *newfd); |
| 303 int (*__nacl_irt_close) (int fd); | 303 int (*__nacl_irt_close) (int fd); |
| 304 int (*__nacl_irt_read) (int fd, void *buf, size_t count, size_t *nread); | 304 int (*__nacl_irt_read) (int fd, void *buf, size_t count, size_t *nread); |
| 305 int (*__nacl_irt_write) (int fd, const void *buf, size_t count, size_t *nwrote); | 305 int (*__nacl_irt_write) (int fd, const void *buf, size_t count, size_t *nwrote); |
| 306 int (*__nacl_irt_seek) (int fd, off_t offset, int whence, off_t *new_offset); | 306 int (*__nacl_irt_seek) (int fd, off_t offset, int whence, off_t *new_offset); |
| 307 int (*__nacl_irt_dup) (int fd, int *newfd); | 307 int (*__nacl_irt_dup) (int fd, int *newfd); |
| 308 int (*__nacl_irt_dup2) (int fd, int newfd); | 308 int (*__nacl_irt_dup2) (int fd, int newfd); |
| 309 int (*__nacl_irt_fstat) (int fd, struct nacl_abi_stat *); | 309 int (*__nacl_irt_fstat) (int fd, struct nacl_abi_stat *); |
| 310 int (*__nacl_irt_stat) (const char *pathname, struct nacl_abi_stat *); | 310 int (*__nacl_irt_stat) (const char *pathname, struct nacl_abi_stat *); |
| 311 int (*__nacl_irt_getdents) (int fd, struct dirent *, size_t count, | 311 int (*__nacl_irt_getdents) (int fd, struct dirent *, size_t count, |
| 312 » » » size_t *nread); | 312 size_t *nread); |
| 313 int (*__nacl_irt_socket) (int domain, int type, int protocol, int *sd); | 313 int (*__nacl_irt_socket) (int domain, int type, int protocol, int *sd); |
| 314 int (*__nacl_irt_accept) (int sockfd, struct sockaddr *addr, | 314 int (*__nacl_irt_accept) (int sockfd, struct sockaddr *addr, |
| 315 socklen_t *addrlen, int *sd); | 315 socklen_t *addrlen, int *sd); |
| 316 int (*__nacl_irt_bind) (int sockfd, const struct sockaddr *addr, socklen_t addrl en); | 316 int (*__nacl_irt_bind) (int sockfd, const struct sockaddr *addr, socklen_t addrl en); |
| 317 int (*__nacl_irt_listen) (int sockfd, int backlog); | 317 int (*__nacl_irt_listen) (int sockfd, int backlog); |
| 318 int (*__nacl_irt_connect) (int sockfd, const struct sockaddr *addr, | 318 int (*__nacl_irt_connect) (int sockfd, const struct sockaddr *addr, |
| 319 socklen_t addrlen); | 319 socklen_t addrlen); |
| 320 int (*__nacl_irt_send) (int sockfd, const void *buf, size_t len, int flags, | 320 int (*__nacl_irt_send) (int sockfd, const void *buf, size_t len, int flags, |
| 321 int *count); | 321 int *count); |
| 322 int (*__nacl_irt_sendmsg) (int sockfd, const struct msghdr *msg, int flags, | 322 int (*__nacl_irt_sendmsg) (int sockfd, const struct msghdr *msg, int flags, |
| 323 int *count); | 323 int *count); |
| 324 int (*__nacl_irt_sendto) (int sockfd, const void *buf, size_t len, int flags, | 324 int (*__nacl_irt_sendto) (int sockfd, const void *buf, size_t len, int flags, |
| 325 const struct sockaddr *dest_addr, socklen_t addrlen, | 325 const struct sockaddr *dest_addr, socklen_t addrlen, |
| 326 » » » » » » int *count); | 326 int *count); |
| 327 int (*__nacl_irt_recv) (int sockfd, void *buf, size_t len, int flags, int *count ); | 327 int (*__nacl_irt_recv) (int sockfd, void *buf, size_t len, int flags, int *count ); |
| 328 int (*__nacl_irt_recvmsg) (int sockfd, struct msghdr *msg, int flags, int *count ); | 328 int (*__nacl_irt_recvmsg) (int sockfd, struct msghdr *msg, int flags, int *count ); |
| 329 int (*__nacl_irt_recvfrom) (int sockfd, void *buf, size_t len, int flags, | 329 int (*__nacl_irt_recvfrom) (int sockfd, void *buf, size_t len, int flags, |
| 330 struct sockaddr *dest_addr, socklen_t* addrlen, int *count); | 330 struct sockaddr *dest_addr, socklen_t* addrlen, int *count); |
| 331 | 331 |
| 332 int (*__nacl_irt_epoll_create) (int size, int *fd); | 332 int (*__nacl_irt_epoll_create) (int size, int *fd); |
| 333 int (*__nacl_irt_epoll_create1) (int flags, int *fd); | 333 int (*__nacl_irt_epoll_create1) (int flags, int *fd); |
| 334 int (*__nacl_irt_epoll_ctl) (int epfd, int op, int fd, | 334 int (*__nacl_irt_epoll_ctl) (int epfd, int op, int fd, |
| 335 struct epoll_event *event); | 335 struct epoll_event *event); |
| 336 int (*__nacl_irt_epoll_pwait) (int epfd, struct epoll_event *events, | 336 int (*__nacl_irt_epoll_pwait) (int epfd, struct epoll_event *events, |
| 337 int maxevents, int timeout, const sigset_t *sigmask, size_t sigset_size, | 337 int maxevents, int timeout, const sigset_t *sigmask, size_t sigset_size, |
| 338 » int *count); | 338 int *count); |
| 339 int (*__nacl_irt_epoll_wait) (int epfd, struct epoll_event *events, | 339 int (*__nacl_irt_epoll_wait) (int epfd, struct epoll_event *events, |
| 340 int maxevents, int timeout, int *count); | 340 int maxevents, int timeout, int *count); |
| 341 int (*__nacl_irt_poll) (struct pollfd *fds, nfds_t nfds, | 341 int (*__nacl_irt_poll) (struct pollfd *fds, nfds_t nfds, |
| 342 int timeout, int *count); | 342 int timeout, int *count); |
| 343 int (*__nacl_irt_ppoll) (struct pollfd *fds, nfds_t nfds, | 343 int (*__nacl_irt_ppoll) (struct pollfd *fds, nfds_t nfds, |
| 344 const struct timespec *timeout, const sigset_t *sigmask, | 344 const struct timespec *timeout, const sigset_t *sigmask, |
| 345 » size_t sigset_size, int *count); | 345 size_t sigset_size, int *count); |
| 346 int (*__nacl_irt_select) (int nfds, fd_set *readfds, | 346 int (*__nacl_irt_select) (int nfds, fd_set *readfds, |
| 347 fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout, | 347 fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout, |
| 348 » int *count); | 348 int *count); |
| 349 int (*__nacl_irt_pselect) (int nfds, fd_set *readfds, | 349 int (*__nacl_irt_pselect) (int nfds, fd_set *readfds, |
| 350 fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout, | 350 fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout, |
| 351 » void* sigmask, int *count); | 351 void* sigmask, int *count); |
| 352 int (*__nacl_irt_getpeername) (int sockfd, struct sockaddr *addr, | 352 int (*__nacl_irt_getpeername) (int sockfd, struct sockaddr *addr, |
| 353 socklen_t *addrlen); | 353 socklen_t *addrlen); |
| 354 int (*__nacl_irt_getsockname) (int sockfd, struct sockaddr *addr, | 354 int (*__nacl_irt_getsockname) (int sockfd, struct sockaddr *addr, |
| 355 socklen_t *addrlen); | 355 socklen_t *addrlen); |
| 356 int (*__nacl_irt_getsockopt) (int sockfd, int level, int optname, | 356 int (*__nacl_irt_getsockopt) (int sockfd, int level, int optname, |
| 357 void *optval, socklen_t *optlen); | 357 void *optval, socklen_t *optlen); |
| 358 int (*__nacl_irt_setsockopt) (int sockfd, int level, int optname, | 358 int (*__nacl_irt_setsockopt) (int sockfd, int level, int optname, |
| 359 const void *optval, socklen_t optlen); | 359 const void *optval, socklen_t optlen); |
| 360 int (*__nacl_irt_socketpair) (int domain, int type, int protocol, int sv[2]); | 360 int (*__nacl_irt_socketpair) (int domain, int type, int protocol, int sv[2]); |
| 361 int (*__nacl_irt_shutdown) (int sockfd, int how); | 361 int (*__nacl_irt_shutdown) (int sockfd, int how); |
| 362 | 362 |
| 363 | 363 |
| 364 int (*__nacl_irt_sysbrk) (void **newbrk); | 364 int (*__nacl_irt_sysbrk) (void **newbrk); |
| 365 int (*__nacl_irt_mmap) (void **addr, size_t len, int prot, int flags, | 365 int (*__nacl_irt_mmap) (void **addr, size_t len, int prot, int flags, |
| 366 » » » int fd, off_t off); | 366 int fd, off_t off); |
| 367 int (*__nacl_irt_munmap) (void *addr, size_t len); | 367 int (*__nacl_irt_munmap) (void *addr, size_t len); |
| 368 int (*__nacl_irt_mprotect) (void *addr, size_t len, int prot); | 368 int (*__nacl_irt_mprotect) (void *addr, size_t len, int prot); |
| 369 | 369 |
| 370 int (*__nacl_irt_dyncode_create) (void *dest, const void *src, size_t size); | 370 int (*__nacl_irt_dyncode_create) (void *dest, const void *src, size_t size); |
| 371 int (*__nacl_irt_dyncode_modify) (void *dest, const void *src, size_t size); | 371 int (*__nacl_irt_dyncode_modify) (void *dest, const void *src, size_t size); |
| 372 int (*__nacl_irt_dyncode_delete) (void *dest, size_t size); | 372 int (*__nacl_irt_dyncode_delete) (void *dest, size_t size); |
| 373 | 373 |
| 374 int (*__nacl_irt_thread_create) (void *start_user_address, void *stack, | 374 int (*__nacl_irt_thread_create) (void *start_user_address, void *stack, |
| 375 » » » » void *thread_ptr); | 375 void *thread_ptr); |
| 376 void (*__nacl_irt_thread_exit) (int32_t *stack_flag); | 376 void (*__nacl_irt_thread_exit) (int32_t *stack_flag); |
| 377 int (*__nacl_irt_thread_nice) (const int nice); | 377 int (*__nacl_irt_thread_nice) (const int nice); |
| 378 | 378 |
| 379 int (*__nacl_irt_mutex_create) (int *mutex_handle); | 379 int (*__nacl_irt_mutex_create) (int *mutex_handle); |
| 380 int (*__nacl_irt_mutex_destroy) (int mutex_handle); | 380 int (*__nacl_irt_mutex_destroy) (int mutex_handle); |
| 381 int (*__nacl_irt_mutex_lock) (int mutex_handle); | 381 int (*__nacl_irt_mutex_lock) (int mutex_handle); |
| 382 int (*__nacl_irt_mutex_unlock) (int mutex_handle); | 382 int (*__nacl_irt_mutex_unlock) (int mutex_handle); |
| 383 int (*__nacl_irt_mutex_trylock) (int mutex_handle); | 383 int (*__nacl_irt_mutex_trylock) (int mutex_handle); |
| 384 | 384 |
| 385 int (*__nacl_irt_cond_create) (int *cond_handle); | 385 int (*__nacl_irt_cond_create) (int *cond_handle); |
| 386 int (*__nacl_irt_cond_destroy) (int cond_handle); | 386 int (*__nacl_irt_cond_destroy) (int cond_handle); |
| 387 int (*__nacl_irt_cond_signal) (int cond_handle); | 387 int (*__nacl_irt_cond_signal) (int cond_handle); |
| 388 int (*__nacl_irt_cond_broadcast) (int cond_handle); | 388 int (*__nacl_irt_cond_broadcast) (int cond_handle); |
| 389 int (*__nacl_irt_cond_wait) (int cond_handle, int mutex_handle); | 389 int (*__nacl_irt_cond_wait) (int cond_handle, int mutex_handle); |
| 390 int (*__nacl_irt_cond_timed_wait_abs) (int cond_handle, int mutex_handle, | 390 int (*__nacl_irt_cond_timed_wait_abs) (int cond_handle, int mutex_handle, |
| 391 » » » » const struct timespec *abstime); | 391 const struct timespec *abstime); |
| 392 | 392 |
| 393 int (*__nacl_irt_tls_init) (void *tdb); | 393 int (*__nacl_irt_tls_init) (void *tdb); |
| 394 void *(*__nacl_irt_tls_get) (void); | 394 void *(*__nacl_irt_tls_get) (void); |
| 395 | 395 |
| 396 int (*__nacl_irt_open_resource) (const char* file, int *fd); | 396 int (*__nacl_irt_open_resource) (const char* file, int *fd); |
| 397 | 397 |
| 398 int (*__nacl_irt_clock_getres) (clockid_t clk_id, struct timespec *res); | 398 int (*__nacl_irt_clock_getres) (clockid_t clk_id, struct timespec *res); |
| 399 int (*__nacl_irt_clock_gettime) (clockid_t clk_id, struct timespec *tp); | 399 int (*__nacl_irt_clock_gettime) (clockid_t clk_id, struct timespec *tp); |
| 400 | 400 |
| 401 int (*__nacl_irt_getpid) (int *pid); | 401 int (*__nacl_irt_getpid) (int *pid); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 436 struct nacl_irt_resource_open nacl_irt_resource_open; | 436 struct nacl_irt_resource_open nacl_irt_resource_open; |
| 437 struct nacl_irt_clock nacl_irt_clock; | 437 struct nacl_irt_clock nacl_irt_clock; |
| 438 struct nacl_irt_dev_getpid nacl_irt_dev_getpid; | 438 struct nacl_irt_dev_getpid nacl_irt_dev_getpid; |
| 439 struct nacl_irt_dev_fdio nacl_irt_dev_fdio; | 439 struct nacl_irt_dev_fdio nacl_irt_dev_fdio; |
| 440 struct nacl_irt_dev_filename_v0_2 nacl_irt_dev_filename_v0_2; | 440 struct nacl_irt_dev_filename_v0_2 nacl_irt_dev_filename_v0_2; |
| 441 struct nacl_irt_dev_filename nacl_irt_dev_filename; | 441 struct nacl_irt_dev_filename nacl_irt_dev_filename; |
| 442 } u; | 442 } u; |
| 443 | 443 |
| 444 if (__nacl_irt_query && | 444 if (__nacl_irt_query && |
| 445 __nacl_irt_query (NACL_IRT_BASIC_v0_1, &u.nacl_irt_basic, | 445 __nacl_irt_query (NACL_IRT_BASIC_v0_1, &u.nacl_irt_basic, |
| 446 » » » sizeof(u.nacl_irt_basic)) == sizeof(u.nacl_irt_basic)) | 446 sizeof(u.nacl_irt_basic)) == sizeof(u.nacl_irt_basic)) |
| 447 { | 447 { |
| 448 __nacl_irt_exit = u.nacl_irt_basic.exit; | 448 __nacl_irt_exit = u.nacl_irt_basic.exit; |
| 449 __nacl_irt_gettod = u.nacl_irt_basic.gettod; | 449 __nacl_irt_gettod = u.nacl_irt_basic.gettod; |
| 450 __nacl_irt_clock = u.nacl_irt_basic.clock; | 450 __nacl_irt_clock = u.nacl_irt_basic.clock; |
| 451 __nacl_irt_nanosleep = u.nacl_irt_basic.nanosleep; | 451 __nacl_irt_nanosleep = u.nacl_irt_basic.nanosleep; |
| 452 __nacl_irt_sched_yield = u.nacl_irt_basic.sched_yield; | 452 __nacl_irt_sched_yield = u.nacl_irt_basic.sched_yield; |
| 453 __nacl_irt_sysconf = u.nacl_irt_basic.sysconf; | 453 __nacl_irt_sysconf = u.nacl_irt_basic.sysconf; |
| 454 } | 454 } |
| 455 else | 455 else |
| 456 { | 456 { |
| 457 __nacl_irt_exit = nacl_irt_exit; | 457 __nacl_irt_exit = nacl_irt_exit; |
| 458 __nacl_irt_gettod = nacl_irt_gettod; | 458 __nacl_irt_gettod = nacl_irt_gettod; |
| 459 __nacl_irt_clock = nacl_irt_clock; | 459 __nacl_irt_clock = nacl_irt_clock; |
| 460 __nacl_irt_nanosleep = nacl_irt_nanosleep; | 460 __nacl_irt_nanosleep = nacl_irt_nanosleep; |
| 461 __nacl_irt_sched_yield = nacl_irt_sched_yield; | 461 __nacl_irt_sched_yield = nacl_irt_sched_yield; |
| 462 __nacl_irt_sysconf = nacl_irt_sysconf; | 462 __nacl_irt_sysconf = nacl_irt_sysconf; |
| 463 } | 463 } |
| 464 | 464 |
| 465 if (__nacl_irt_query && | 465 if (__nacl_irt_query && |
| 466 __nacl_irt_query (NACL_IRT_FDIO_v0_1, &u.nacl_irt_fdio, | 466 __nacl_irt_query (NACL_IRT_FDIO_v0_1, &u.nacl_irt_fdio, |
| 467 » » » sizeof(u.nacl_irt_fdio)) == sizeof(u.nacl_irt_fdio)) | 467 sizeof(u.nacl_irt_fdio)) == sizeof(u.nacl_irt_fdio)) |
| 468 { | 468 { |
| 469 __nacl_irt_close = u.nacl_irt_fdio.close; | 469 __nacl_irt_close = u.nacl_irt_fdio.close; |
| 470 __nacl_irt_dup = u.nacl_irt_fdio.dup; | 470 __nacl_irt_dup = u.nacl_irt_fdio.dup; |
| 471 __nacl_irt_dup2 = u.nacl_irt_fdio.dup2; | 471 __nacl_irt_dup2 = u.nacl_irt_fdio.dup2; |
| 472 __nacl_irt_read = u.nacl_irt_fdio.read; | 472 __nacl_irt_read = u.nacl_irt_fdio.read; |
| 473 __nacl_irt_write = u.nacl_irt_fdio.write; | 473 __nacl_irt_write = u.nacl_irt_fdio.write; |
| 474 __nacl_irt_seek = u.nacl_irt_fdio.seek; | 474 __nacl_irt_seek = u.nacl_irt_fdio.seek; |
| 475 __nacl_irt_fstat = u.nacl_irt_fdio.fstat; | 475 __nacl_irt_fstat = u.nacl_irt_fdio.fstat; |
| 476 __nacl_irt_getdents = u.nacl_irt_fdio.getdents; | 476 __nacl_irt_getdents = u.nacl_irt_fdio.getdents; |
| 477 } | 477 } |
| 478 else | 478 else |
| 479 { | 479 { |
| 480 __nacl_irt_close = nacl_irt_close; | 480 __nacl_irt_close = nacl_irt_close; |
| 481 __nacl_irt_dup = nacl_irt_dup; | 481 __nacl_irt_dup = nacl_irt_dup; |
| 482 __nacl_irt_dup2 = nacl_irt_dup2; | 482 __nacl_irt_dup2 = nacl_irt_dup2; |
| 483 __nacl_irt_read = nacl_irt_read; | 483 __nacl_irt_read = nacl_irt_read; |
| 484 __nacl_irt_write = nacl_irt_write; | 484 __nacl_irt_write = nacl_irt_write; |
| 485 __nacl_irt_seek = nacl_irt_seek; | 485 __nacl_irt_seek = nacl_irt_seek; |
| 486 __nacl_irt_fstat = nacl_irt_fstat; | 486 __nacl_irt_fstat = nacl_irt_fstat; |
| 487 __nacl_irt_getdents = nacl_irt_getdents; | 487 __nacl_irt_getdents = nacl_irt_getdents; |
| 488 } | 488 } |
| 489 | 489 |
| 490 if (__nacl_irt_query && | 490 if (__nacl_irt_query && |
| 491 __nacl_irt_query (NACL_IRT_FILENAME_v0_1, &u.nacl_irt_filename, | 491 __nacl_irt_query (NACL_IRT_FILENAME_v0_1, &u.nacl_irt_filename, |
| 492 » » » sizeof(u.nacl_irt_filename)) == sizeof(u.nacl_irt_filena me)) | 492 sizeof(u.nacl_irt_filename)) == sizeof(u.nacl_irt_filename)) |
| 493 { | 493 { |
| 494 __nacl_irt_open = u.nacl_irt_filename.open; | 494 __nacl_irt_open = u.nacl_irt_filename.open; |
| 495 __nacl_irt_stat = u.nacl_irt_filename.nacl_abi_stat; | 495 __nacl_irt_stat = u.nacl_irt_filename.nacl_abi_stat; |
| 496 } | 496 } |
| 497 else | 497 else |
| 498 { | 498 { |
| 499 __nacl_irt_open = nacl_irt_open; | 499 __nacl_irt_open = nacl_irt_open; |
| 500 __nacl_irt_stat = nacl_irt_stat; | 500 __nacl_irt_stat = nacl_irt_stat; |
| 501 } | 501 } |
| 502 | 502 |
| 503 if (__nacl_irt_query && | 503 if (__nacl_irt_query && |
| 504 __nacl_irt_query (NACL_IRT_MEMORY_v0_2, &u.nacl_irt_memory, | 504 __nacl_irt_query (NACL_IRT_MEMORY_v0_2, &u.nacl_irt_memory, |
| 505 » » » sizeof(u.nacl_irt_memory)) == sizeof(u.nacl_irt_memory)) | 505 sizeof(u.nacl_irt_memory)) == sizeof(u.nacl_irt_memory)) |
| 506 { | 506 { |
| 507 __nacl_irt_sysbrk = u.nacl_irt_memory.sysbrk; | 507 __nacl_irt_sysbrk = u.nacl_irt_memory.sysbrk; |
| 508 __nacl_irt_mmap = u.nacl_irt_memory.mmap; | 508 __nacl_irt_mmap = u.nacl_irt_memory.mmap; |
| 509 __nacl_irt_munmap = u.nacl_irt_memory.munmap; | 509 __nacl_irt_munmap = u.nacl_irt_memory.munmap; |
| 510 __nacl_irt_mprotect = u.nacl_irt_memory.mprotect; | 510 __nacl_irt_mprotect = u.nacl_irt_memory.mprotect; |
| 511 } | 511 } |
| 512 else if (__nacl_irt_query && | 512 else if (__nacl_irt_query && |
| 513 __nacl_irt_query (NACL_IRT_MEMORY_v0_1, &u.nacl_irt_memory, | 513 __nacl_irt_query (NACL_IRT_MEMORY_v0_1, &u.nacl_irt_memory, |
| 514 sizeof(struct nacl_irt_memory_v0_1)) == | 514 sizeof(struct nacl_irt_memory_v0_1)) == |
| 515 sizeof(struct nacl_irt_memory_v0_1)) | 515 sizeof(struct nacl_irt_memory_v0_1)) |
| 516 { | 516 { |
| 517 __nacl_irt_sysbrk = u.nacl_irt_memory.sysbrk; | 517 __nacl_irt_sysbrk = u.nacl_irt_memory.sysbrk; |
| 518 __nacl_irt_mmap = u.nacl_irt_memory.mmap; | 518 __nacl_irt_mmap = u.nacl_irt_memory.mmap; |
| 519 __nacl_irt_munmap = u.nacl_irt_memory.munmap; | 519 __nacl_irt_munmap = u.nacl_irt_memory.munmap; |
| 520 __nacl_irt_mprotect = not_implemented; | 520 __nacl_irt_mprotect = not_implemented; |
| 521 } | 521 } |
| 522 else | 522 else |
| 523 { | 523 { |
| 524 __nacl_irt_sysbrk = nacl_irt_sysbrk; | 524 __nacl_irt_sysbrk = nacl_irt_sysbrk; |
| 525 __nacl_irt_mmap = nacl_irt_mmap; | 525 __nacl_irt_mmap = nacl_irt_mmap; |
| 526 __nacl_irt_munmap = nacl_irt_munmap; | 526 __nacl_irt_munmap = nacl_irt_munmap; |
| 527 __nacl_irt_mprotect = nacl_irt_mprotect; | 527 __nacl_irt_mprotect = nacl_irt_mprotect; |
| 528 } | 528 } |
| 529 | 529 |
| 530 if (__nacl_irt_query && | 530 if (__nacl_irt_query && |
| 531 __nacl_irt_query (NACL_IRT_DYNCODE_v0_1, &u.nacl_irt_dyncode, | 531 __nacl_irt_query (NACL_IRT_DYNCODE_v0_1, &u.nacl_irt_dyncode, |
| 532 » » » sizeof(u.nacl_irt_dyncode)) == sizeof(u.nacl_irt_dyncode )) | 532 sizeof(u.nacl_irt_dyncode)) == sizeof(u.nacl_irt_dyncode)) |
| 533 { | 533 { |
| 534 __nacl_irt_dyncode_create = u.nacl_irt_dyncode.dyncode_create; | 534 __nacl_irt_dyncode_create = u.nacl_irt_dyncode.dyncode_create; |
| 535 __nacl_irt_dyncode_modify = u.nacl_irt_dyncode.dyncode_modify; | 535 __nacl_irt_dyncode_modify = u.nacl_irt_dyncode.dyncode_modify; |
| 536 __nacl_irt_dyncode_delete = u.nacl_irt_dyncode.dyncode_delete; | 536 __nacl_irt_dyncode_delete = u.nacl_irt_dyncode.dyncode_delete; |
| 537 } | 537 } |
| 538 else | 538 else |
| 539 { | 539 { |
| 540 __nacl_irt_dyncode_create = nacl_irt_dyncode_create; | 540 __nacl_irt_dyncode_create = nacl_irt_dyncode_create; |
| 541 __nacl_irt_dyncode_modify = nacl_irt_dyncode_modify; | 541 __nacl_irt_dyncode_modify = nacl_irt_dyncode_modify; |
| 542 __nacl_irt_dyncode_delete = nacl_irt_dyncode_delete; | 542 __nacl_irt_dyncode_delete = nacl_irt_dyncode_delete; |
| 543 } | 543 } |
| 544 | 544 |
| 545 if (__nacl_irt_query && | 545 if (__nacl_irt_query && |
| 546 __nacl_irt_query (NACL_IRT_THREAD_v0_1, &u.nacl_irt_thread, | 546 __nacl_irt_query (NACL_IRT_THREAD_v0_1, &u.nacl_irt_thread, |
| 547 » » » sizeof(u.nacl_irt_thread)) == sizeof(u.nacl_irt_thread)) | 547 sizeof(u.nacl_irt_thread)) == sizeof(u.nacl_irt_thread)) |
| 548 { | 548 { |
| 549 __nacl_irt_thread_create = u.nacl_irt_thread.thread_create; | 549 __nacl_irt_thread_create = u.nacl_irt_thread.thread_create; |
| 550 __nacl_irt_thread_exit = u.nacl_irt_thread.thread_exit; | 550 __nacl_irt_thread_exit = u.nacl_irt_thread.thread_exit; |
| 551 __nacl_irt_thread_nice = u.nacl_irt_thread.thread_nice; | 551 __nacl_irt_thread_nice = u.nacl_irt_thread.thread_nice; |
| 552 } | 552 } |
| 553 else | 553 else |
| 554 { | 554 { |
| 555 __nacl_irt_thread_create = nacl_irt_thread_create; | 555 __nacl_irt_thread_create = nacl_irt_thread_create; |
| 556 __nacl_irt_thread_exit = nacl_irt_thread_exit; | 556 __nacl_irt_thread_exit = nacl_irt_thread_exit; |
| 557 __nacl_irt_thread_nice = nacl_irt_thread_nice; | 557 __nacl_irt_thread_nice = nacl_irt_thread_nice; |
| 558 } | 558 } |
| 559 | 559 |
| 560 if (__nacl_irt_query && | 560 if (__nacl_irt_query && |
| 561 __nacl_irt_query (NACL_IRT_MUTEX_v0_1, &u.nacl_irt_mutex, | 561 __nacl_irt_query (NACL_IRT_MUTEX_v0_1, &u.nacl_irt_mutex, |
| 562 » » sizeof(u.nacl_irt_mutex)) == sizeof(u.nacl_irt_mutex)) | 562 sizeof(u.nacl_irt_mutex)) == sizeof(u.nacl_irt_mutex)) |
| 563 { | 563 { |
| 564 __nacl_irt_mutex_create = u.nacl_irt_mutex.mutex_create; | 564 __nacl_irt_mutex_create = u.nacl_irt_mutex.mutex_create; |
| 565 __nacl_irt_mutex_destroy = u.nacl_irt_mutex.mutex_destroy; | 565 __nacl_irt_mutex_destroy = u.nacl_irt_mutex.mutex_destroy; |
| 566 __nacl_irt_mutex_lock = u.nacl_irt_mutex.mutex_lock; | 566 __nacl_irt_mutex_lock = u.nacl_irt_mutex.mutex_lock; |
| 567 __nacl_irt_mutex_unlock = u.nacl_irt_mutex.mutex_unlock; | 567 __nacl_irt_mutex_unlock = u.nacl_irt_mutex.mutex_unlock; |
| 568 __nacl_irt_mutex_trylock = u.nacl_irt_mutex.mutex_trylock; | 568 __nacl_irt_mutex_trylock = u.nacl_irt_mutex.mutex_trylock; |
| 569 } | 569 } |
| 570 else | 570 else |
| 571 { | 571 { |
| 572 __nacl_irt_mutex_create = nacl_irt_mutex_create; | 572 __nacl_irt_mutex_create = nacl_irt_mutex_create; |
| 573 __nacl_irt_mutex_destroy = nacl_irt_mutex_destroy; | 573 __nacl_irt_mutex_destroy = nacl_irt_mutex_destroy; |
| 574 __nacl_irt_mutex_lock = nacl_irt_mutex_lock; | 574 __nacl_irt_mutex_lock = nacl_irt_mutex_lock; |
| 575 __nacl_irt_mutex_unlock = nacl_irt_mutex_unlock; | 575 __nacl_irt_mutex_unlock = nacl_irt_mutex_unlock; |
| 576 __nacl_irt_mutex_trylock = nacl_irt_mutex_trylock; | 576 __nacl_irt_mutex_trylock = nacl_irt_mutex_trylock; |
| 577 } | 577 } |
| 578 | 578 |
| 579 if (__nacl_irt_query && | 579 if (__nacl_irt_query && |
| 580 __nacl_irt_query (NACL_IRT_COND_v0_1, &u.nacl_irt_cond, | 580 __nacl_irt_query (NACL_IRT_COND_v0_1, &u.nacl_irt_cond, |
| 581 » » sizeof(u.nacl_irt_cond)) == sizeof(u.nacl_irt_cond)) | 581 sizeof(u.nacl_irt_cond)) == sizeof(u.nacl_irt_cond)) |
| 582 { | 582 { |
| 583 __nacl_irt_cond_create = u.nacl_irt_cond.cond_create; | 583 __nacl_irt_cond_create = u.nacl_irt_cond.cond_create; |
| 584 __nacl_irt_cond_destroy = u.nacl_irt_cond.cond_destroy; | 584 __nacl_irt_cond_destroy = u.nacl_irt_cond.cond_destroy; |
| 585 __nacl_irt_cond_signal = u.nacl_irt_cond.cond_signal; | 585 __nacl_irt_cond_signal = u.nacl_irt_cond.cond_signal; |
| 586 __nacl_irt_cond_broadcast = u.nacl_irt_cond.cond_broadcast; | 586 __nacl_irt_cond_broadcast = u.nacl_irt_cond.cond_broadcast; |
| 587 __nacl_irt_cond_wait = u.nacl_irt_cond.cond_wait; | 587 __nacl_irt_cond_wait = u.nacl_irt_cond.cond_wait; |
| 588 __nacl_irt_cond_timed_wait_abs = u.nacl_irt_cond.cond_timed_wait_abs; | 588 __nacl_irt_cond_timed_wait_abs = u.nacl_irt_cond.cond_timed_wait_abs; |
| 589 } | 589 } |
| 590 else | 590 else |
| 591 { | 591 { |
| 592 __nacl_irt_cond_create = nacl_irt_cond_create; | 592 __nacl_irt_cond_create = nacl_irt_cond_create; |
| 593 __nacl_irt_cond_destroy = nacl_irt_cond_destroy; | 593 __nacl_irt_cond_destroy = nacl_irt_cond_destroy; |
| 594 __nacl_irt_cond_signal = nacl_irt_cond_signal; | 594 __nacl_irt_cond_signal = nacl_irt_cond_signal; |
| 595 __nacl_irt_cond_broadcast = nacl_irt_cond_broadcast; | 595 __nacl_irt_cond_broadcast = nacl_irt_cond_broadcast; |
| 596 __nacl_irt_cond_wait = nacl_irt_cond_wait; | 596 __nacl_irt_cond_wait = nacl_irt_cond_wait; |
| 597 __nacl_irt_cond_timed_wait_abs = nacl_irt_cond_timed_wait_abs; | 597 __nacl_irt_cond_timed_wait_abs = nacl_irt_cond_timed_wait_abs; |
| 598 } | 598 } |
| 599 | 599 |
| 600 if (__nacl_irt_query && | 600 if (__nacl_irt_query && |
| 601 __nacl_irt_query (NACL_IRT_TLS_v0_1, &u.nacl_irt_tls, | 601 __nacl_irt_query (NACL_IRT_TLS_v0_1, &u.nacl_irt_tls, |
| 602 » » sizeof(u.nacl_irt_tls)) == sizeof(u.nacl_irt_tls)) | 602 sizeof(u.nacl_irt_tls)) == sizeof(u.nacl_irt_tls)) |
| 603 { | 603 { |
| 604 __nacl_irt_tls_init = u.nacl_irt_tls.tls_init; | 604 __nacl_irt_tls_init = u.nacl_irt_tls.tls_init; |
| 605 __nacl_irt_tls_get = u.nacl_irt_tls.tls_get; | 605 __nacl_irt_tls_get = u.nacl_irt_tls.tls_get; |
| 606 } | 606 } |
| 607 else | 607 else |
| 608 { | 608 { |
| 609 __nacl_irt_tls_init = nacl_irt_tls_init; | 609 __nacl_irt_tls_init = nacl_irt_tls_init; |
| 610 __nacl_irt_tls_get = nacl_irt_tls_get; | 610 __nacl_irt_tls_get = nacl_irt_tls_get; |
| 611 } | 611 } |
| 612 | 612 |
| 613 if (__nacl_irt_query && | 613 if (__nacl_irt_query && |
| 614 __nacl_irt_query (NACL_IRT_RESOURCE_OPEN_v0_1, &u.nacl_irt_resource_open, | 614 __nacl_irt_query (NACL_IRT_RESOURCE_OPEN_v0_1, &u.nacl_irt_resource_open, |
| 615 » sizeof(u.nacl_irt_resource_open)) == sizeof(u.nacl_irt_resource_open)) | 615 sizeof(u.nacl_irt_resource_open)) == sizeof(u.nacl_irt_resource_open)) |
| 616 { | 616 { |
| 617 ___nacl_irt_open_resource = u.nacl_irt_resource_open.open_resource; | 617 ___nacl_irt_open_resource = u.nacl_irt_resource_open.open_resource; |
| 618 __nacl_irt_open_resource = nacl_irt_open_resource; | 618 __nacl_irt_open_resource = nacl_irt_open_resource; |
| 619 #ifdef IS_IN_rtld | 619 #ifdef IS_IN_rtld |
| 620 if (_dl_argc == 1) | 620 if (_dl_argc == 1) |
| 621 { | 621 { |
| 622 static const char *argv[] = | 622 static const char *argv[] = |
| 623 » { | 623 { |
| 624 » DL_DST_LIB "/runnable-ld.so", | 624 DL_DST_LIB "/runnable-ld.so", |
| 625 » DL_DST_LIB "/main.nexe", | 625 DL_DST_LIB "/main.nexe", |
| 626 » 0 | 626 0 |
| 627 » }; | 627 }; |
| 628 _dl_argc = 2; | 628 _dl_argc = 2; |
| 629 _dl_argv = (char **)argv; | 629 _dl_argv = (char **)argv; |
| 630 } | 630 } |
| 631 #endif | 631 #endif |
| 632 } | 632 } |
| 633 else | 633 else |
| 634 __nacl_irt_open_resource = nacl_irt_open_as_resource; | 634 __nacl_irt_open_resource = nacl_irt_open_as_resource; |
| 635 | 635 |
| 636 if (__nacl_irt_query && | 636 if (__nacl_irt_query && |
| 637 __nacl_irt_query (NACL_IRT_CLOCK_v0_1, &u.nacl_irt_clock, | 637 __nacl_irt_query (NACL_IRT_CLOCK_v0_1, &u.nacl_irt_clock, |
| 638 » » » sizeof(u.nacl_irt_clock)) == sizeof(u.nacl_irt_clock)) | 638 sizeof(u.nacl_irt_clock)) == sizeof(u.nacl_irt_clock)) |
| 639 { | 639 { |
| 640 __nacl_irt_clock_getres = u.nacl_irt_clock.clock_getres; | 640 __nacl_irt_clock_getres = u.nacl_irt_clock.clock_getres; |
| 641 __nacl_irt_clock_gettime = u.nacl_irt_clock.clock_gettime; | 641 __nacl_irt_clock_gettime = u.nacl_irt_clock.clock_gettime; |
| 642 } | 642 } |
| 643 else | 643 else |
| 644 { | 644 { |
| 645 __nacl_irt_clock_getres = nacl_irt_clock_getres; | 645 __nacl_irt_clock_getres = nacl_irt_clock_getres; |
| 646 __nacl_irt_clock_gettime = nacl_irt_clock_gettime; | 646 __nacl_irt_clock_gettime = nacl_irt_clock_gettime; |
| 647 } | 647 } |
| 648 | 648 |
| 649 if (__nacl_irt_query && | 649 if (__nacl_irt_query && |
| 650 __nacl_irt_query (NACL_IRT_DEV_GETPID_v0_1, &u.nacl_irt_dev_getpid, | 650 __nacl_irt_query (NACL_IRT_DEV_GETPID_v0_1, &u.nacl_irt_dev_getpid, |
| 651 » » » sizeof(u.nacl_irt_dev_getpid)) == sizeof(u.nacl_irt_dev_ getpid)) | 651 sizeof(u.nacl_irt_dev_getpid)) == sizeof(u.nacl_irt_dev_getpid)) |
| 652 { | 652 { |
| 653 __nacl_irt_getpid = u.nacl_irt_dev_getpid.getpid; | 653 __nacl_irt_getpid = u.nacl_irt_dev_getpid.getpid; |
| 654 } | 654 } |
| 655 else | 655 else |
| 656 { | 656 { |
| 657 __nacl_irt_getpid = not_implemented; | 657 __nacl_irt_getpid = not_implemented; |
| 658 } | 658 } |
| 659 | 659 |
| 660 if (__nacl_irt_query && | 660 if (__nacl_irt_query && |
| 661 __nacl_irt_query (NACL_IRT_DEV_FDIO_v0_2, &u.nacl_irt_dev_fdio, | 661 __nacl_irt_query (NACL_IRT_DEV_FDIO_v0_2, &u.nacl_irt_dev_fdio, |
| 662 » » » sizeof(u.nacl_irt_dev_fdio)) == sizeof(u.nacl_irt_dev_fd io)) | 662 sizeof(u.nacl_irt_dev_fdio)) == sizeof(u.nacl_irt_dev_fdio)) |
| 663 { | 663 { |
| 664 __nacl_irt_fchdir = u.nacl_irt_dev_fdio.fchdir; | 664 __nacl_irt_fchdir = u.nacl_irt_dev_fdio.fchdir; |
| 665 __nacl_irt_fchmod = u.nacl_irt_dev_fdio.fchmod; | 665 __nacl_irt_fchmod = u.nacl_irt_dev_fdio.fchmod; |
| 666 __nacl_irt_fsync = u.nacl_irt_dev_fdio.fsync; | 666 __nacl_irt_fsync = u.nacl_irt_dev_fdio.fsync; |
| 667 __nacl_irt_fdatasync = u.nacl_irt_dev_fdio.fdatasync; | 667 __nacl_irt_fdatasync = u.nacl_irt_dev_fdio.fdatasync; |
| 668 __nacl_irt_ftruncate = u.nacl_irt_dev_fdio.ftruncate; | 668 __nacl_irt_ftruncate = u.nacl_irt_dev_fdio.ftruncate; |
| 669 } | 669 } |
| 670 else | 670 else |
| 671 { | 671 { |
| 672 __nacl_irt_fchdir = not_implemented; | 672 __nacl_irt_fchdir = not_implemented; |
| 673 __nacl_irt_fchmod = not_implemented; | 673 __nacl_irt_fchmod = not_implemented; |
| 674 __nacl_irt_fsync = not_implemented; | 674 __nacl_irt_fsync = not_implemented; |
| 675 __nacl_irt_fdatasync = not_implemented; | 675 __nacl_irt_fdatasync = not_implemented; |
| 676 __nacl_irt_ftruncate = not_implemented; | 676 __nacl_irt_ftruncate = not_implemented; |
| 677 } | 677 } |
| 678 | 678 |
| 679 if (__nacl_irt_query && | 679 if (__nacl_irt_query && |
| 680 __nacl_irt_query (NACL_IRT_DEV_FILENAME_v0_3, &u.nacl_irt_dev_filename, | 680 __nacl_irt_query (NACL_IRT_DEV_FILENAME_v0_3, &u.nacl_irt_dev_filename, |
| 681 » » » sizeof(u.nacl_irt_dev_filename)) == sizeof(u.nacl_irt_de v_filename)) | 681 sizeof(u.nacl_irt_dev_filename)) == sizeof(u.nacl_irt_dev_filename)) |
| 682 { | 682 { |
| 683 __nacl_irt_mkdir = u.nacl_irt_dev_filename.mkdir; | 683 __nacl_irt_mkdir = u.nacl_irt_dev_filename.mkdir; |
| 684 __nacl_irt_chdir = u.nacl_irt_dev_filename.chdir; | 684 __nacl_irt_chdir = u.nacl_irt_dev_filename.chdir; |
| 685 __nacl_irt_rmdir = u.nacl_irt_dev_filename.rmdir; | 685 __nacl_irt_rmdir = u.nacl_irt_dev_filename.rmdir; |
| 686 __nacl_irt_getcwd = u.nacl_irt_dev_filename.getcwd; | 686 __nacl_irt_getcwd = u.nacl_irt_dev_filename.getcwd; |
| 687 __nacl_irt_unlink = u.nacl_irt_dev_filename.unlink; | 687 __nacl_irt_unlink = u.nacl_irt_dev_filename.unlink; |
| 688 __nacl_irt_truncate = u.nacl_irt_dev_filename.truncate; | 688 __nacl_irt_truncate = u.nacl_irt_dev_filename.truncate; |
| 689 __nacl_irt_lstat = u.nacl_irt_dev_filename.lstat; | 689 __nacl_irt_lstat = u.nacl_irt_dev_filename.lstat; |
| 690 __nacl_irt_link = u.nacl_irt_dev_filename.link; | 690 __nacl_irt_link = u.nacl_irt_dev_filename.link; |
| 691 __nacl_irt_rename = u.nacl_irt_dev_filename.rename; | 691 __nacl_irt_rename = u.nacl_irt_dev_filename.rename; |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 760 __nacl_irt_getsockopt = not_implemented; | 760 __nacl_irt_getsockopt = not_implemented; |
| 761 __nacl_irt_setsockopt = not_implemented; | 761 __nacl_irt_setsockopt = not_implemented; |
| 762 __nacl_irt_socketpair = not_implemented; | 762 __nacl_irt_socketpair = not_implemented; |
| 763 __nacl_irt_shutdown = not_implemented; | 763 __nacl_irt_shutdown = not_implemented; |
| 764 } | 764 } |
| 765 | 765 |
| 766 size_t nacl_interface_query(const char *interface_ident, | 766 size_t nacl_interface_query(const char *interface_ident, |
| 767 void *table, size_t tablesize) { | 767 void *table, size_t tablesize) { |
| 768 return (*__nacl_irt_query)(interface_ident, table, tablesize); | 768 return (*__nacl_irt_query)(interface_ident, table, tablesize); |
| 769 } | 769 } |
| OLD | NEW |