Merge branch 'uboot'
[platform/kernel/u-boot.git] / tools / ncb.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <unistd.h>
4 #include <sys/socket.h>
5 #include <netinet/in.h>
6
7 int main (int argc, char *argv[])
8 {
9         int s, len, o, port = 6666;
10         char buf[512];
11         struct sockaddr_in addr;
12         socklen_t addr_len = sizeof addr;
13
14         if (argc > 1)
15                 port = atoi (argv[1]);
16
17         s = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP);
18
19         o = 1;
20         len = 4;
21         setsockopt (3, SOL_SOCKET, SO_REUSEADDR, &o, len);
22
23         addr.sin_family = AF_INET;
24         addr.sin_port = htons (port);
25         addr.sin_addr.s_addr = INADDR_ANY;      /* receive broadcasts */
26
27         bind (s, (struct sockaddr *) &addr, sizeof addr);
28
29         for (;;) {
30                 len = recvfrom (s, buf, sizeof buf, 0, (struct sockaddr *) &addr, &addr_len);
31                 if (len < 0)
32                         break;
33                 if (write (1, buf, len) != len)
34                         fprintf(stderr, "WARNING: serial characters dropped\n");
35         }
36
37         return 0;
38 }