libcake 0.0.1
Librairie en C
Référence du fichier socket.h

Fichier contenant le prototypes de tout ce qui touche aux sockets. Plus de détails...

Aller au code source de ce fichier.

Structures de données

struct  cake_clientsocket
 Socket de connexion client. Plus de détails...
 
struct  cake_tlsclient
 Socket de connexion client utilisant le protocole TLS, sécurisant les communications. Plus de détails...
 
struct  cake_acceptedclientsocket
 Socket client accepté par un socket serveur. Plus de détails...
 
struct  cake_serversocket
 Socket de serveur. Plus de détails...
 
struct  cake_socketbuffer
 
struct  cake_clientsocketstream
 
struct  cake_tlsclientstream
 
struct  cake_acceptedclientsocketstream
 

Macros

#define cake_init_winsock()
 
#define cake_clean_winsock()
 
#define CAKE_SOCKET_BAD_SOCKET   -1
 
#define CAKE_SOCKET_ERROR   -1
 
#define cake_socket_get_last_error_code()   errno
 
#define cake_close_socket(sock)   close(sock)
 
#define CAKE_IP_V4   AF_INET
 
#define CAKE_IP_V6   AF_INET6
 
#define CAKE_CLIENT_SOCKET_CONNECT_OK   0
 
#define CAKE_SOCKET_CLOSE   0
 
#define CAKE_SOCKET_READ_ERROR   SOCKET_ERROR
 
#define CAKE_SOCKET_ERROR_FROM_NO_ERROR   0
 
#define CAKE_SOCKET_ERROR_FROM_GETADDRINFO   1
 
#define CAKE_SOCKET_ERROR_FROM_SOCKET   2
 
#define CAKE_SOCKET_ERROR_FROM_CONNECT   3
 
#define CAKE_SOCKET_ERROR_FROM_BIND   4
 
#define CAKE_SOCKET_ERROR_FROM_LISTEN   5
 
#define CAKE_SOCKET_ERROR_FROM_ACCEPT   6
 
#define CAKE_SOCKET_ERROR_FROM_RECV   7
 
#define CAKE_SOCKET_ERROR_FROM_SEND   8
 
#define CAKE_SOCKET_ERROR_FROM_SSL_SET_FD   9
 
#define CAKE_SOCKET_ERROR_FROM_SSL_CONNECT   10
 
#define CAKE_SOCKET_ERROR_FROM_SSL_WRITE_EX   11
 
#define CAKE_SOCKET_ERROR_FROM_SSL_READ_EX   12
 
#define CAKE_SOCKET_READ_BUFFER_SIZE   2048
 
#define cake_init_winsock
 
#define cake_clean_winsock
 

Définitions de type

typedef socklen_t cake_socklen
 
typedef int cake_socket
 
typedef struct cake_clientsocket Cake_ClientSocket
 Socket de connexion client.
 
typedef struct cake_tlsclient Cake_TLSClient
 Socket de connexion client utilisant le protocole TLS, sécurisant les communications.
 
typedef struct cake_acceptedclientsocket Cake_AcceptedClientSocket
 Socket client accepté par un socket serveur.
 
typedef struct cake_serversocket Cake_ServerSocket
 Socket de serveur.
 
typedef struct cake_socketbuffer Cake_SocketBuffer
 
typedef struct cake_clientsocketstream Cake_ClientSocketStream
 
typedef struct cake_tlsclientstream Cake_TLSClientStream
 
typedef struct cake_acceptedclientsocketstream Cake_AcceptedClientSocketStream
 

Fonctions

void cake_init_ssl ()
 
cake_bool __cake_client_socket_recv (void *_s, char *_buffer, ulonglong len, ulonglong *_bytesReceived)
 
cake_bool cake_create_client_socket (Cake_ClientSocket *sock, const char *hostname, const char *port, cake_byte ipMode)
 Crée un socket client sur l'adresse fournie en paramètre. Plus de détails...
 
