|
XLIO
The NVIDIA® Accelerated IO
|
XLIO Ultra API and POSIX socket API. More...
#include <fcntl.h>#include <poll.h>#include <sched.h>#include <signal.h>#include <stdint.h>#include <sys/epoll.h>#include <sys/stat.h>#include <sys/time.h>#include "xlio_types.h"Go to the source code of this file.
Functions | |
| int | xlio_socket (int __domain, int __type, int __protocol) |
| int | xlio_close (int __fd) |
| int | xlio_shutdown (int __fd, int __how) |
| int | xlio_listen (int __fd, int backlog) |
| int | xlio_accept (int __fd, struct sockaddr *__addr, socklen_t *__addrlen) |
| int | xlio_accept4 (int __fd, struct sockaddr *__addr, socklen_t *__addrlen, int __flags) |
| int | xlio_bind (int __fd, const struct sockaddr *__addr, socklen_t __addrlen) |
| int | xlio_connect (int __fd, const struct sockaddr *__to, socklen_t __tolen) |
| int | xlio_setsockopt (int __fd, int __level, int __optname, __const void *__optval, socklen_t __optlen) |
| int | xlio_getsockopt (int __fd, int __level, int __optname, void *__optval, socklen_t *__optlen) |
| int | xlio_fcntl (int __fd, int __cmd,...) |
| int | xlio_fcntl64 (int __fd, int __cmd,...) |
| int | xlio_getsockname (int __fd, struct sockaddr *__name, socklen_t *__namelen) |
| int | xlio_getpeername (int __fd, struct sockaddr *__name, socklen_t *__namelen) |
| ssize_t | xlio_read (int __fd, void *__buf, size_t __nbytes) |
| ssize_t | xlio_readv (int __fd, const struct iovec *iov, int iovcnt) |
| ssize_t | xlio_recv (int __fd, void *__buf, size_t __nbytes, int __flags) |
| ssize_t | xlio_recvmsg (int __fd, struct msghdr *__msg, int __flags) |
| int | xlio_recvmmsg (int __fd, struct mmsghdr *__mmsghdr, unsigned int __vlen, int __flags, const struct timespec *__timeout) |
| ssize_t | xlio_recvfrom (int __fd, void *__buf, size_t __nbytes, int __flags, struct sockaddr *__from, socklen_t *__fromlen) |
| ssize_t | xlio_write (int __fd, __const void *__buf, size_t __nbytes) |
| ssize_t | xlio_writev (int __fd, const struct iovec *iov, int iovcnt) |
| ssize_t | xlio_send (int __fd, __const void *__buf, size_t __nbytes, int __flags) |
| ssize_t | xlio_sendmsg (int __fd, __const struct msghdr *__msg, int __flags) |
| int | xlio_sendmmsg (int __fd, struct mmsghdr *__mmsghdr, unsigned int __vlen, int __flags) |
| ssize_t | xlio_sendto (int __fd, __const void *__buf, size_t __nbytes, int __flags, const struct sockaddr *__to, socklen_t __tolen) |
| ssize_t | xlio_sendfile (int out_fd, int in_fd, off_t *offset, size_t count) |
| ssize_t | xlio_sendfile64 (int out_fd, int in_fd, __off64_t *offset, size_t count) |
| int | xlio_select (int __nfds, fd_set *__readfds, fd_set *__writefds, fd_set *__exceptfds, struct timeval *__timeout) |
| int | xlio_pselect (int __nfds, fd_set *__readfds, fd_set *__writefds, fd_set *__errorfds, const struct timespec *__timeout, const sigset_t *__sigmask) |
| int | xlio_poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) |
| int | xlio_ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const sigset_t *__sigmask) |
| int | xlio_epoll_create (int __size) |
| int | xlio_epoll_create1 (int __flags) |
| int | xlio_epoll_ctl (int __epfd, int __op, int __fd, struct epoll_event *__event) |
| int | xlio_epoll_wait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout) |
| int | xlio_epoll_pwait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout, const sigset_t *__sigmask) |
| int | xlio_socketpair (int __domain, int __type, int __protocol, int __sv[2]) |
| int | xlio_pipe (int __filedes[2]) |
| int | xlio_open (__const char *__file, int __oflag,...) |
| int | xlio_creat (const char *__pathname, mode_t __mode) |
| int | xlio_dup (int __fd) |
| int | xlio_dup2 (int __fd, int __fd2) |
| int | xlio_add_conf_rule (const char *config_line) |
| int | xlio_thread_offload (int offload, pthread_t tid) |
| int | xlio_dump_fd_stats (int fd, int log_level) |
| int | xlio_register_recv_callback (int s, xlio_recv_callback_t callback, void *context) |
| int | xlio_init_ex (const struct xlio_init_attr *attr) |
| Initialize the XLIO Ultra API. More... | |
| int | xlio_init (void) |
| Initialize XLIO. More... | |
| int | xlio_exit (void) |
| Finalize XLIO. More... | |
| int | xlio_poll_group_create (const struct xlio_poll_group_attr *attr, xlio_poll_group_t *group_out) |
| Create a new polling group. More... | |
| int | xlio_poll_group_destroy (xlio_poll_group_t group) |
| Destroy a polling group. More... | |
| int | xlio_poll_group_update (xlio_poll_group_t group, const struct xlio_poll_group_attr *attr) |
| Update polling group attributes. More... | |
| void | xlio_poll_group_poll (xlio_poll_group_t group) |
| Poll for events on a polling group. More... | |
| int | xlio_socket_create (const struct xlio_socket_attr *attr, xlio_socket_t *sock_out) |
| Create a new XLIO socket. More... | |
| int | xlio_socket_destroy (xlio_socket_t sock) |
| Destroy an XLIO socket. More... | |
| int | xlio_socket_update (xlio_socket_t sock, unsigned flags, uintptr_t userdata_sq) |
| Update socket attributes. More... | |
| int | xlio_socket_setsockopt (xlio_socket_t sock, int level, int optname, const void *optval, socklen_t optlen) |
| Set socket options. More... | |
| int | xlio_socket_getsockname (xlio_socket_t sock, struct sockaddr *addr, socklen_t *addrlen) |
| Get socket name. More... | |
| int | xlio_socket_getpeername (xlio_socket_t sock, struct sockaddr *addr, socklen_t *addrlen) |
| Get peer name. More... | |
| int | xlio_socket_bind (xlio_socket_t sock, const struct sockaddr *addr, socklen_t addrlen) |
| Bind socket to address. More... | |
| int | xlio_socket_connect (xlio_socket_t sock, const struct sockaddr *to, socklen_t tolen) |
| Connect socket to remote address. More... | |
| int | xlio_socket_listen (xlio_socket_t sock) |
| Listen for incoming connections. More... | |
| struct ibv_pd * | xlio_socket_get_pd (xlio_socket_t sock) |
| Get InfiniBand protection domain. More... | |
| int | xlio_socket_detach_group (xlio_socket_t sock) |
| Detach socket from polling group. More... | |
| int | xlio_socket_attach_group (xlio_socket_t sock, xlio_poll_group_t group) |
| Attach socket to polling group. More... | |
| int | xlio_socket_send (xlio_socket_t sock, const void *data, size_t len, const struct xlio_socket_send_attr *attr) |
| Send data on a socket. More... | |
| int | xlio_socket_sendv (xlio_socket_t sock, const struct iovec *iov, unsigned iovcnt, const struct xlio_socket_send_attr *attr) |
| Send vectored data on a socket. More... | |
| void | xlio_poll_group_flush (xlio_poll_group_t group) |
| Flush all dirty sockets in a polling group. More... | |
| void | xlio_socket_flush (xlio_socket_t sock) |
| Flush pending data on a socket. More... | |
| void | xlio_socket_buf_free (xlio_socket_t sock, struct xlio_buf *buf) |
| Free a receive buffer (socket-specific) More... | |
| void | xlio_poll_group_buf_free (xlio_poll_group_t group, struct xlio_buf *buf) |
| Free a receive buffer (group-specific) More... | |
XLIO Ultra API and POSIX socket API.
This file provides the XLIO Ultra API for high-performance zero-copy networking, as well as the POSIX socket API implementation.