VLC 4.0.0-dev

Transport layer functions. More...

Include dependency graph for vlc_tls.h:

Go to the source code of this file.

Data Structures

struct  vlc_tls
 Transport layer socket. More...
 
struct  vlc_tls_operations
 
struct  vlc_tls_client
 TLS client-side credentials. More...
 
struct  vlc_tls_client_operations
 
struct  vlc_tls_server
 TLS server-side credentials. More...
 
struct  vlc_tls_server_operations
 

Typedefs

typedef struct vlc_tls vlc_tls_t
 Transport layer socket. More...
 
typedef struct vlc_tls_client vlc_tls_client_t
 TLS client-side credentials. More...
 
typedef struct vlc_tls_server vlc_tls_server_t
 TLS server-side credentials. More...
 

Functions

vlc_tls_client_tvlc_tls_ClientCreate (vlc_object_t *)
 Allocates TLS client-side credentials. More...
 
void vlc_tls_ClientDelete (vlc_tls_client_t *)
 Releases TLS client-side credentials. More...
 
vlc_tls_tvlc_tls_ClientSessionCreate (vlc_tls_client_t *creds, vlc_tls_t *sock, const char *host, const char *service, const char *const *alpn, char **alp)
 Initiates a client TLS session. More...
 
vlc_tls_server_tvlc_tls_ServerCreate (vlc_object_t *, const char *cert, const char *key)
 Allocates server TLS credentials. More...
 
static int vlc_tls_SessionHandshake (vlc_tls_server_t *crd, vlc_tls_t *tls)
 
vlc_tls_tvlc_tls_ServerSessionCreate (vlc_tls_server_t *creds, vlc_tls_t *sock, const char *const *alpn)
 Creates a TLS server session. More...
 
void vlc_tls_ServerDelete (vlc_tls_server_t *)
 Releases server-side TLS credentials. More...
 
void vlc_tls_SessionDelete (vlc_tls_t *)
 Destroys a TLS session. More...
 
static int vlc_tls_GetPollFD (vlc_tls_t *tls, short *events)
 Generates an event polling description. More...
 
static int vlc_tls_GetFD (vlc_tls_t *tls)
 Returns the underlying file descriptor. More...
 
ssize_t vlc_tls_Read (vlc_tls_t *, void *buf, size_t len, bool waitall)
 Receives data through a socket. More...
 
char * vlc_tls_GetLine (vlc_tls_t *)
 Receives a text line through a socket. More...
 
ssize_t vlc_tls_Write (vlc_tls_t *, const void *buf, size_t len)
 Sends data through a socket. More...
 
static int vlc_tls_Shutdown (vlc_tls_t *tls, bool duplex)
 Shuts a connection down. More...
 
static void vlc_tls_Close (vlc_tls_t *session)
 Closes a connection and its underlying resources. More...
 
vlc_tls_tvlc_tls_SocketOpen (int fd)
 Creates a transport-layer stream from a socket. More...
 
int vlc_tls_SocketPair (int family, int protocol, vlc_tls_t *[2])
 Creates a connected pair of transport-layer sockets. More...
 
vlc_tls_tvlc_tls_SocketOpenAddrInfo (const struct addrinfo *ai, bool defer_connect)
 Creates a transport-layer stream from a struct addrinfo. More...
 
vlc_tls_tvlc_tls_SocketOpenTCP (vlc_object_t *obj, const char *hostname, unsigned port)
 Creates a transport-layer TCP stream from a name and port. More...
 
vlc_tls_tvlc_tls_SocketOpenTLS (vlc_tls_client_t *crd, const char *hostname, unsigned port, const char *service, const char *const *alpn, char **alp)
 Initiates a TLS session over TCP. More...
 

Detailed Description

Transport layer functions.