TAS
TCP Acceleration as an OS Service
Data Structures | Macros | Enumerations | Functions
tas_ll.h File Reference

Public low-level application interface for TAS. More...

#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>
Include dependency graph for tas_ll.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  flextcp_context
 
struct  flextcp_listener
 
struct  flextcp_connection
 
struct  flextcp_event
 

Macros

#define FLEXTCP_MAX_CONTEXTS   32
 
#define FLEXTCP_MAX_FTCPCORES   16
 
#define FLEXTCP_LISTEN_REUSEPORT   0x1
 

Enumerations

enum  flextcp_event_type {
  FLEXTCP_EV_LISTEN_OPEN, FLEXTCP_EV_LISTEN_NEWCONN, FLEXTCP_EV_LISTEN_ACCEPT, FLEXTCP_EV_CONN_OPEN,
  FLEXTCP_EV_CONN_CLOSED, FLEXTCP_EV_CONN_RECEIVED, FLEXTCP_EV_CONN_SENDBUF, FLEXTCP_EV_CONN_RXCLOSED,
  FLEXTCP_EV_CONN_TXCLOSED, FLEXTCP_EV_CONN_MOVED
}
 

Functions

int flextcp_init (void)
 
int flextcp_context_create (struct flextcp_context *ctx)
 
int flextcp_context_poll (struct flextcp_context *ctx, int num, struct flextcp_event *events)
 
int flextcp_context_waitfd (struct flextcp_context *ctx)
 
int flextcp_context_canwait (struct flextcp_context *ctx)
 
void flextcp_context_waitclear (struct flextcp_context *ctx)
 
int flextcp_context_wait (struct flextcp_context *ctx, int timeout_ms)
 
int flextcp_listen_open (struct flextcp_context *ctx, struct flextcp_listener *lst, uint16_t port, uint32_t backlog, uint32_t flags)
 
int flextcp_listen_accept (struct flextcp_context *ctx, struct flextcp_listener *lst, struct flextcp_connection *conn)
 
int flextcp_connection_open (struct flextcp_context *ctx, struct flextcp_connection *conn, uint32_t dst_ip, uint16_t dst_port)
 
int flextcp_connection_close (struct flextcp_context *ctx, struct flextcp_connection *conn)
 
int flextcp_connection_rx_done (struct flextcp_context *ctx, struct flextcp_connection *conn, size_t len)
 
ssize_t flextcp_connection_tx_alloc (struct flextcp_connection *conn, size_t len, void **buf)
 
ssize_t flextcp_connection_tx_alloc2 (struct flextcp_connection *conn, size_t len, void **buf_1, size_t *len_1, void **buf_2)
 
int flextcp_connection_tx_send (struct flextcp_context *ctx, struct flextcp_connection *conn, size_t len)
 
int flextcp_connection_tx_close (struct flextcp_context *ctx, struct flextcp_connection *conn)
 
int flextcp_connection_tx_possible (struct flextcp_context *ctx, struct flextcp_connection *conn)
 
int flextcp_connection_move (struct flextcp_context *ctx, struct flextcp_connection *conn)
 

Detailed Description

Public low-level application interface for TAS.

Definition in file tas_ll.h.