25 #ifndef FLEXTCP_SOCKETS_H_ 26 #define FLEXTCP_SOCKETS_H_ 29 #include <sys/types.h> 30 #include <sys/socket.h> 31 #include <sys/epoll.h> 43 int tas_socket(
int domain,
int type,
int protocol);
45 int tas_close(
int sockfd);
47 int tas_shutdown(
int sockfd,
int how);
49 int tas_bind(
int sockfd,
const struct sockaddr *addr, socklen_t addrlen);
51 int tas_connect(
int sockfd,
const struct sockaddr *addr, socklen_t addrlen);
53 int tas_listen(
int sockfd,
int backlog);
55 int tas_accept4(
int sockfd,
struct sockaddr *addr, socklen_t *addrlen,
58 int tas_accept(
int sockfd,
struct sockaddr *addr, socklen_t *addrlen);
61 int tas_fcntl(
int sockfd,
int cmd, ...);
63 int tas_getsockopt(
int sockfd,
int level,
int optname,
void *optval,
66 int tas_setsockopt(
int sockfd,
int level,
int optname,
const void *optval,
69 int tas_getsockname(
int sockfd,
struct sockaddr *addr, socklen_t *addrlen);
71 int tas_getpeername(
int sockfd,
struct sockaddr *addr, socklen_t *addrlen);
73 int tas_move_conn(
int sockfd);
76 ssize_t tas_read(
int fd,
void *buf,
size_t count);
78 ssize_t tas_recv(
int sockfd,
void *buf,
size_t len,
int flags);
80 ssize_t tas_recvfrom(
int sockfd,
void *buf,
size_t len,
int flags,
81 struct sockaddr *src_addr, socklen_t *addrlen);
83 ssize_t tas_recvmsg(
int sockfd,
struct msghdr *msg,
int flags);
85 ssize_t tas_readv(
int sockfd,
const struct iovec *iov,
int iovcnt);
87 ssize_t tas_pread(
int sockfd,
void *buf,
size_t count, off_t offset);
89 ssize_t tas_write(
int fd,
const void *buf,
size_t count);
91 ssize_t tas_send(
int sockfd,
const void *buf,
size_t len,
int flags);
93 ssize_t tas_sendto(
int sockfd,
const void *buf,
size_t len,
int flags,
94 const struct sockaddr *dest_addr, socklen_t addrlen);
96 ssize_t tas_sendmsg(
int sockfd,
const struct msghdr *msg,
int flags);
98 ssize_t tas_writev(
int sockfd,
const struct iovec *iov,
int iovcnt);
100 ssize_t tas_pwrite(
int sockfd,
const void *buf,
size_t count, off_t offset);
102 ssize_t tas_sendfile(
int sockfd,
int in_fd, off_t *offset,
size_t len);
105 int tas_epoll_create(
int size);
107 int tas_epoll_create1(
int flags);
109 int tas_epoll_ctl(
int epfd,
int op,
int fd,
struct epoll_event *event);
111 int tas_epoll_wait(
int epfd,
struct epoll_event *events,
int maxevents,
114 int tas_epoll_pwait(
int epfd,
struct epoll_event *events,
int maxevents,
115 int timeout,
const sigset_t *sigmask);
118 int tas_select(
int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
121 int tas_pselect(
int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
122 const struct timespec *
timeout,
const sigset_t *sigmask);
125 int tas_poll(
struct pollfd *fds, nfds_t nfds,
int timeout);
127 int tas_ppoll(
struct pollfd *fds, nfds_t nfds,
const struct timespec *tmo_p,
128 const sigset_t *sigmask);
131 int tas_dup(
int oldfd);
133 int tas_dup2(
int oldfd,
int newfd);
135 int tas_dup3(
int oldfd,
int newfd,
int flags);
int tas_accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen)