ELinks 0.18.0
socket.h File Reference
#include <sys/types.h>
#include "network/state.h"
Include dependency graph for socket.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct  socket_operations
struct  read_buffer
struct  socket

Macros

#define EL_PF_INET   0
#define EL_PF_INET6   1

Typedefs

typedef void(* socket_read_T) (struct socket *, struct read_buffer *)
typedef void(* socket_write_T) (struct socket *)
typedef void(* socket_connect_T) (struct socket *)
typedef void(* socket_operation_T) (struct socket *, struct connection_state)

Enumerations

enum  socket_error {
  SOCKET_SYSCALL_ERROR = -1 , SOCKET_INTERNAL_ERROR = -2 , SOCKET_SSL_WANT_READ = -3 , SOCKET_CANT_READ = -4 ,
  SOCKET_CANT_WRITE = -5
}
enum  socket_state { SOCKET_RETRY_ONCLOSE , SOCKET_END_ONCLOSE , SOCKET_CLOSED }

Functions

struct socketinit_socket (void *conn, struct socket_operations *ops)
void done_socket (struct socket *socket)
void close_socket (struct socket *socket)
void timeout_socket (struct socket *socket)
void complete_connect_socket (struct socket *socket, struct uri *uri, socket_connect_T done)
void make_connection (struct socket *socket, struct uri *uri, socket_connect_T connect_done, int no_cache)
int get_pasv_socket (struct socket *ctrl_socket, struct sockaddr_storage *addr)
void connect_socket (struct socket *socket, struct connection_state state)
void dns_exception (struct socket *socket)
void read_from_socket (struct socket *socket, struct read_buffer *buffer, struct connection_state state, socket_read_T done)
void write_to_socket (struct socket *socket, char *data, int datalen, struct connection_state state, socket_write_T write_done)
void request_from_socket (struct socket *socket, char *data, int datalen, struct connection_state state, enum socket_state sock_state, socket_read_T read_done)
struct read_bufferalloc_read_buffer (struct socket *socket)
void kill_buffer_data (struct read_buffer *buffer, int bytes)

Macro Definition Documentation

◆ EL_PF_INET

#define EL_PF_INET   0

◆ EL_PF_INET6

#define EL_PF_INET6   1

Typedef Documentation

◆ socket_connect_T

typedef void(* socket_connect_T) (struct socket *)

◆ socket_operation_T

typedef void(* socket_operation_T) (struct socket *, struct connection_state)

◆ socket_read_T

typedef void(* socket_read_T) (struct socket *, struct read_buffer *)

◆ socket_write_T

typedef void(* socket_write_T) (struct socket *)

Enumeration Type Documentation

◆ socket_error

Enumerator
SOCKET_SYSCALL_ERROR 
SOCKET_INTERNAL_ERROR 
SOCKET_SSL_WANT_READ 
SOCKET_CANT_READ 
SOCKET_CANT_WRITE 

◆ socket_state

Enumerator
SOCKET_RETRY_ONCLOSE 
SOCKET_END_ONCLOSE 
SOCKET_CLOSED 

Function Documentation

◆ alloc_read_buffer()

struct read_buffer * alloc_read_buffer ( struct socket * socket)

◆ close_socket()

void close_socket ( struct socket * socket)

◆ complete_connect_socket()

void complete_connect_socket ( struct socket * socket,
struct uri * uri,
socket_connect_T done )

◆ connect_socket()

void connect_socket ( struct socket * socket,
struct connection_state state )

◆ dns_exception()

void dns_exception ( struct socket * socket)

◆ done_socket()

void done_socket ( struct socket * socket)

◆ get_pasv_socket()

int get_pasv_socket ( struct socket * ctrl_socket,
struct sockaddr_storage * addr )

◆ init_socket()

struct socket * init_socket ( void * conn,
struct socket_operations * ops )

◆ kill_buffer_data()

void kill_buffer_data ( struct read_buffer * buffer,
int bytes )

◆ make_connection()

void make_connection ( struct socket * socket,
struct uri * uri,
socket_connect_T connect_done,
int no_cache )

◆ read_from_socket()

void read_from_socket ( struct socket * socket,
struct read_buffer * buffer,
struct connection_state state,
socket_read_T done )

◆ request_from_socket()

void request_from_socket ( struct socket * socket,
char * data,
int datalen,
struct connection_state state,
enum socket_state sock_state,
socket_read_T read_done )

◆ timeout_socket()

void timeout_socket ( struct socket * socket)

◆ write_to_socket()

void write_to_socket ( struct socket * socket,
char * data,
int datalen,
struct connection_state state,
socket_write_T write_done )