api.h File Reference

#include "net/opt.h"
#include "net/pbuf.h"
#include "net/sys.h"
#include "net/ipv4/ip.h"
#include "net/udp.h"
#include "net/tcp.h"
#include "net/err.h"

Go to the source code of this file.

Data Structures

struct  netbuf
struct  netconn

Defines

#define NETCONN_COPY   0x01
#define NETCONN_NOCOPY   0x00

Enumerations

enum  netconn_state {
  NETCONN_NONE, NETCONN_WRITE, NETCONN_ACCEPT, NETCONN_RECV,
  NETCONN_CONNECT, NETCONN_CLOSE
}
enum  netconn_type { NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM }

Functions

void * netbuf_alloc (struct netbuf *buf, uInt16 size)
void netbuf_chain (struct netbuf *head, struct netbuf *tail)
void netbuf_copy (struct netbuf *buf, void *dataptr, uInt16 len)
void netbuf_copy_partial (struct netbuf *buf, void *dataptr, uInt16 len, uInt16 offset)
err_t netbuf_data (struct netbuf *buf, void **dataptr, uInt16 *len)
void netbuf_delete (struct netbuf *buf)
void netbuf_first (struct netbuf *buf)
void netbuf_free (struct netbuf *buf)
ip_addrnetbuf_fromaddr (struct netbuf *buf)
uInt16 netbuf_fromport (struct netbuf *buf)
uInt16 netbuf_len (struct netbuf *buf)
netbufnetbuf_new (void)
Int8 netbuf_next (struct netbuf *buf)
void netbuf_ref (struct netbuf *buf, void *dataptr, uInt16 size)
netconnnetconn_accept (struct netconn *conn)
err_t netconn_addr (struct netconn *conn, struct ip_addr **addr, uInt16 *port)
err_t netconn_bind (struct netconn *conn, struct ip_addr *addr, uInt16 port)
err_t netconn_close (struct netconn *conn)
err_t netconn_connect (struct netconn *conn, struct ip_addr *addr, uInt16 port)
err_t netconn_delete (struct netconn *conn)
err_t netconn_err (struct netconn *conn)
err_t netconn_listen (struct netconn *conn)
netconnnetconn_new (enum netconn_type type)
err_t netconn_peer (struct netconn *conn, struct ip_addr **addr, uInt16 *port)
netbufnetconn_recv (struct netconn *conn)
err_t netconn_send (struct netconn *conn, struct netbuf *buf)
enum netconn_type netconn_type (struct netconn *conn)
err_t netconn_write (struct netconn *conn, void *dataptr, uInt16 size, uInt8 copy)


Define Documentation

#define NETCONN_COPY   0x01

Definition at line 50 of file api.h.

Referenced by lwip_send(), and lwip_write().

#define NETCONN_NOCOPY   0x00

Definition at line 49 of file api.h.

Referenced by sendstr().


Enumeration Type Documentation

enum netconn_state

Enumerator:
NETCONN_NONE 
NETCONN_WRITE 
NETCONN_ACCEPT 
NETCONN_RECV 
NETCONN_CONNECT 
NETCONN_CLOSE 

Definition at line 59 of file api.h.

enum netconn_type

Enumerator:
NETCONN_TCP 
NETCONN_UDP 
NETCONN_UDPLITE 
NETCONN_UDPNOCHKSUM 

Definition at line 52 of file api.h.


Function Documentation

void* netbuf_alloc ( struct netbuf buf,
uInt16  size 
)

Definition at line 78 of file api_lib.c.

References NULL, netbuf::p, pbuf::payload, pbuf_alloc(), pbuf_free(), PBUF_RAM, PBUF_TRANSPORT, and netbuf::ptr.

void netbuf_chain ( struct netbuf head,
struct netbuf tail 
)

Definition at line 114 of file api_lib.c.

References memp_freep(), MEMP_NETBUF, netbuf::p, pbuf_chain(), and netbuf::ptr.

void netbuf_copy ( struct netbuf buf,
void *  dataptr,
uInt16  len 
)

Definition at line 186 of file api_lib.c.

References netbuf_copy_partial().

Referenced by bot_thread(), shell_main(), and udpecho_thread().

void netbuf_copy_partial ( struct netbuf buf,
void *  dataptr,
uInt16  len,
uInt16  offset 
)

Definition at line 158 of file api_lib.c.

References pbuf::len, pbuf::next, NULL, netbuf::p, and pbuf::payload.

Referenced by lwip_recvfrom(), and netbuf_copy().

err_t netbuf_data ( struct netbuf buf,
void **  dataptr,
uInt16 len 
)

Definition at line 128 of file api_lib.c.

References ERR_BUF, ERR_OK, pbuf::len, NULL, pbuf::payload, and netbuf::ptr.

void netbuf_delete ( struct netbuf buf  ) 

Definition at line 66 of file api_lib.c.

References memp_freep(), MEMP_NETBUF, NULL, netbuf::p, pbuf_free(), and netbuf::ptr.

