RetroArch
|
#include "mbedtls/config.h"
#include "mbedtls/platform.h"
#include "mbedtls/net_sockets.h"
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/time.h>
#include <unistd.h>
#include <signal.h>
#include <fcntl.h>
#include <netdb.h>
#include <errno.h>
#include <stdio.h>
#include <time.h>
#include <stdint.h>
Macros | |
#define | MSVC_INT_CAST |
Functions | |
static int | net_prepare (void) |
void | mbedtls_net_init (mbedtls_net_context *ctx) |
Initialize a context Just makes the context ready to be used or freed safely. More... | |
int | mbedtls_net_connect (mbedtls_net_context *ctx, const char *host, const char *port, int proto) |
Initiate a connection with host:port in the given protocol. More... | |
int | mbedtls_net_bind (mbedtls_net_context *ctx, const char *bind_ip, const char *port, int proto) |
Create a receiving socket on bind_ip:port in the chosen protocol. If bind_ip == NULL, all interfaces are bound. More... | |
static int | net_would_block (const mbedtls_net_context *ctx) |
int | mbedtls_net_accept (mbedtls_net_context *bind_ctx, mbedtls_net_context *client_ctx, void *client_ip, size_t buf_size, size_t *ip_len) |
Accept a connection from a remote client. More... | |
int | mbedtls_net_set_block (mbedtls_net_context *ctx) |
Set the socket blocking. More... | |
int | mbedtls_net_set_nonblock (mbedtls_net_context *ctx) |
Set the socket non-blocking. More... | |
void | mbedtls_net_usleep (unsigned long usec) |
Portable usleep helper. More... | |
int | mbedtls_net_recv (void *ctx, unsigned char *buf, size_t len) |
Read at most 'len' characters. If no error occurs, the actual amount read is returned. More... | |
int | mbedtls_net_recv_timeout (void *ctx, unsigned char *buf, size_t len, uint32_t timeout) |
Read at most 'len' characters, blocking for at most 'timeout' seconds. If no error occurs, the actual amount read is returned. More... | |
int | mbedtls_net_send (void *ctx, const unsigned char *buf, size_t len) |
Write at most 'len' characters. If no error occurs, the actual amount read is returned. More... | |
void | mbedtls_net_free (mbedtls_net_context *ctx) |
Gracefully shutdown the connection and free associated data. More... | |
#define MSVC_INT_CAST |
int mbedtls_net_accept | ( | mbedtls_net_context * | bind_ctx, |
mbedtls_net_context * | client_ctx, | ||
void * | client_ip, | ||
size_t | buf_size, | ||
size_t * | ip_len | ||
) |
Accept a connection from a remote client.
bind_ctx | Relevant socket |
client_ctx | Will contain the connected client socket |
client_ip | Will contain the client IP address |
buf_size | Size of the client_ip buffer |
ip_len | Will receive the size of the client IP written |
int mbedtls_net_bind | ( | mbedtls_net_context * | ctx, |
const char * | bind_ip, | ||
const char * | port, | ||
int | proto | ||
) |
Create a receiving socket on bind_ip:port in the chosen protocol. If bind_ip == NULL, all interfaces are bound.
ctx | Socket to use |
bind_ip | IP to bind to, can be NULL |
port | Port number to use |
proto | Protocol: MBEDTLS_NET_PROTO_TCP or MBEDTLS_NET_PROTO_UDP |
int mbedtls_net_connect | ( | mbedtls_net_context * | ctx, |
const char * | host, | ||
const char * | port, | ||
int | proto | ||
) |
Initiate a connection with host:port in the given protocol.
ctx | Socket to use |
host | Host to connect to |
port | Port to connect to |
proto | Protocol: MBEDTLS_NET_PROTO_TCP or MBEDTLS_NET_PROTO_UDP |
void mbedtls_net_free | ( | mbedtls_net_context * | ctx | ) |
Gracefully shutdown the connection and free associated data.
ctx | The context to free |
void mbedtls_net_init | ( | mbedtls_net_context * | ctx | ) |
Initialize a context Just makes the context ready to be used or freed safely.
ctx | Context to initialize |
int mbedtls_net_recv | ( | void * | ctx, |
unsigned char * | buf, | ||
size_t | len | ||
) |
Read at most 'len' characters. If no error occurs, the actual amount read is returned.
ctx | Socket |
buf | The buffer to write to |
len | Maximum length of the buffer |
Read at most 'len' characters, blocking for at most 'timeout' seconds. If no error occurs, the actual amount read is returned.
ctx | Socket |
buf | The buffer to write to |
len | Maximum length of the buffer |
timeout | Maximum number of milliseconds to wait for data 0 means no timeout (wait forever) |
Write at most 'len' characters. If no error occurs, the actual amount read is returned.
ctx | Socket |
buf | The buffer to read from |
len | The length of the buffer |
int mbedtls_net_set_block | ( | mbedtls_net_context * | ctx | ) |
Set the socket blocking.
ctx | Socket to set |
int mbedtls_net_set_nonblock | ( | mbedtls_net_context * | ctx | ) |
Set the socket non-blocking.
ctx | Socket to set |
void mbedtls_net_usleep | ( | unsigned long | usec | ) |
Portable usleep helper.
usec | Amount of microseconds to sleep |
|
static |
|
static |