PolarSSL v1.3.4
|
Network communication functions. More...
#include <string.h>
Go to the source code of this file.
Macros | |
#define | POLARSSL_ERR_NET_UNKNOWN_HOST -0x0056 |
Failed to get an IP address for the given hostname. More... | |
#define | POLARSSL_ERR_NET_SOCKET_FAILED -0x0042 |
Failed to open a socket. More... | |
#define | POLARSSL_ERR_NET_CONNECT_FAILED -0x0044 |
The connection to the given server / port failed. More... | |
#define | POLARSSL_ERR_NET_BIND_FAILED -0x0046 |
Binding of the socket failed. More... | |
#define | POLARSSL_ERR_NET_LISTEN_FAILED -0x0048 |
Could not listen on the socket. More... | |
#define | POLARSSL_ERR_NET_ACCEPT_FAILED -0x004A |
Could not accept the incoming connection. More... | |
#define | POLARSSL_ERR_NET_RECV_FAILED -0x004C |
Reading information from the socket failed. More... | |
#define | POLARSSL_ERR_NET_SEND_FAILED -0x004E |
Sending information through the socket failed. More... | |
#define | POLARSSL_ERR_NET_CONN_RESET -0x0050 |
Connection was reset by peer. More... | |
#define | POLARSSL_ERR_NET_WANT_READ -0x0052 |
Connection requires a read call. More... | |
#define | POLARSSL_ERR_NET_WANT_WRITE -0x0054 |
Connection requires a write call. More... | |
#define | POLARSSL_NET_LISTEN_BACKLOG 10 |
The backlog that listen() should use. More... | |
Functions | |
int | net_connect (int *fd, const char *host, int port) |
Initiate a TCP connection with host:port. More... | |
int | net_bind (int *fd, const char *bind_ip, int port) |
Create a listening socket on bind_ip:port. More... | |
int | net_accept (int bind_fd, int *client_fd, void *client_ip) |
Accept a connection from a remote client. More... | |
int | net_set_block (int fd) |
Set the socket blocking. More... | |
int | net_set_nonblock (int fd) |
Set the socket non-blocking. More... | |
void | net_usleep (unsigned long usec) |
Portable usleep helper. More... | |
int | net_recv (void *ctx, unsigned char *buf, size_t len) |
Read at most 'len' characters. More... | |
int | net_send (void *ctx, const unsigned char *buf, size_t len) |
Write at most 'len' characters. More... | |
void | net_close (int fd) |
Gracefully shutdown the connection. More... | |
Network communication functions.
Copyright (C) 2006-2011, Brainspark B.V.
This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Definition in file net.h.
#define POLARSSL_ERR_NET_ACCEPT_FAILED -0x004A |
#define POLARSSL_ERR_NET_BIND_FAILED -0x0046 |
#define POLARSSL_ERR_NET_CONN_RESET -0x0050 |
#define POLARSSL_ERR_NET_CONNECT_FAILED -0x0044 |
#define POLARSSL_ERR_NET_LISTEN_FAILED -0x0048 |
#define POLARSSL_ERR_NET_RECV_FAILED -0x004C |
#define POLARSSL_ERR_NET_SEND_FAILED -0x004E |
#define POLARSSL_ERR_NET_SOCKET_FAILED -0x0042 |
#define POLARSSL_ERR_NET_UNKNOWN_HOST -0x0056 |
#define POLARSSL_ERR_NET_WANT_READ -0x0052 |
#define POLARSSL_ERR_NET_WANT_WRITE -0x0054 |
#define POLARSSL_NET_LISTEN_BACKLOG 10 |
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 Must be at least 4 bytes, or 16 if IPv6 is supported |
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 |
void net_close | ( | int | fd | ) |
Gracefully shutdown the connection.
fd | The socket to close |
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 |
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 |
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 |
int net_set_block | ( | int | fd | ) |
Set the socket blocking.
fd | Socket to set |
int net_set_nonblock | ( | int | fd | ) |
Set the socket non-blocking.
fd | Socket to set |
void net_usleep | ( | unsigned long | usec | ) |
Portable usleep helper.
usec | Amount of microseconds to sleep |