/home/dko/Projects/mobilec/src/security/xyssl-0.9/include/xyssl/net.h File Reference

Go to the source code of this file.

Defines

#define XYSSL_ERR_NET_UNKNOWN_HOST   -0x0F00
#define XYSSL_ERR_NET_SOCKET_FAILED   -0x0F10
#define XYSSL_ERR_NET_CONNECT_FAILED   -0x0F20
#define XYSSL_ERR_NET_BIND_FAILED   -0x0F30
#define XYSSL_ERR_NET_LISTEN_FAILED   -0x0F40
#define XYSSL_ERR_NET_ACCEPT_FAILED   -0x0F50
#define XYSSL_ERR_NET_RECV_FAILED   -0x0F60
#define XYSSL_ERR_NET_SEND_FAILED   -0x0F70
#define XYSSL_ERR_NET_CONN_RESET   -0x0F80
#define XYSSL_ERR_NET_TRY_AGAIN   -0x0F90

Functions

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.
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.

Detailed Description

Definition in file net.h.


Define Documentation

#define XYSSL_ERR_NET_ACCEPT_FAILED   -0x0F50

Definition at line 12 of file net.h.

Referenced by net_accept().

#define XYSSL_ERR_NET_BIND_FAILED   -0x0F30

Definition at line 10 of file net.h.

Referenced by net_bind().

#define XYSSL_ERR_NET_CONN_RESET   -0x0F80

Definition at line 15 of file net.h.

Referenced by main(), net_recv(), net_send(), and ssl_test().

#define XYSSL_ERR_NET_CONNECT_FAILED   -0x0F20

Definition at line 9 of file net.h.

Referenced by net_connect().

#define XYSSL_ERR_NET_LISTEN_FAILED   -0x0F40

Definition at line 11 of file net.h.

Referenced by net_bind().

#define XYSSL_ERR_NET_RECV_FAILED   -0x0F60

Definition at line 13 of file net.h.

Referenced by net_recv().

#define XYSSL_ERR_NET_SEND_FAILED   -0x0F70

Definition at line 14 of file net.h.

Referenced by net_send().

#define XYSSL_ERR_NET_SOCKET_FAILED   -0x0F10

Definition at line 8 of file net.h.

Referenced by net_bind(), and net_connect().

#define XYSSL_ERR_NET_TRY_AGAIN   -0x0F90

Definition at line 16 of file net.h.

Referenced by main(), net_accept(), net_recv(), net_send(), and ssl_test().

#define XYSSL_ERR_NET_UNKNOWN_HOST   -0x0F00

Definition at line 7 of file net.h.

Referenced by net_connect().


Function Documentation

int net_accept ( int  bind_fd,
int client_fd,
void *  client_ip 
)

Accept a connection from a remote client.

Returns:
0 if successful, XYSSL_ERR_NET_ACCEPT_FAILED, or XYSSL_ERR_NET_WOULD_BLOCK is bind_fd was set to non-blocking and accept() is blocking.

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().

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.

Returns:
0 if successful, or one of: XYSSL_ERR_NET_SOCKET_FAILED, XYSSL_ERR_NET_BIND_FAILED, XYSSL_ERR_NET_LISTEN_FAILED

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().

int net_connect ( int fd,
char *  host,
int  port 
)

Initiate a TCP connection with host:port.

Returns:
0 if successful, or one of: XYSSL_ERR_NET_SOCKET_FAILED, XYSSL_ERR_NET_UNKNOWN_HOST, XYSSL_ERR_NET_CONNECT_FAILED

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().

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.

Returns:
This function returns the number of bytes received, or a negative error code; XYSSL_ERR_NET_TRY_AGAIN indicates read() is blocking.

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().

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.

Returns:
This function returns the number of bytes sent, or a negative error code; XYSSL_ERR_NET_TRY_AGAIN indicates write() is blocking.

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().

int net_set_block ( int  fd  ) 

Set the socket blocking.

Returns:
0 if successful, or a non-zero error code

Definition at line 243 of file net.c.

int net_set_nonblock ( int  fd  ) 

Set the socket non-blocking.

Returns:
0 if successful, or a non-zero error code

Definition at line 253 of file net.c.

Referenced by ssl_test().

void net_usleep ( unsigned long  usec  ) 

Portable usleep helper.

Note:
Real amount of time slept will not be less than select()'s timeout granularity (typically, 10ms).

Definition at line 266 of file net.c.

Generated on Tue Dec 28 15:15:28 2010 for Mobile-C by  doxygen 1.6.3