api_msg.c File Reference

#include <ubixos/types.h>
#include "net/debug.h"
#include "net/arch.h"
#include "net/api_msg.h"
#include "net/memp.h"
#include "net/sys.h"
#include "net/tcpip.h"

Go to the source code of this file.

Typedefs

typedef void(*) api_msg_decode (struct api_msg_msg *msg)

Functions

static err_t accept_function (void *arg, struct tcp_pcb *newpcb, err_t err)
void api_msg_input (struct api_msg *msg)
void api_msg_post (struct api_msg *msg)
static void do_accept (struct api_msg_msg *msg)
static void do_bind (struct api_msg_msg *msg)
static void do_close (struct api_msg_msg *msg)
static void do_connect (struct api_msg_msg *msg)
static err_t do_connected (void *arg, struct tcp_pcb *pcb, err_t err)
static void do_delconn (struct api_msg_msg *msg)
static void do_listen (struct api_msg_msg *msg)
static void do_newconn (struct api_msg_msg *msg)
static void do_recv (struct api_msg_msg *msg)
static void do_send (struct api_msg_msg *msg)
static void do_write (struct api_msg_msg *msg)
static void err_tcp (void *arg, err_t err)
static err_t poll_tcp (void *arg, struct tcp_pcb *pcb)
static err_t recv_tcp (void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err)
static void recv_udp (void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr, uInt16 port)
static err_t sent_tcp (void *arg, struct tcp_pcb *pcb, uInt16 len)
static void setup_tcp (struct netconn *conn)

Variables

static api_msg_decode decode [API_MSG_MAX]


Typedef Documentation

typedef void(* ) api_msg_decode(struct api_msg_msg *msg)

Definition at line 503 of file api_msg.c.


Function Documentation

static err_t accept_function ( void *  arg,
struct tcp_pcb newpcb,
err_t  err 
) [static]

Definition at line 160 of file api_msg.c.

References netconn::acceptmbox, netconn::err, ERR_MEM, ERR_OK, netconn::mbox, mbox, memp_free(), memp_mallocp(), MEMP_NETCONN, NETCONN_TCP, NULL, netconn::pcb, netconn::recvmbox, netconn::sem, setup_tcp(), tcp_pcb::state, sys_mbox_free(), sys_mbox_new(), SYS_MBOX_NULL, sys_mbox_post(), sys_sem_new(), SYS_SEM_NULL, netconn::tcp, and netconn::type.

Referenced by do_listen().

void api_msg_input ( struct api_msg msg  ) 

Definition at line 517 of file api_msg.c.

References decode, and api_msg_msg::msg.

Referenced by tcpip_thread().

void api_msg_post ( struct api_msg msg  ) 

Definition at line 523 of file api_msg.c.

References api_msg_msg::msg, and tcpip_apimsg().

Referenced by netconn_bind(), netconn_close(), netconn_connect(), netconn_delete(), netconn_listen(), netconn_recv(), netconn_send(), and netconn_write().

static void do_accept ( struct api_msg_msg msg  )  [static]

Definition at line 401 of file api_msg.c.

References API_MSG_DEBUG, api_msg_msg::conn, DEBUGF, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, NULL, netconn::pcb, netconn::tcp, and netconn::type.

static void do_bind ( struct api_msg_msg msg  )  [static]

Definition at line 243 of file api_msg.c.

References api_msg_msg::bc, api_msg_msg::conn, netconn::err, netconn::mbox, api_msg_msg::msg, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, NULL, netconn::pcb, recv_udp(), setup_tcp(), sys_mbox_post(), netconn::tcp, tcp_bind(), tcp_new(), netconn::type, netconn::udp, udp_bind(), UDP_FLAGS_NOCHKSUM, UDP_FLAGS_UDPLITE, udp_new(), udp_recv(), and udp_setflags.

static void do_close ( struct api_msg_msg msg  )  [static]

Definition at line 479 of file api_msg.c.

References api_msg_msg::conn, netconn::err, LISTEN, netconn::mbox, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, NULL, netconn::pcb, tcp_pcb::state, sys_mbox_post(), netconn::tcp, tcp_close(), and netconn::type.

static void do_connect ( struct api_msg_msg msg  )  [static]

Definition at line 305 of file api_msg.c.

References api_msg_msg::bc, api_msg_msg::conn, do_connected(), netconn::err, ERR_MEM, netconn::mbox, api_msg_msg::msg, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, NULL, netconn::pcb, recv_udp(), setup_tcp(), sys_mbox_post(), netconn::tcp, tcp_connect(), tcp_new(), netconn::type, netconn::udp, udp_connect(), UDP_FLAGS_NOCHKSUM, UDP_FLAGS_UDPLITE, udp_new(), udp_recv(), and udp_setflags.

static err_t do_connected ( void *  arg,
struct tcp_pcb pcb,
err_t  err 
) [static]

Definition at line 284 of file api_msg.c.

References netconn::err, ERR_OK, ERR_VAL, netconn::mbox, NETCONN_TCP, NULL, setup_tcp(), sys_mbox_post(), and netconn::type.

