VLC 4.0.0-dev
|
Transport layer functions. More...
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. | |
typedef struct vlc_tls_client | vlc_tls_client_t |
TLS client-side credentials. | |
typedef struct vlc_tls_server | vlc_tls_server_t |
TLS server-side credentials. | |
Functions | |
vlc_tls_client_t * | vlc_tls_ClientCreate (vlc_object_t *) |
Allocates TLS client-side credentials. | |
void | vlc_tls_ClientDelete (vlc_tls_client_t *) |
Releases TLS client-side credentials. | |
vlc_tls_t * | vlc_tls_ClientSessionCreate (vlc_tls_client_t *creds, vlc_tls_t *sock, const char *hostname, const char *service, const char *const *alpn, char **alp) |
Initiates a client TLS session. | |
vlc_tls_server_t * | vlc_tls_ServerCreate (vlc_object_t *tls, const char *cert, const char *key) |
Allocates server TLS credentials. | |
static int | vlc_tls_SessionHandshake (vlc_tls_server_t *crd, vlc_tls_t *tls) |
vlc_tls_t * | vlc_tls_ServerSessionCreate (vlc_tls_server_t *creds, vlc_tls_t *sock, const char *const *alpn) |
Creates a TLS server session. | |
void | vlc_tls_ServerDelete (vlc_tls_server_t *) |
Releases server-side TLS credentials. | |
void | vlc_tls_SessionDelete (vlc_tls_t *) |
Destroys a TLS session. | |
static int | vlc_tls_GetPollFD (vlc_tls_t *tls, short *events) |
Generates an event polling description. | |
static int | vlc_tls_GetFD (vlc_tls_t *tls) |
Returns the underlying file descriptor. | |
ssize_t | vlc_tls_Read (vlc_tls_t *tls, void *buf, size_t len, bool waitall) |
Receives data through a socket. | |
char * | vlc_tls_GetLine (vlc_tls_t *) |
Receives a text line through a socket. | |
ssize_t | vlc_tls_Write (vlc_tls_t *, const void *buf, size_t len) |
Sends data through a socket. | |
static int | vlc_tls_Shutdown (vlc_tls_t *tls, bool duplex) |
Shuts a connection down. | |
static void | vlc_tls_Close (vlc_tls_t *session) |
Closes a connection and its underlying resources. | |
vlc_tls_t * | vlc_tls_SocketOpen (int fd) |
Creates a transport-layer stream from a socket. | |
int | vlc_tls_SocketPair (int family, int protocol, vlc_tls_t *[2]) |
Creates a connected pair of transport-layer sockets. | |
vlc_tls_t * | vlc_tls_SocketOpenAddrInfo (const struct addrinfo *ai, bool defer_connect) |
Creates a transport-layer stream from a struct addrinfo. | |
vlc_tls_t * | vlc_tls_SocketOpenTCP (vlc_object_t *obj, const char *hostname, unsigned port) |
Creates a transport-layer TCP stream from a name and port. | |
vlc_tls_t * | vlc_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. | |
Transport layer functions.