Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(621)

Unified Diff: sysdeps/nacl/irt_syscalls.h

Issue 9969049: added several system call hooks for future sockets implementation (Closed) Base URL: http://git.chromium.org/native_client/nacl-glibc.git@master
Patch Set: fixed interceptors w/ @khim's advice Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sysdeps/nacl/irt_syscalls.h
diff --git a/sysdeps/nacl/irt_syscalls.h b/sysdeps/nacl/irt_syscalls.h
index ac4fd6439bab39498dfb42d61db63abd9f40d912..c1325fbcd15249e238c5fad574a26005d86dd241 100644
--- a/sysdeps/nacl/irt_syscalls.h
+++ b/sysdeps/nacl/irt_syscalls.h
@@ -2,6 +2,8 @@
#define _IRT_SYSCALLS_H
#include <sys/types.h>
+#include <sys/epoll.h>
+#include <poll.h>
#include <stddef.h>
#include <fcntl.h>
#include <time.h>
@@ -12,6 +14,10 @@ struct dirent;
struct nacl_abi_stat;
struct timeval;
struct timespec;
+struct sockaddr;
+struct msghdr;
+
+#define socklen_t unsigned int
extern size_t (*__nacl_irt_query)(const char *interface_ident,
void *table, size_t tablesize);
@@ -29,6 +35,58 @@ extern int (*__nacl_irt_rmdir) (const char* pathname);
extern int (*__nacl_irt_chdir) (const char* pathname);
extern int (*__nacl_irt_getcwd) (char* buf, size_t size, int* ret);
+extern int (*__nacl_irt_epoll_create) (int flags); // size
+extern int (*__nacl_irt_epoll_create1 )(int flags);
+extern int (*__nacl_irt_epoll_ctl) (int epfd, int op, int fd,
+ struct epoll_event *event);
+extern int (*__nacl_irt_epoll_pwait) (int epfd, struct epoll_event *events,
+ int maxevents, int timeout,
+ const sigset_t *sigmask, size_t sigset_size);
+extern int (*__nacl_irt_epoll_wait) (int epfd, struct epoll_event *events,
+ int maxevents, int timeout);
+extern int (*__nacl_irt_poll) (struct pollfd *fds, nfds_t nfds,
+ int timeout);
+extern int (*__nacl_irt_ppoll) (struct pollfd *fds, nfds_t nfds,
+ const struct timespec *timeout,
+ const sigset_t *sigmask, size_t sigset_size);
+extern int (*__nacl_irt_socket) (int domain, int type, int protocol);
+extern int (*__nacl_irt_accept) (int sockfd, struct sockaddr *addr,
+ socklen_t *addrlen);
+extern int (*__nacl_irt_bind) (int sockfd, const struct sockaddr *addr,
+ socklen_t addrlen);
+extern int (*__nacl_irt_listen) (int sockfd, int backlog);
+extern int (*__nacl_irt_connect) (int sockfd, const struct sockaddr *addr,
+ socklen_t addrlen);
+extern int (*__nacl_irt_send) (int sockfd, const void *buf, size_t len,
+ int flags, int* ret);
+extern int (*__nacl_irt_sendmsg) (int sockfd, const struct msghdr *msg,
+ int flags, int* ret);
+extern int (*__nacl_irt_sendto) (int sockfd, const void *buf, size_t len,
+ int flags, const struct sockaddr *dest_addr,
+ socklen_t addrlen, int* ret);
+extern int (*__nacl_irt_recv) (int sockfd, void *buf, size_t len, int flags, int* ret);
+extern int (*__nacl_irt_recvmsg) (int sockfd, struct msghdr *msg,
+ int flags, int* ret);
+extern int (*__nacl_irt_recvfrom) (int sockfd, void *buf, size_t len, int flags,
+ struct sockaddr *dest_addr, socklen_t* addrlen, int* ret);
+extern int (*__nacl_irt_select) (int nfds, fd_set *readfds,
+ fd_set *writefds, fd_set *exceptfds,
+ const struct timeval *timeout);
+extern int (*__nacl_irt_pselect) (int nfds, fd_set *readfds,
+ fd_set *writefds, fd_set *exceptfds,
+ const struct timeval *timeout, void* sigmask);
+extern int (*__nacl_irt_getpeername) (int sockfd, struct sockaddr *addr,
+ socklen_t *addrlen);
+extern int (*__nacl_irt_getsockname) (int sockfd, struct sockaddr *addr,
+ socklen_t *addrlen);
+extern int (*__nacl_irt_getsockopt) (int sockfd, int level, int optname,
+ void *optval, socklen_t *optlen);
+extern int (*__nacl_irt_setsockopt) (int sockfd, int level, int optname,
+ const void *optval, socklen_t optlen);
+extern int (*__nacl_irt_socketpair) (int domain, int type, int protocol, int sv[2]);
+extern int (*__nacl_irt_shutdown) (int sockfd, int how);
+
+
extern int (*__nacl_irt_open) (const char *pathname, int oflag, mode_t cmode,
int *newfd);
extern int (*__nacl_irt_close) (int fd);
@@ -81,6 +139,7 @@ extern int (*__nacl_irt_open_resource) (const char* file, int *fd);
extern int (*__nacl_irt_clock_getres) (clockid_t clk_id, struct timespec *res);
extern int (*__nacl_irt_clock_gettime) (clockid_t clk_id, struct timespec *tp);
+#undef socklen_t
#ifdef _LIBC
void init_irt_table (void) attribute_hidden;
@@ -115,7 +174,6 @@ void init_irt_table (void) attribute_hidden;
#include <sys/poll.h>
#include <sys/ptrace.h>
#include <sys/times.h>
-#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <utime.h>
« make_sysd_rules.py ('K') | « make_sysd_rules.py ('k') | sysdeps/nacl/irt_syscalls.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698