Referenced by bot_thread(), lwip_close(), lwip_recvfrom(), lwip_send(), netconn_delete(), shell_main(), and udpecho_thread().

void netbuf_first ( struct netbuf buf  ) 

Definition at line 152 of file api_lib.c.

References netbuf::p, and netbuf::ptr.

void netbuf_free ( struct netbuf buf  ) 

Definition at line 93 of file api_lib.c.

References NULL, netbuf::p, pbuf_free(), and netbuf::ptr.

struct ip_addr* netbuf_fromaddr ( struct netbuf buf  ) 

Definition at line 192 of file api_lib.c.

References netbuf::fromaddr.

Referenced by lwip_recvfrom(), and udpecho_thread().

uInt16 netbuf_fromport ( struct netbuf buf  ) 

Definition at line 198 of file api_lib.c.

References netbuf::fromport.

Referenced by lwip_recvfrom(), and udpecho_thread().

uInt16 netbuf_len ( struct netbuf buf  ) 

Definition at line 122 of file api_lib.c.

References netbuf::p, and pbuf::tot_len.

Referenced by bot_thread(), lwip_recvfrom(), and shell_main().

struct netbuf* netbuf_new ( void   ) 

Definition at line 51 of file api_lib.c.

References memp_mallocp(), MEMP_NETBUF, NULL, netbuf::p, and netbuf::ptr.

Referenced by lwip_send().

Int8 netbuf_next ( struct netbuf buf  ) 

Definition at line 139 of file api_lib.c.

References pbuf::next, NULL, and netbuf::ptr.

void netbuf_ref ( struct netbuf buf,
void *  dataptr,
uInt16  size 
)

Definition at line 102 of file api_lib.c.

References pbuf::len, NULL, netbuf::p, pbuf::payload, pbuf_alloc(), pbuf_free(), PBUF_ROM, PBUF_TRANSPORT, netbuf::ptr, and pbuf::tot_len.

Referenced by lwip_send().

struct netconn* netconn_accept ( struct netconn conn  ) 

Definition at line 416 of file api_lib.c.

References netconn::acceptmbox, NULL, and sys_mbox_fetch().

Referenced by lwip_accept(), and shell_thread().

err_t netconn_addr ( struct netconn conn,
struct ip_addr **  addr,
uInt16 port 
)

Definition at line 306 of file api_lib.c.

References netconn::err, ERR_OK, tcp_pcb::local_ip, udp_pcb::local_port, tcp_pcb::local_port, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, netconn::pcb, netconn::tcp, netconn::type, and netconn::udp.

err_t netconn_bind ( struct netconn conn,
struct ip_addr addr,
uInt16  port 
)

Definition at line 325 of file api_lib.c.

References API_MSG_BIND, api_msg_post(), api_msg_msg::bc, api_msg_msg::conn, netconn::err, ERR_MEM, ERR_VAL, netconn::mbox, MEMP_API_MSG, memp_freep(), memp_mallocp(), api_msg::msg, api_msg_msg::msg, NETCONN_TCP, NULL, netconn::recvmbox, sys_mbox_fetch(), sys_mbox_new(), SYS_MBOX_NULL, and netconn::type.

Referenced by lwip_bind(), shell_thread(), and udpecho_thread().

err_t netconn_close ( struct netconn conn  ) 

Definition at line 612 of file api_lib.c.

References API_MSG_CLOSE, api_msg_post(), api_msg_msg::conn, netconn::err, ERR_MEM, ERR_VAL, netconn::mbox, MEMP_API_MSG, memp_freep(), memp_mallocp(), api_msg::msg, api_msg_msg::msg, NETCONN_CLOSE, NETCONN_NONE, NULL, netconn::sem, netconn::state, sys_mbox_fetch(), SYS_SEM_NULL, and sys_sem_wait().

Referenced by shell_main().

err_t netconn_connect ( struct netconn conn,
struct ip_addr addr,
uInt16  port 
)

Definition at line 355 of file api_lib.c.

References API_MSG_CONNECT, api_msg_post(), api_msg_msg::bc, api_msg_msg::conn, netconn::err, ERR_MEM, ERR_VAL, kprintf(), netconn::mbox, MEMP_API_MSG, memp_freep(), memp_mallocp(), api_msg::msg, api_msg_msg::msg, NULL, netconn::recvmbox, sys_mbox_fetch(), sys_mbox_new(), and SYS_MBOX_NULL.

Referenced by bot_thread(), lwip_connect(), lwip_sendto(), and udpecho_thread().

err_t netconn_delete ( struct netconn conn  ) 

Definition at line 227 of file api_lib.c.

References netconn::acceptmbox, API_MSG_DELCONN, api_msg_post(), api_msg_msg::conn, ERR_MEM, ERR_OK, netconn::mbox, MEMP_API_MSG, memp_free(), memp_freep(), memp_mallocp(), MEMP_NETCONN, api_msg::msg, api_msg_msg::msg, netbuf_delete(), netconn_delete(), NETCONN_TCP, NULL, pbuf_free(), netconn::recvmbox, netconn::sem, sys_arch_mbox_fetch(), sys_mbox_fetch(), sys_mbox_free(), SYS_MBOX_NULL, sys_sem_free(), SYS_SEM_NULL, and netconn::type.

