#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 void(* ) api_msg_decode(struct api_msg_msg *msg) |
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.
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] |
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().
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().
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().
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().
api_msg_decode decode[API_MSG_MAX] [static] |
Initial value:
{ do_newconn, do_delconn, do_bind, do_connect, do_listen, do_accept, do_send, do_recv, do_write, do_close }
Definition at line 504 of file api_msg.c.
Referenced by api_msg_input().