#include "polarssl/config.h"#include "polarssl/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 <endian.h>#include <stdlib.h>#include <stdio.h>#include <time.h>#include <inttypes.h>
Go to the source code of this file.
Defines | |
| #define | POLARSSL_HTONS(n) |
| #define | POLARSSL_HTONL(n) |
| #define | net_htons(n) POLARSSL_HTONS(n) |
| #define | net_htonl(n) POLARSSL_HTONL(n) |
Functions | |
| unsigned short | net_htons (unsigned short n) |
| unsigned long | net_htonl (unsigned long n) |
| int | net_connect (int *fd, const char *host, int port) |
| Initiate a TCP connection with host:port. | |
| int | net_bind (int *fd, const char *bind_ip, int port) |
| Create a listening socket on bind_ip:port. | |
| 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, size_t len) |
| Read at most 'len' characters. | |
| int | net_send (void *ctx, const unsigned char *buf, size_t len) |
| Write at most 'len' characters. | |
| void | net_close (int fd) |
| Gracefully shutdown the connection. | |
| #define net_htonl | ( | n | ) | POLARSSL_HTONL(n) |
Definition at line 115 of file net.c.
Referenced by net_bind().
| #define net_htons | ( | n | ) | POLARSSL_HTONS(n) |
Definition at line 114 of file net.c.
Referenced by net_bind(), and net_connect().
| #define POLARSSL_HTONL | ( | n | ) |
| #define POLARSSL_HTONS | ( | n | ) |
| int net_accept | ( | int | bind_fd, | |
| int * | client_fd, | |||
| void * | client_ip | |||
| ) |
Accept a connection from a remote client.
| bind_fd | Relevant socket | |
| client_fd | Will contain the connected client socket | |
| client_ip | Will contain the client IP address |
Definition at line 261 of file net.c.
References net_is_blocking(), POLARSSL_ERR_NET_ACCEPT_FAILED, and POLARSSL_ERR_NET_WANT_READ.
| int net_bind | ( | int * | fd, | |
| const char * | bind_ip, | |||
| int | port | |||
| ) |
Create a listening socket on bind_ip:port.
If bind_ip == NULL, all interfaces are binded.
| fd | Socket to use | |
| bind_ip | IP to bind to, can be NULL | |
| port | Port number to use |
Definition at line 169 of file net.c.
References net_htonl, net_htons, POLARSSL_ERR_NET_BIND_FAILED, POLARSSL_ERR_NET_LISTEN_FAILED, POLARSSL_ERR_NET_SOCKET_FAILED, and POLARSSL_NET_LISTEN_BACKLOG.
| void net_close | ( | int | fd | ) |
| int net_connect | ( | int * | fd, | |
| const char * | host, | |||
| int | port | |||
| ) |
Initiate a TCP connection with host:port.
| fd | Socket to use | |
| host | Host to connect to | |
| port | Port to connect to |
Definition at line 120 of file net.c.
References net_htons, POLARSSL_ERR_NET_CONNECT_FAILED, POLARSSL_ERR_NET_SOCKET_FAILED, and POLARSSL_ERR_NET_UNKNOWN_HOST.
| unsigned long net_htonl | ( | unsigned long | n | ) |
| unsigned short net_htons | ( | unsigned short | n | ) |
| static int net_is_blocking | ( | void | ) | [static] |
Definition at line 238 of file net.c.
Referenced by net_accept(), net_recv(), and net_send().
| int 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 |
Definition at line 331 of file net.c.
References net_is_blocking(), POLARSSL_ERR_NET_CONN_RESET, POLARSSL_ERR_NET_RECV_FAILED, and POLARSSL_ERR_NET_WANT_READ.
| int 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.
| ctx | Socket | |
| buf | The buffer to read from | |
| len | The length of the buffer |
Definition at line 361 of file net.c.
References net_is_blocking(), POLARSSL_ERR_NET_CONN_RESET, POLARSSL_ERR_NET_SEND_FAILED, and POLARSSL_ERR_NET_WANT_WRITE.
| int net_set_block | ( | int | fd | ) |
| int net_set_nonblock | ( | int | fd | ) |
1.6.1