Referenced by lwip_accept(), lwip_close(), lwip_socket(), and netconn_delete().

err_t netconn_err ( struct netconn conn  ) 

Definition at line 640 of file api_lib.c.

References netconn::err.

err_t netconn_listen ( struct netconn conn  ) 

Definition at line 389 of file api_lib.c.

References netconn::acceptmbox, API_MSG_LISTEN, api_msg_post(), api_msg_msg::conn, netconn::err, ERR_MEM, ERR_VAL, netconn::mbox, MEMP_API_MSG, memp_freep(), memp_mallocp(), api_msg::msg, api_msg_msg::msg, NULL, sys_mbox_fetch(), sys_mbox_new(), and SYS_MBOX_NULL.

Referenced by lwip_listen(), and shell_thread().

struct netconn* netconn_new ( enum netconn_type  type  ) 

Definition at line 204 of file api_lib.c.

References netconn::acceptmbox, netconn::mbox, memp_freep(), memp_mallocp(), MEMP_NETCONN, NETCONN_NONE, NULL, netconn::pcb, netconn::recvmbox, netconn::sem, netconn::state, sys_mbox_new(), SYS_MBOX_NULL, SYS_SEM_NULL, netconn::tcp, and netconn::type.

Referenced by bot_thread(), lwip_socket(), shell_thread(), and udpecho_thread().

err_t netconn_peer ( struct netconn conn,
struct ip_addr **  addr,
uInt16 port 
)

Definition at line 287 of file api_lib.c.

References netconn::err, ERR_OK, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, netconn::pcb, udp_pcb::remote_ip, tcp_pcb::remote_ip, udp_pcb::remote_port, tcp_pcb::remote_port, netconn::tcp, netconn::type, and netconn::udp.

Referenced by lwip_accept(), and lwip_sendto().

struct netbuf* netconn_recv ( struct netconn conn  ) 

Definition at line 430 of file api_lib.c.

References API_LIB_DEBUG, api_msg_post(), API_MSG_RECV, api_msg_msg::conn, DEBUGF, netconn::err, ERR_CONN, ERR_MEM, ERR_OK, netbuf::fromaddr, netbuf::fromport, api_msg_msg::len, LISTEN, netconn::mbox, MEMP_API_MSG, memp_freep(), memp_mallocp(), MEMP_NETBUF, api_msg::msg, api_msg_msg::msg, NETCONN_TCP, NULL, netbuf::p, netconn::pcb, netbuf::ptr, netconn::recvmbox, tcp_pcb::state, sys_mbox_fetch(), sys_mbox_free(), SYS_MBOX_NULL, netconn::tcp, pbuf::tot_len, netconn::type, and api_msg::type.

Referenced by bot_thread(), lwip_recvfrom(), shell_main(), and udpecho_thread().

err_t netconn_send ( struct netconn conn,
struct netbuf buf 
)

Definition at line 509 of file api_lib.c.

References API_LIB_DEBUG, api_msg_post(), API_MSG_SEND, api_msg_msg::conn, DEBUGF, netconn::err, ERR_MEM, ERR_OK, ERR_VAL, netconn::mbox, MEMP_API_MSG, memp_freep(), memp_mallocp(), api_msg::msg, api_msg_msg::msg, NULL, netbuf::p, api_msg_msg::p, sys_mbox_fetch(), and pbuf::tot_len.

Referenced by lwip_send(), and udpecho_thread().

enum netconn_type netconn_type ( struct netconn conn  ) 

Definition at line 281 of file api_lib.c.

References netconn::type.

Referenced by lwip_recvfrom(), lwip_send(), and lwip_write().

err_t netconn_write ( struct netconn conn,
void *  dataptr,
uInt16  size,
uInt8  copy 
)

Definition at line 537 of file api_lib.c.

References API_LIB_DEBUG, api_msg_post(), API_MSG_WRITE, api_msg_msg::conn, DEBUGF, netconn::err, ERR_MEM, ERR_OK, ERR_VAL, netconn::mbox, MEMP_API_MSG, memp_freep(), memp_mallocp(), api_msg::msg, api_msg_msg::msg, NETCONN_NONE, NETCONN_TCP, NETCONN_WRITE, NULL, netconn::pcb, netconn::sem, netconn::state, sys_mbox_fetch(), sys_sem_free(), sys_sem_new(), SYS_SEM_NULL, sys_sem_wait(), netconn::tcp, tcp_sndbuf, netconn::type, and api_msg_msg::w.

Referenced by lwip_send(), lwip_write(), and sendstr().


Generated on Tue Dec 5 23:34:59 2006 for UbixOS V2 by  doxygen 1.4.7