/[lwip]/contrib/apps/udpecho/udpecho.c
ViewVC logotype

Contents of /contrib/apps/udpecho/udpecho.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (show annotations) (download)
Fri Mar 26 14:11:19 2010 UTC (13 years, 8 months ago) by goldsimon
Branch: MAIN
CVS Tags: cvs-repository-moved-to-git, STABLE-1_4_0, STABLE-1_4_0-RC2, STABLE-1_4_0-RC1, HEAD
Changes since 1.6: +1 -1 lines
File MIME type: text/plain
make udpecho_thread() static

1 /*
2 * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * 3. The name of the author may not be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 * OF SUCH DAMAGE.
26 *
27 * This file is part of the lwIP TCP/IP stack.
28 *
29 * Author: Adam Dunkels <adam@sics.se>
30 *
31 */
32
33 #include "udpecho.h"
34
35 #include "lwip/opt.h"
36
37 #if LWIP_NETCONN
38
39 #include "lwip/api.h"
40 #include "lwip/sys.h"
41
42 /*-----------------------------------------------------------------------------------*/
43 static void
44 udpecho_thread(void *arg)
45 {
46 static struct netconn *conn;
47 static struct netbuf *buf;
48 static ip_addr_t *addr;
49 static unsigned short port;
50 char buffer[4096];
51 err_t err;
52 LWIP_UNUSED_ARG(arg);
53
54 conn = netconn_new(NETCONN_UDP);
55 LWIP_ASSERT("con != NULL", conn != NULL);
56 netconn_bind(conn, NULL, 7);
57
58 while (1) {
59 err = netconn_recv(conn, &buf);
60 if (err == ERR_OK) {
61 addr = netbuf_fromaddr(buf);
62 port = netbuf_fromport(buf);
63 netconn_connect(conn, addr, port);
64 netbuf_copy(buf, buffer, buf->p->tot_len);
65 buffer[buf->p->tot_len] = '\0';
66 netconn_send(conn, buf);
67 LWIP_DEBUGF(LWIP_DBG_ON, ("got %s\n", buffer));
68 netbuf_delete(buf);
69 }
70 }
71 }
72 /*-----------------------------------------------------------------------------------*/
73 void
74 udpecho_init(void)
75 {
76 sys_thread_new("udpecho_thread", udpecho_thread, NULL, DEFAULT_THREAD_STACKSIZE, DEFAULT_THREAD_PRIO);
77 }
78
79 #endif /* LWIP_NETCONN */

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26