source: azure_iot_hub_f767zi/trunk/asp_baseplatform/lwip/contrib-2.1.0/apps/netio/netio.c@ 457

Last change on this file since 457 was 457, checked in by coas-nagasima, 4 years ago

ファイルを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc;charset=UTF-8
File size: 1.0 KB
Line 
1#include "netio.h"
2
3#include "lwip/opt.h"
4#include "lwip/tcp.h"
5
6/* See http://www.nwlab.net/art/netio/netio.html to get the netio tool */
7
8#if LWIP_TCP && LWIP_CALLBACK_API
9static err_t
10netio_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err)
11{
12 LWIP_UNUSED_ARG(arg);
13
14 if (err == ERR_OK && p != NULL) {
15 tcp_recved(pcb, p->tot_len);
16 pbuf_free(p);
17 } else {
18 pbuf_free(p);
19 }
20
21 if (err == ERR_OK && p == NULL) {
22 tcp_arg(pcb, NULL);
23 tcp_sent(pcb, NULL);
24 tcp_recv(pcb, NULL);
25 tcp_close(pcb);
26 }
27
28 return ERR_OK;
29}
30
31static err_t
32netio_accept(void *arg, struct tcp_pcb *pcb, err_t err)
33{
34 LWIP_UNUSED_ARG(arg);
35 LWIP_UNUSED_ARG(err);
36
37 if (pcb != NULL) {
38 tcp_arg(pcb, NULL);
39 tcp_sent(pcb, NULL);
40 tcp_recv(pcb, netio_recv);
41 }
42 return ERR_OK;
43}
44
45void
46netio_init(void)
47{
48 struct tcp_pcb *pcb;
49
50 pcb = tcp_new_ip_type(IPADDR_TYPE_ANY);
51 tcp_bind(pcb, IP_ANY_TYPE, 18767);
52 pcb = tcp_listen(pcb);
53 tcp_accept(pcb, netio_accept);
54}
55#endif /* LWIP_TCP && LWIP_CALLBACK_API */
Note: See TracBrowser for help on using the repository browser.