sockets.c File Reference

#include <ubixos/types.h>
#include "net/debug.h"
#include "net/api.h"
#include "net/sockets.h"

Go to the source code of this file.

Data Structures

struct  lwip_socket

Defines

#define NUM_SOCKETS   10

Functions

static int alloc_socket (struct netconn *newconn)
static struct lwip_socketget_socket (int s)
int lwip_accept (int s, struct sockaddr *addr, int *addrlen)
int lwip_bind (int s, struct sockaddr *name, int namelen)
int lwip_close (int s)
int lwip_connect (int s, struct sockaddr *name, int namelen)
int lwip_listen (int s, int backlog)
int lwip_read (int s, void *mem, int len)
int lwip_recv (int s, void *mem, int len, unsigned int flags)
int lwip_recvfrom (int s, void *mem, int len, unsigned int flags, struct sockaddr *from, int *fromlen)
int lwip_send (int s, void *data, int size, unsigned int flags)
int lwip_sendto (int s, void *data, int size, unsigned int flags, struct sockaddr *to, int tolen)
int lwip_socket (int domain, int type, int protocol)
int lwip_write (int s, void *data, int size)

Variables

static struct lwip_socket sockets [NUM_SOCKETS]


Define Documentation

#define NUM_SOCKETS   10

Definition at line 43 of file sockets.c.

Referenced by alloc_socket(), and get_socket().


Function Documentation

static int alloc_socket ( struct netconn newconn  )  [static]

Definition at line 74 of file sockets.c.

References lwip_socket::conn, lwip_socket::lastdata, lwip_socket::lastoffset, NULL, NUM_SOCKETS, and sockets.

Referenced by lwip_accept(), and lwip_socket().

static struct lwip_socket* get_socket ( int  s  )  [static]

Definition at line 55 of file sockets.c.

References lwip_socket::conn, NULL, NUM_SOCKETS, and sockets.

Referenced by lwip_accept(), lwip_bind(), lwip_close(), lwip_connect(), lwip_listen(), lwip_recvfrom(), lwip_send(), lwip_sendto(), and lwip_write().

int lwip_accept ( int  s,
struct sockaddr addr,
int *  addrlen 
)

Definition at line 91 of file sockets.c.

References ip_addr::addr, alloc_socket(), lwip_socket::conn, get_socket(), netconn_accept(), netconn_delete(), netconn_peer(), and NULL.

int lwip_bind ( int  s,
struct sockaddr name,
int  namelen 
)

Definition at line 121 of file sockets.c.

References ip_addr::addr, lwip_socket::conn, ERR_OK, get_socket(), name, netconn_bind(), ntohs, and NULL.

int lwip_close ( int  s  ) 

Definition at line 147 of file sockets.c.

References lwip_socket::conn, DEBUGF, get_socket(), lwip_socket::lastdata, lwip_socket::lastoffset, netbuf_delete(), netconn_delete(), NULL, and SOCKETS_DEBUG.

int lwip_connect ( int  s,
struct sockaddr name,
int  namelen 
)

Definition at line 169 of file sockets.c.

References ip_addr::addr, lwip_socket::conn, ERR_OK, get_socket(), name, netconn_connect(), ntohs, and NULL.

int lwip_listen ( int  s,
int  backlog 
)

Definition at line 195 of file sockets.c.

References lwip_socket::conn, ERR_OK, get_socket(), netconn_listen(), and NULL.

int lwip_read ( int  s,
void *  mem,
int  len 
)

Definition at line 293 of file sockets.c.

References lwip_recv().

int lwip_recv ( int  s,
void *  mem,
int  len,
unsigned int  flags 
)

Definition at line 299 of file sockets.c.

References lwip_recvfrom(), and NULL.

Referenced by lwip_read().

int lwip_recvfrom ( int  s,
void *  mem,
int  len,
unsigned int  flags,
struct sockaddr from,
int *  fromlen 
)

Definition at line 216 of file sockets.c.

References ip_addr::addr, lwip_socket::conn, get_socket(), htons, lwip_socket::lastdata, lwip_socket::lastoffset, netbuf_copy_partial(), netbuf_delete(), netbuf_fromaddr(), netbuf_fromport(), netbuf_len(), netconn_recv(), NETCONN_TCP, netconn_type(), and NULL.

Referenced by lwip_recv().

int lwip_send ( int  s,
void *  data,
int  size,
unsigned int  flags 
)

Definition at line 305 of file sockets.c.

References lwip_socket::conn, DEBUGF, netbuf::err, ERR_ARG, ERR_OK, get_socket(), netbuf_delete(), netbuf_new(), netbuf_ref(), NETCONN_COPY, netconn_send(), NETCONN_TCP, netconn_type(), NETCONN_UDP, netconn_write(), NULL, and SOCKETS_DEBUG.

Referenced by lwip_sendto(), and lwip_write().

int lwip_sendto ( int  s,
void *  data,
int  size,
unsigned int  flags,
struct sockaddr to,
int  tolen 
)

Definition at line 354 of file sockets.c.

References ip_addr::addr, lwip_socket::conn, get_socket(), lwip_send(), netconn_connect(), netconn_peer(), and NULL.

int lwip_socket ( int  domain,
int  type,
int  protocol 
)

Definition at line 383 of file sockets.c.

References alloc_socket(), DEBUGF, netconn_delete(), netconn_new(), NETCONN_TCP, NETCONN_UDP, NULL, SOCK_DGRAM, SOCK_STREAM, and SOCKETS_DEBUG.

int lwip_write ( int  s,
void *  data,
int  size 
)

Definition at line 417 of file sockets.c.

References lwip_socket::conn, DEBUGF, ERR_ARG, ERR_OK, get_socket(), lwip_send(), NETCONN_COPY, NETCONN_TCP, netconn_type(), NETCONN_UDP, netconn_write(), NULL, and SOCKETS_DEBUG.


Variable Documentation

struct lwip_socket sockets[NUM_SOCKETS] [static]

Definition at line 51 of file sockets.c.

Referenced by alloc_socket(), and get_socket().


Generated on Sun Dec 3 02:38:10 2006 for UbixOS V2 by  doxygen 1.4.7