#pragma once
#ifndef _WIN32
#include "tls/s2n_connection.h"
struct s2n_socket_read_io_context {
int fd;
unsigned int tcp_quickack_set : 1;
unsigned int original_rcvlowat_is_set : 1;
int original_rcvlowat_val;
};
struct s2n_socket_write_io_context {
int fd;
unsigned int original_cork_is_set : 1;
int original_cork_val;
};
int s2n_socket_quickack(struct s2n_connection *conn);
int s2n_socket_read_snapshot(struct s2n_connection *conn);
int s2n_socket_write_snapshot(struct s2n_connection *conn);
int s2n_socket_read_restore(struct s2n_connection *conn);
int s2n_socket_write_restore(struct s2n_connection *conn);
int s2n_socket_was_corked(struct s2n_connection *conn);
int s2n_socket_write_cork(struct s2n_connection *conn);
int s2n_socket_write_uncork(struct s2n_connection *conn);
int s2n_socket_read(void *io_context, uint8_t *buf, uint32_t len);
int s2n_socket_write(void *io_context, const uint8_t *buf, uint32_t len);
#endif