Referenced by do_connect().

static void do_delconn ( struct api_msg_msg msg  )  [static]

Definition at line 208 of file api_msg.c.

References api_msg_msg::conn, ERR_OK, LISTEN, netconn::mbox, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, NULL, netconn::pcb, udp_pcb::recv_arg, tcp_pcb::state, SYS_MBOX_NULL, sys_mbox_post(), netconn::tcp, tcp_abort(), tcp_accept(), tcp_arg(), tcp_close(), tcp_err(), tcp_poll(), tcp_recv(), tcp_sent(), netconn::type, netconn::udp, and udp_remove().

static void do_listen ( struct api_msg_msg msg  )  [static]

Definition at line 368 of file api_msg.c.

References accept_function(), netconn::acceptmbox, API_MSG_DEBUG, api_msg_msg::conn, DEBUGF, netconn::err, ERR_MEM, netconn::mbox, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, NULL, netconn::pcb, sys_mbox_new(), SYS_MBOX_NULL, sys_mbox_post(), netconn::tcp, tcp_accept(), tcp_arg(), tcp_listen(), and netconn::type.

static void do_newconn ( struct api_msg_msg msg  )  [static]

Definition at line 203 of file api_msg.c.

static void do_recv ( struct api_msg_msg msg  )  [static]

Definition at line 438 of file api_msg.c.

References api_msg_msg::conn, api_msg_msg::len, netconn::mbox, api_msg_msg::msg, NETCONN_TCP, NULL, netconn::pcb, sys_mbox_post(), netconn::tcp, tcp_recved(), and netconn::type.

static void do_send ( struct api_msg_msg msg  )  [static]

Definition at line 419 of file api_msg.c.

References api_msg_msg::conn, netconn::mbox, api_msg_msg::msg, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, NULL, api_msg_msg::p, netconn::pcb, sys_mbox_post(), netconn::tcp, netconn::type, netconn::udp, and udp_send().

static void do_write ( struct api_msg_msg msg  )  [static]

Definition at line 449 of file api_msg.c.

References api_msg_msg::conn, netconn::err, ERR_OK, ERR_VAL, netconn::mbox, api_msg_msg::msg, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONN_UDPNOCHKSUM, NULL, netconn::pcb, sys_mbox_post(), netconn::tcp, tcp_output(), tcp_write(), netconn::type, tcp_pcb::unacked, and api_msg_msg::w.

static void err_tcp ( void *  arg,
err_t  err 
) [static]

Definition at line 122 of file api_msg.c.

References netconn::acceptmbox, netconn::err, netconn::mbox, NULL, netconn::pcb, netconn::recvmbox, netconn::sem, SYS_MBOX_NULL, sys_mbox_post(), SYS_SEM_NULL, sys_sem_signal(), and netconn::tcp.

Referenced by setup_tcp().

static err_t poll_tcp ( void *  arg,
struct tcp_pcb pcb 
) [static]

Definition at line 96 of file api_msg.c.

References ERR_OK, NETCONN_CLOSE, NETCONN_WRITE, NULL, netconn::sem, netconn::state, SYS_SEM_NULL, and sys_sem_signal().

Referenced by setup_tcp().

static err_t recv_tcp ( void *  arg,
struct tcp_pcb pcb,
struct pbuf p,
err_t  err 
) [static]

Definition at line 47 of file api_msg.c.

References netconn::err, ERR_OK, ERR_VAL, NULL, pbuf_free(), netconn::recvmbox, SYS_MBOX_NULL, and sys_mbox_post().

Referenced by setup_tcp().

static void recv_udp ( void *  arg,
struct udp_pcb pcb,
struct pbuf p,
struct ip_addr addr,
uInt16  port 
) [static]

Definition at line 66 of file api_msg.c.

References netbuf::fromaddr, netbuf::fromport, memp_mallocp(), MEMP_NETBUF, NULL, netbuf::p, pbuf_free(), netbuf::ptr, netconn::recvmbox, SYS_MBOX_NULL, and sys_mbox_post().

Referenced by do_bind(), and do_connect().

static err_t sent_tcp ( void *  arg,
struct tcp_pcb pcb,
uInt16  len 
) [static]

Definition at line 110 of file api_msg.c.

References ERR_OK, NULL, netconn::sem, SYS_SEM_NULL, and sys_sem_signal().

Referenced by setup_tcp().

static void setup_tcp ( struct netconn conn  )  [static]

Definition at line 147 of file api_msg.c.

References err_tcp(), netconn::pcb, poll_tcp(), recv_tcp(), sent_tcp(), netconn::tcp, tcp_arg(), tcp_err(), tcp_poll(), tcp_recv(), and tcp_sent().

Referenced by accept_function(), do_bind(), do_connect(), and do_connected().


Variable Documentation

api_msg_decode decode[API_MSG_MAX] [static]

Initial value:

Definition at line 504 of file api_msg.c.

Referenced by api_msg_input().


Generated on Tue Dec 12 08:52:15 2006 for UbixOS V2 by  doxygen 1.4.7