cake_bool cake_client_socket_connect (Cake_ClientSocket *sock)
 Permet de connecter un socket client au serveur cible. Plus de détails...
 
cake_bool cake_client_socket_send (Cake_ClientSocket *sock, const char *data, ulonglong size)
 
void cake_free_client_socket (Cake_ClientSocket *sock)
 Ferme la connexion d'un socket client. Plus de détails...
 
cake_bool __cake_tls_client_recv (void *_s, char *_buffer, ulonglong len, ulonglong *_bytesReceived)
 
cake_bool cake_create_tls_client (Cake_TLSClient *tls, const char *hostname, const char *port, cake_byte ipMode)
 
cake_bool cake_tls_client_connect (Cake_TLSClient *tls)
 
cake_bool cake_tls_client_send (Cake_TLSClient *tls, const char *data, ulonglong size)
 
char * cake_tls_client_recv_dyn (Cake_TLSClient *tls, ulonglong size)
 
void cake_free_tls_client (Cake_TLSClient *tls)
 
cake_bool __cake_accepted_client_socket_recv (void *_s, char *_buffer, ulonglong len, ulonglong *_bytesReceived)
 
cake_bool cake_accepted_client_socket_send (Cake_AcceptedClientSocket *sock, const char *data, ulonglong size)
 
void cake_free_accepted_client_socket (Cake_AcceptedClientSocket *client)
 
cake_bool cake_create_server_socket (Cake_ServerSocket *sock, const char *port, cake_byte ipMode, int backlog)
 
void cake_free_server_socket (Cake_ServerSocket *sock)
 
cake_bool cake_server_socket_accept (Cake_ServerSocket *sock, Cake_AcceptedClientSocket *dest)
 
Cake_String_UTF8__cake_socket_stream_read_line (Cake_SocketBuffer *_stream, cake_bool(*recvFunc)(void *, char *, ulonglong, ulonglong *), void *_s)
 
cake_bool __cake_tls_client_stream_read_raw (Cake_TLSClientStream *stream, ulonglong len, char *buff)
 
Cake_String_UTF8cake_client_socket_stream_read_line (Cake_ClientSocketStream *stream)
 
void cake_free_client_socket_stream (Cake_ClientSocketStream *stream)
 
Cake_String_UTF8cake_tls_client_stream_read_line (Cake_TLSClientStream *stream)
 
char * cake_tls_client_stream_read_raw (Cake_TLSClientStream *stream, ulonglong len)
 
Cake_String_UTF8cake_tls_client_stream_read_str (Cake_TLSClientStream *stream, ulonglong len)
 
void cake_free_tls_client_stream (Cake_TLSClientStream *stream)
 
Cake_String_UTF8cake_accepted_client_socket_stream_read_line (Cake_AcceptedClientSocketStream *stream)
 
void cake_free_accepted_client_socket_stream (Cake_AcceptedClientSocketStream *stream)
 

Description détaillée

Fichier contenant le prototypes de tout ce qui touche aux sockets.

Auteur
Tytraman

Documentation des fonctions

◆ cake_client_socket_connect()

cake_bool cake_client_socket_connect ( Cake_ClientSocket sock)

Permet de connecter un socket client au serveur cible.

Paramètres
sockLe socket à connecter.
Renvoie
cake_false en cas d'erreur.

◆ cake_create_client_socket()

cake_bool cake_create_client_socket ( Cake_ClientSocket sock,
const char *  hostname,
const char *  port,
cake_byte  ipMode 
)

Crée un socket client sur l'adresse fournie en paramètre.

Paramètres
[out]sockSocket a initialiser.
[in]hostnameAdresse du serveur auquel se connecter.
[in]portPort serveur de connexion.
ipModeMode IP utilisé, CAKE_IP_V4 ou CAKE_IP_V6.
Renvoie
cake_false en cas d'erreur.

◆ cake_free_client_socket()

void cake_free_client_socket ( Cake_ClientSocket sock)

Ferme la connexion d'un socket client.

Paramètres
sockLe socket a fermer.