#include "xyssl/config.h"
#include "xyssl/net.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 <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
Go to the source code of this file.
Functions | |
static unsigned short | net_htons (int port) |
int | net_connect (int *fd, char *host, int port) |
Initiate a TCP connection with host:port. | |
int | net_bind (int *fd, char *bind_ip, int port) |
Create a listening socket on bind_ip:port. If bind_ip == NULL, all interfaces are binded. | |
static int | net_is_blocking (void) |
int | net_accept (int bind_fd, int *client_fd, void *client_ip) |
Accept a connection from a remote client. | |
int | net_set_block (int fd) |
Set the socket blocking. | |
int | net_set_nonblock (int fd) |
Set the socket non-blocking. | |
void | net_usleep (unsigned long usec) |
Portable usleep helper. | |
int | net_recv (void *ctx, unsigned char *buf, int len) |
Read at most 'len' characters. len is updated to reflect the actual number of characters read. | |
int | net_send (void *ctx, unsigned char *buf, int len) |
Write at most 'len' characters. len is updated to reflect the number of characters _not_ written. | |
void | net_close (int fd) |
Gracefully shutdown the connection. |
Accept a connection from a remote client.
Definition at line 212 of file net.c.
References int, net_is_blocking(), XYSSL_ERR_NET_ACCEPT_FAILED, and XYSSL_ERR_NET_TRY_AGAIN.
Referenced by main(), and ssl_test().
Create a listening socket on bind_ip:port. If bind_ip == NULL, all interfaces are binded.
Definition at line 126 of file net.c.
References net_htons(), SOCKET_ERROR, XYSSL_ERR_NET_BIND_FAILED, XYSSL_ERR_NET_LISTEN_FAILED, and XYSSL_ERR_NET_SOCKET_FAILED.
Referenced by main(), and ssl_test().
void net_close | ( | int | fd | ) |
Gracefully shutdown the connection.
Definition at line 338 of file net.c.
Referenced by main(), and ssl_test().
Initiate a TCP connection with host:port.
Definition at line 81 of file net.c.
References net_htons(), SOCKET_ERROR, XYSSL_ERR_NET_CONNECT_FAILED, XYSSL_ERR_NET_SOCKET_FAILED, and XYSSL_ERR_NET_UNKNOWN_HOST.
Referenced by main(), and ssl_test().
static unsigned short net_htons | ( | int | port | ) | [static] |
static int net_is_blocking | ( | void | ) | [static] |
Definition at line 190 of file net.c.
Referenced by net_accept(), net_recv(), and net_send().
Read at most 'len' characters. len is updated to reflect the actual number of characters read.
Definition at line 277 of file net.c.
References net_is_blocking(), XYSSL_ERR_NET_CONN_RESET, XYSSL_ERR_NET_RECV_FAILED, and XYSSL_ERR_NET_TRY_AGAIN.
Referenced by main(), and ssl_test().
Write at most 'len' characters. len is updated to reflect the number of characters _not_ written.
Definition at line 309 of file net.c.
References net_is_blocking(), XYSSL_ERR_NET_CONN_RESET, XYSSL_ERR_NET_SEND_FAILED, and XYSSL_ERR_NET_TRY_AGAIN.
Referenced by main(), and ssl_test().
Set the socket non-blocking.
Definition at line 253 of file net.c.
Referenced by ssl_test().