ubuntu16.04 UNIX 网络编程卷一 源码使用

来源:互联网 发布:女士钱包淘宝 编辑:程序博客网 时间:2024/05/18 03:38

参考源码目录  README文档


tar -xvf unpv13e.tar.gz   解压

然后进入源码目录

a:  ./configure 这一步没有出现问题 
b:   cd lib

c:   make  这一步没有出错

d:  cd ../libfree 

e: make  这一步报错

gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o in_cksum.o in_cksum.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o inet_ntop.o inet_ntop.c
inet_ntop.c: In function ‘inet_ntop’:
inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype
  size_t size;
         ^
In file included from inet_ntop.c:27:0:
/usr/include/arpa/inet.h:64:20: error: prototype declaration
 extern const char *inet_ntop (int __af, const void *__restrict __cp,
                    ^
<builtin>: recipe for target 'inet_ntop.o' failed
make: *** [inet_ntop.o] Error 1

错误解决方法:

inet_ntop.c第61行 size_t size ->改成 socklen_t size)
问题解决

f:  cd ../libgai

g: make

这样就全部配置好了

编译第一个程序  时间获取程序

 cd ../intro/
make daytimetcpcli
./daytimetcpcli 127.0.0.1

运行时间获取程序,需要现在ubuntu里安装时间服务

Ubuntu安装daytime服务

a. sudo apt-get install xinetd
b. sudo vi /etc/xinetd.d/daytime, change disable = yes to no
c. sudo /etc/init.d/xinetd restart

edward@ubuntu:~/work/unpv13e/intro$ ./daytimetcpcli 127.0.0.1
29 JUN 2016 14:14:55 CST



符完整命令目录

edward@ubuntu:~/work$ tar -xvf unpv13e.tar.gz
unpv13e/DISCLAIMER
unpv13e/README
unpv13e/VERSION
unpv13e/Makefile.in
unpv13e/Make.defines.in
unpv13e/config.h.in
unpv13e/configure
unpv13e/configure.in
unpv13e/config.guess
unpv13e/config.sub
unpv13e/install-sh
unpv13e/aclocal.m4
unpv13e/advio/
unpv13e/advio/old/
unpv13e/advio/old/dgechoaddr.c
unpv13e/advio/old/recvfromflags.c
unpv13e/advio/old/test01.c
unpv13e/advio/Makefile
unpv13e/advio/daytimetcpcli.c
unpv13e/advio/daytimeudpcli3.c
unpv13e/advio/daytimeudpcli4.c
unpv13e/advio/dgclitimeo.c
unpv13e/advio/dgclitimeo1.c
unpv13e/advio/dgclitimeo2.c
unpv13e/advio/dgclitimeo2.lc
unpv13e/advio/dgclitimeo3.c
unpv13e/advio/dgclitimeo3.lc
unpv13e/advio/dgechoaddr.c
unpv13e/advio/dgechoaddr.lc
unpv13e/advio/recvfromflags.c
unpv13e/advio/recvfromflags.lc
unpv13e/advio/script.1
unpv13e/advio/sig_chld_waitpid.c
unpv13e/advio/str_cli_kqueue04.c
unpv13e/advio/str_cli_poll03.c
unpv13e/advio/str_cli_select02.c
unpv13e/advio/str_echo_stdio02.c
unpv13e/advio/str_echo_stdio02.lc
unpv13e/advio/tcpcli01.c
unpv13e/advio/tcpcli02.c
unpv13e/advio/tcpcli03.c
unpv13e/advio/tcpcli04.c
unpv13e/advio/tcpserv02.c
unpv13e/advio/udpcli01.c
unpv13e/advio/udpcli02.c
unpv13e/advio/udpcli03.c
unpv13e/advio/udpserv01.c
unpv13e/advio/udpserv03.c
unpv13e/advio/udpserv03.lc
unpv13e/advio/udpserv04.c
unpv13e/advio/udpserv04.lc
unpv13e/bcast/
unpv13e/bcast/Makefile
unpv13e/bcast/dgclibcast1.c
unpv13e/bcast/dgclibcast1.lc
unpv13e/bcast/dgclibcast2.c
unpv13e/bcast/dgclibcast3.c
unpv13e/bcast/dgclibcast3.lc
unpv13e/bcast/dgclibcast4.c
unpv13e/bcast/dgclibcast4.lc
unpv13e/bcast/dgclibcast5.c
unpv13e/bcast/dgclibcast5.lc
unpv13e/bcast/dgclibcast6.c
unpv13e/bcast/dgclibcast6.lc
unpv13e/bcast/udpcli01.c
unpv13e/bcast/udpcli02.c
unpv13e/bcast/udpcli03.c
unpv13e/bcast/udpcli04.c
unpv13e/bcast/udpcli05.c
unpv13e/bcast/udpcli06.c
unpv13e/debug/
unpv13e/debug/Makefile
unpv13e/debug/backlog.c
unpv13e/debug/backlog.lc
unpv13e/debug/qlen.c
unpv13e/debug/qlen.lc
unpv13e/debug/test01.c
unpv13e/debug/test01.lc
unpv13e/debug/test02.c
unpv13e/debug/test03.c
unpv13e/debug/test04.c
unpv13e/debug/test05.c
unpv13e/debug/test06.c
unpv13e/debug/unpxti.h
unpv13e/icmpd/
unpv13e/icmpd/Makefile
unpv13e/icmpd/dgcli01.c
unpv13e/icmpd/dgcli01.lc
unpv13e/icmpd/icmpd.c
unpv13e/icmpd/icmpd.h
unpv13e/icmpd/icmpd.lc
unpv13e/icmpd/readable_conn.c
unpv13e/icmpd/readable_conn.lc
unpv13e/icmpd/readable_listen.c
unpv13e/icmpd/readable_listen.lc
unpv13e/icmpd/readable_v4.c
unpv13e/icmpd/readable_v4.lc
unpv13e/icmpd/readable_v6.c
unpv13e/icmpd/readable_v6.lc
unpv13e/icmpd/script.1
unpv13e/icmpd/script.2
unpv13e/icmpd/script.3
unpv13e/icmpd/script.4
unpv13e/icmpd/udpcli01.c
unpv13e/icmpd/unpicmpd.h
unpv13e/inetd/
unpv13e/inetd/Makefile
unpv13e/inetd/daytimetcpsrv2.c
unpv13e/inetd/daytimetcpsrv3.c
unpv13e/inetd/daytimetcpsrv3.lc
unpv13e/intro/
unpv13e/intro/Makefile
unpv13e/intro/byteorder.c
unpv13e/intro/daytimetcpcli.c
unpv13e/intro/daytimetcpcli1.c
unpv13e/intro/daytimetcpcli2.c
unpv13e/intro/daytimetcpcli3.c
unpv13e/intro/daytimetcpcliv6.c
unpv13e/intro/daytimetcpsrv.c
unpv13e/intro/daytimetcpsrv.lc
unpv13e/intro/daytimetcpsrv1.c
unpv13e/intro/daytimetcpsrv2.c
unpv13e/intro/daytimetcpsrv3.c
unpv13e/intro/daytimetcpsrvv6.c
unpv13e/intro/truss.solaris.2.6
unpv13e/intro/truss.unixware.2.1
unpv13e/ioctl/
unpv13e/ioctl/Makefile
unpv13e/ioctl/Progs.siocgifconf
unpv13e/ioctl/Script.solaris
unpv13e/ioctl/lsif01.c
unpv13e/ioctl/lsif02.c
unpv13e/ioctl/prifinfo.c
unpv13e/ioctl/prifinfo.lc
unpv13e/ioctl/prmac.c
unpv13e/ioctl/test1.c
unpv13e/ipopts/
unpv13e/ipopts/Makefile
unpv13e/ipopts/dgechoprintroute.c
unpv13e/ipopts/sigchldwaitpid.c
unpv13e/ipopts/sourceroute.c
unpv13e/ipopts/sourceroute.lc
unpv13e/ipopts/sourceroute6.c
unpv13e/ipopts/tcpcli01.c
unpv13e/ipopts/tcpserv01.c
unpv13e/ipopts/udpcli01.c
unpv13e/ipopts/udpserv01.c
unpv13e/key/
unpv13e/key/Makefile
unpv13e/key/add.c
unpv13e/key/dump.c
unpv13e/key/name.c
unpv13e/key/printsadbmsg.c
unpv13e/key/register.c
unpv13e/key/unp.h
unpv13e/lib/
unpv13e/lib/Makefile
unpv13e/lib/addrinfo.h
unpv13e/lib/connect_nonb.c
unpv13e/lib/connect_nonb.lc
unpv13e/lib/connect_timeo.c
unpv13e/lib/connect_timeo.lc
unpv13e/lib/daemon_inetd.c
unpv13e/lib/daemon_inetd.lc
unpv13e/lib/daemon_init.c
unpv13e/lib/dg_cli.c
unpv13e/lib/dg_echo.c
unpv13e/lib/error.c
unpv13e/lib/family_to_level.c
unpv13e/lib/get_ifi_info.c
unpv13e/lib/get_ifi_info.lc
unpv13e/lib/gf_time.c
unpv13e/lib/host_serv.c
unpv13e/lib/host_serv.lc
unpv13e/lib/hstrerror.c
unpv13e/lib/my_addrs.c
unpv13e/lib/if_indextoname.c
unpv13e/lib/if_nameindex.c
unpv13e/lib/if_nametoindex.c
unpv13e/lib/in6addr_any.c
unpv13e/lib/mcast_get_if.c
unpv13e/lib/mcast_get_loop.c
unpv13e/lib/mcast_get_ttl.c
unpv13e/lib/mcast_join.c
unpv13e/lib/mcast_join.lc
unpv13e/lib/mcast_leave.c
unpv13e/lib/mcast_set_if.c
unpv13e/lib/mcast_set_loop.c
unpv13e/lib/mcast_set_loop.lc
unpv13e/lib/mcast_set_ttl.c
unpv13e/lib/my_addrs.lc
unpv13e/lib/pselect.c
unpv13e/lib/pselect.lc
unpv13e/lib/read_fd.c
unpv13e/lib/read_fd.lc
unpv13e/lib/readable_timeo.c
unpv13e/lib/readable_timeo.lc
unpv13e/lib/readline.c
unpv13e/lib/readline.lc
unpv13e/lib/readn.c
unpv13e/lib/readn.lc
unpv13e/lib/rtt.c
unpv13e/lib/rtt.lc
unpv13e/lib/signal.c
unpv13e/lib/signal.lc
unpv13e/lib/signal_intr.c
unpv13e/lib/snprintf.c
unpv13e/lib/sock_bind_wild.c
unpv13e/lib/sock_cmp_addr.c
unpv13e/lib/sock_cmp_port.c
unpv13e/lib/sock_get_port.c
unpv13e/lib/sock_ntop.c
unpv13e/lib/sock_ntop.lc
unpv13e/lib/sock_ntop_host.c
unpv13e/lib/sock_set_addr.c
unpv13e/lib/sock_set_port.c
unpv13e/lib/sock_set_wild.c
unpv13e/lib/sockatmark.c
unpv13e/lib/sockfd_to_family.c
unpv13e/lib/str_cli.c
unpv13e/lib/sockfd_to_family.lc
unpv13e/lib/str_cli.lc
unpv13e/lib/str_echo.c
unpv13e/lib/str_echo.lc
unpv13e/lib/tcp_connect.c
unpv13e/lib/tcp_connect.lc
unpv13e/lib/tcp_listen.c
unpv13e/lib/tcp_listen.lc
unpv13e/lib/tv_sub.c
unpv13e/lib/udp_client.c
unpv13e/lib/udp_client.lc
unpv13e/lib/udp_connect.c
unpv13e/lib/udp_connect.lc
unpv13e/lib/udp_server.c
unpv13e/lib/udp_server.lc
unpv13e/lib/unp.h
unpv13e/lib/unp.lh
unpv13e/lib/unpifi.h
unpv13e/lib/unprtt.h
unpv13e/lib/unprtt.lh
unpv13e/lib/unpthread.h
unpv13e/lib/wraplib.c
unpv13e/lib/wrappthread.c
unpv13e/lib/wrappthread.lc
unpv13e/lib/wrapsock.c
unpv13e/lib/wrapsock.lc
unpv13e/lib/wrapstdio.c
unpv13e/lib/wrapunix.c
unpv13e/lib/writable_timeo.c
unpv13e/lib/write_fd.c
unpv13e/lib/write_fd.lc
unpv13e/lib/writen.c
unpv13e/lib/writen.lc
unpv13e/libfree/
unpv13e/libfree/Make.tar
unpv13e/libfree/Makefile
unpv13e/libfree/README
unpv13e/libfree/README.getaddrinfo
unpv13e/libfree/addrinfo.h
unpv13e/libfree/getaddrinfo.c
unpv13e/libfree/getnameinfo.c
unpv13e/libfree/in_cksum.c
unpv13e/libfree/inet_aton.c
unpv13e/libfree/inet_ntop.c
unpv13e/libfree/inet_ntop_ipv4.c
unpv13e/libfree/inet_ntop_ipv4.lc
unpv13e/libfree/inet_pton.c
unpv13e/libfree/inet_pton_ipv4.c
unpv13e/libfree/inet_pton_ipv4.lc
unpv13e/libfree/test_ascii2addr.c
unpv13e/libfree/test_getservbyname_r.c
unpv13e/libfree/test_inet_pton.c
unpv13e/libroute/
unpv13e/libroute/Makefile
unpv13e/libroute/get_rtaddrs.c
unpv13e/libroute/get_rtaddrs.lc
unpv13e/libroute/if_indextoname.c
unpv13e/libroute/if_indextoname.lc
unpv13e/libroute/if_nameindex.c
unpv13e/libroute/if_nameindex.lc
unpv13e/libroute/if_nametoindex.c
unpv13e/libroute/if_nametoindex.lc
unpv13e/libroute/net_rt_dump.c
unpv13e/libroute/net_rt_iflist.c
unpv13e/libroute/net_rt_iflist.lc
unpv13e/libroute/sock_masktop.c
unpv13e/libroute/unproute.h
unpv13e/mcast/
unpv13e/mcast/Makefile
unpv13e/mcast/dgclibcast1.c
unpv13e/mcast/dgclimcast5.c
unpv13e/mcast/dgclimcast6.c
unpv13e/mcast/main.c
unpv13e/mcast/recv.c
unpv13e/mcast/send.c
unpv13e/mcast/udpcli01.c
unpv13e/mcast/udpcli05.c
unpv13e/mcast/udpcli06.c
unpv13e/mcast/udpserv01.c
unpv13e/mysdr/
unpv13e/mysdr/Makefile
unpv13e/mysdr/loop.c
unpv13e/mysdr/loop.lc
unpv13e/mysdr/main.c
unpv13e/mysdr/main.lc
unpv13e/mysdr/mysdr.h
unpv13e/mysdr/script.1
unpv13e/mysdr/script.2
unpv13e/names/
unpv13e/names/Makefile
unpv13e/names/daytimetcpcli.c
unpv13e/names/daytimetcpcli1.c
unpv13e/names/daytimetcpcli1.lc
unpv13e/names/daytimetcpcli2.c
unpv13e/names/daytimetcpcli2.lc
unpv13e/names/daytimetcpcli3.c
unpv13e/names/daytimetcpcli3.lc
unpv13e/names/daytimetcpsrv1.c
unpv13e/names/daytimetcpsrv2.c
unpv13e/names/daytimetcpsrv3.c
unpv13e/names/daytimetcpsrv4.c
unpv13e/names/daytimeudpcli1.c
unpv13e/names/daytimeudpcli1.lc
unpv13e/names/daytimeudpcli2.c
unpv13e/names/daytimeudpsrv2.c
unpv13e/names/daytimeudpsrv3.c
unpv13e/names/hostent.c
unpv13e/names/hostent.lc
unpv13e/names/hostent2.c
unpv13e/names/hostent2.lc
unpv13e/names/hostent3.c
unpv13e/names/myaddrs1.c
unpv13e/names/myaddrs1.lc
unpv13e/names/netent.c
unpv13e/names/prmyaddrs.c
unpv13e/names/prmyaddrs1.c
unpv13e/names/prmyaddrs1.lc
unpv13e/names/test1.c
unpv13e/names/test2.c
unpv13e/names/udp_server_reuseaddr.c
unpv13e/nonblock/
unpv13e/nonblock/Makefile
unpv13e/nonblock/daytimetcpcli.c
unpv13e/nonblock/doit.1
unpv13e/nonblock/home_page.c
unpv13e/nonblock/script.1.sh
unpv13e/nonblock/script.1.tcpd
unpv13e/nonblock/start_connect.c
unpv13e/nonblock/strclifork.c
unpv13e/nonblock/strclinonb.c
unpv13e/nonblock/strclinonb.lc
unpv13e/nonblock/tcpcli01.c
unpv13e/nonblock/tcpcli02.c
unpv13e/nonblock/tcpcli03.c
unpv13e/nonblock/tcpcli03.lc
unpv13e/nonblock/tcpcli04.c
unpv13e/nonblock/tcpservselect03.c
unpv13e/nonblock/web.c
unpv13e/nonblock/web.h
unpv13e/nonblock/web.lc
unpv13e/nonblock/write_get_cmd.c
unpv13e/oob/
unpv13e/oob/Makefile
unpv13e/oob/heartbeatcli.c
unpv13e/oob/heartbeatserv.c
unpv13e/oob/sigchldwaitpid.c
unpv13e/oob/strcliselect02.c
unpv13e/oob/strecho02.c
unpv13e/oob/tcpcli02.c
unpv13e/oob/tcprecv01.c
unpv13e/oob/tcprecv01.lc
unpv13e/oob/tcprecv02.c
unpv13e/oob/tcprecv02.lc
unpv13e/oob/tcprecv03.c
unpv13e/oob/tcprecv03p.c
unpv13e/oob/tcprecv03p.lc
unpv13e/oob/tcprecv04.c
unpv13e/oob/tcprecv04.lc
unpv13e/oob/tcprecv05.c
unpv13e/oob/tcprecv06.c
unpv13e/oob/tcpsend01.c
unpv13e/oob/tcpsend01.lc
unpv13e/oob/tcpsend02.c
unpv13e/oob/tcpsend03.c
unpv13e/oob/tcpsend04.c
unpv13e/oob/tcpsend04.lc
unpv13e/oob/tcpsend05.c
unpv13e/oob/tcpsend05.lc
unpv13e/oob/tcpsend06.c
unpv13e/oob/tcpsend06.lc
unpv13e/oob/tcpserv02.c
unpv13e/ping/
unpv13e/ping/old/
unpv13e/ping/old/icmp6.h
unpv13e/ping/old/ip6.h
unpv13e/ping/Makefile
unpv13e/ping/bsdping.c
unpv13e/ping/init_v6.c
unpv13e/ping/main.c
unpv13e/ping/main.lc
unpv13e/ping/ping.h
unpv13e/ping/ping_v4.c
unpv13e/ping/proc_v4.c
unpv13e/ping/proc_v4.lc
unpv13e/ping/proc_v6.c
unpv13e/ping/proc_v6.lc
unpv13e/ping/readloop.c
unpv13e/ping/send_v4.c
unpv13e/ping/send_v6.c
unpv13e/ping/sig_alrm.c
unpv13e/ping/sig_alrm.lc
unpv13e/ping/tv_sub.c
unpv13e/route/
unpv13e/route/Makefile
unpv13e/route/checkudpsum.c
unpv13e/route/get_ifi_info.c
unpv13e/route/get_ifi_info.lc
unpv13e/route/getrt.c
unpv13e/route/getrt.lc
unpv13e/route/mynetstat.c
unpv13e/route/prifindex.c
unpv13e/route/prifinfo.c
unpv13e/route/prifname.c
unpv13e/route/prifnameindex.c
unpv13e/route/unproute.h
unpv13e/rtt/
unpv13e/rtt/Makefile
unpv13e/rtt/dg_cli.c
unpv13e/rtt/dg_cli.lc
unpv13e/rtt/dg_echo.c
unpv13e/rtt/dg_send_recv.c
unpv13e/rtt/dg_send_recv.lc
unpv13e/rtt/rtt.out.kumba.1
unpv13e/rtt/rtt.out.kumba.2
unpv13e/rtt/rtt.out.vangogh.1
unpv13e/rtt/rtt.out.vangogh.2
unpv13e/rtt/rtt.vals.kumba.1
unpv13e/rtt/rtt.vals.vangogh.1
unpv13e/rtt/udpcli01.c
unpv13e/rtt/unprtt.h
unpv13e/sctp/
unpv13e/sctp/Makefile
unpv13e/sctp/sctp_addr_to_associd.c
unpv13e/sctp/sctp_addr_to_associd.lc
unpv13e/sctp/sctp_bindargs.c
unpv13e/sctp/sctp_bindargs.lc
unpv13e/sctp/sctp_check_notify.c
unpv13e/sctp/sctp_check_notify.lc
unpv13e/sctp/sctp_displayevents.c
unpv13e/sctp/sctp_displayevents.lc
unpv13e/sctp/sctp_getnostrm.c
unpv13e/sctp/sctp_modify_hb.c
unpv13e/sctp/sctp_modify_hb.lc
unpv13e/sctp/sctp_pdapircv.c
unpv13e/sctp/sctp_pdapircv.lc
unpv13e/sctp/sctp_print_addrs.c
unpv13e/sctp/sctp_print_addrs.lc
unpv13e/sctp/sctp_strcli.c
unpv13e/sctp/sctp_strcli.lc
unpv13e/sctp/sctp_strcli1.c
unpv13e/sctp/sctp_strcli1.lc
unpv13e/sctp/sctp_strcli_un.c
unpv13e/sctp/sctp_strcli_un.lc
unpv13e/sctp/sctp_strcliecho.c
unpv13e/sctp/sctp_strcliecho.lc
unpv13e/sctp/sctp_strcliecho2.c
unpv13e/sctp/sctp_strcliecho2.lc
unpv13e/sctp/sctp_wrapper.c
unpv13e/sctp/sctpclient01.c
unpv13e/sctp/sctpclient01.lc
unpv13e/sctp/sctpclient02.c
unpv13e/sctp/sctpclient02.lc
unpv13e/sctp/sctpclient04.c
unpv13e/sctp/sctpclient04.lc
unpv13e/sctp/sctpserv01.c
unpv13e/sctp/sctpserv01.lc
unpv13e/sctp/sctpserv02.c
unpv13e/sctp/sctpserv02.lc
unpv13e/sctp/sctpserv03.c
unpv13e/sctp/sctpserv03.lc
unpv13e/sctp/sctpserv04.c
unpv13e/sctp/sctpserv04.lc
unpv13e/sctp/sctpserv05.c
unpv13e/sctp/sctpserv05.lc
unpv13e/sctp/sctpserv06.c
unpv13e/sctp/sctpserv06.lc
unpv13e/sctp/sctpserv07.c
unpv13e/sctp/sctpserv07.lc
unpv13e/sctp/sctpserv_fork.c
unpv13e/sctp/sctpserv_fork.lc
unpv13e/sctp/unp.h
unpv13e/select/
unpv13e/select/Makefile
unpv13e/select/strcliselect01.c
unpv13e/select/strcliselect02.c
unpv13e/select/strcliselect02.lc
unpv13e/select/tcpcli01.c
unpv13e/select/tcpcli02.c
unpv13e/select/tcpcli03.c
unpv13e/server/
unpv13e/server/Makefile
unpv13e/server/child.h
unpv13e/server/child.lh
unpv13e/server/child02.c
unpv13e/server/child02.lc
unpv13e/server/child02l.c
unpv13e/server/child02m.c
unpv13e/server/child03.c
unpv13e/server/child03m.c
unpv13e/server/child04.c
unpv13e/server/child05.c
unpv13e/server/child05.lc
unpv13e/server/client.c
unpv13e/server/clientrst.c
unpv13e/server/lock_fcntl.c
unpv13e/server/lock_fcntl.lc
unpv13e/server/lock_pthread.c
unpv13e/server/lock_pthread.lc
unpv13e/server/meter.c
unpv13e/server/pr_cpu_time.c
unpv13e/server/pthread07.c
unpv13e/server/pthread07.h
unpv13e/server/pthread07.lc
unpv13e/server/pthread08.c
unpv13e/server/pthread08.h
unpv13e/server/pthread08.lc
unpv13e/server/pthread09.c
unpv13e/server/pthread09.h
unpv13e/server/readline.c
unpv13e/server/readline_r.c
unpv13e/server/readline_r.h
unpv13e/server/serv00.c
unpv13e/server/serv01.c
unpv13e/server/serv01.lc
unpv13e/server/serv02.c
unpv13e/server/serv02.lc
unpv13e/server/serv02m.c
unpv13e/server/serv03.c
unpv13e/server/serv03m.c
unpv13e/server/serv04.c
unpv13e/server/serv05.c
unpv13e/server/serv05.lc
unpv13e/server/serv06.c
unpv13e/server/serv06.lc
unpv13e/server/serv07.c
unpv13e/server/serv07.lc
unpv13e/server/serv08.c
unpv13e/server/serv08.lc
unpv13e/server/serv09.c
unpv13e/server/sig_chld_waitpid.c
unpv13e/server/unpthread.h
unpv13e/server/web_child.c
unpv13e/server/web_child_r.c
unpv13e/sigio/
unpv13e/sigio/Makefile
unpv13e/sigio/dgcli01.c
unpv13e/sigio/dgecho01.c
unpv13e/sigio/dgecho01.lc
unpv13e/sigio/script.1
unpv13e/sigio/script.2
unpv13e/sigio/udpcli01.c
unpv13e/sigio/udpserv01.c
unpv13e/sockopt/
unpv13e/sockopt/Makefile
unpv13e/sockopt/checkopts.c
unpv13e/sockopt/checkopts.lc
unpv13e/sockopt/prdefaults.c
unpv13e/sockopt/rcvbuf.c
unpv13e/sockopt/rcvbufset.c
unpv13e/sockopt/sockopt.c
unpv13e/sparc64-unknown-freebsd5.1/
unpv13e/sparc64-unknown-freebsd5.1/config.h
unpv13e/ssntp/
unpv13e/ssntp/Makefile
unpv13e/ssntp/main.c
unpv13e/ssntp/main.lc
unpv13e/ssntp/ntp.h
unpv13e/ssntp/sntp.h
unpv13e/ssntp/sntp_proc.c
unpv13e/streams/
unpv13e/streams/stream_dg/
unpv13e/streams/stream_dg/Makefile
unpv13e/streams/stream_dg/client.c
unpv13e/streams/stream_dg/net_stream.c
unpv13e/streams/stream_dg/server.c
unpv13e/streams/Makefile
unpv13e/streams/strlist_sock.c
unpv13e/streams/strlist_xti.c
unpv13e/streams/tpi_bind.c
unpv13e/streams/tpi_close.c
unpv13e/streams/tpi_close.lc
unpv13e/streams/tpi_connect.c
unpv13e/streams/tpi_connect.lc
unpv13e/streams/tpi_daytime.c
unpv13e/streams/tpi_daytime.h
unpv13e/streams/tpi_read.c
unpv13e/streams/tpi_read.lc
unpv13e/streams/unpxti.h
unpv13e/tcpcliserv/
unpv13e/tcpcliserv/Makefile
unpv13e/tcpcliserv/sigchldwait.c
unpv13e/tcpcliserv/sigchldwait.lc
unpv13e/tcpcliserv/sigchldwaitpid.c
unpv13e/tcpcliserv/sigchldwaitpid.lc
unpv13e/tcpcliserv/str_cli08.c
unpv13e/tcpcliserv/str_cli09.c
unpv13e/tcpcliserv/str_cli11.c
unpv13e/tcpcliserv/str_cli11.lc
unpv13e/tcpcliserv/str_echo08.c
unpv13e/tcpcliserv/str_echo08.lc
unpv13e/tcpcliserv/str_echo09.c
unpv13e/tcpcliserv/sum.h
unpv13e/tcpcliserv/tcpcli01.c
unpv13e/tcpcliserv/tcpcli01.lc
unpv13e/tcpcliserv/tcpcli04.c
unpv13e/tcpcliserv/tcpcli05.c
unpv13e/tcpcliserv/tcpcli06.c
unpv13e/tcpcliserv/tcpcli07.c
unpv13e/tcpcliserv/tcpcli08.c
unpv13e/tcpcliserv/tcpcli09.c
unpv13e/tcpcliserv/tcpcli10.c
unpv13e/tcpcliserv/tcpcli11.c
unpv13e/tcpcliserv/tcpserv01.c
unpv13e/tcpcliserv/tcpserv01.lc
unpv13e/tcpcliserv/tcpserv02.c
unpv13e/tcpcliserv/tcpserv03.c
unpv13e/tcpcliserv/tcpserv04.c
unpv13e/tcpcliserv/tcpserv04.lc
unpv13e/tcpcliserv/tcpserv08.c
unpv13e/tcpcliserv/tcpserv09.c
unpv13e/tcpcliserv/tcpservpoll01.c
unpv13e/tcpcliserv/tcpservpoll01.lc
unpv13e/tcpcliserv/tcpservselect01.c
unpv13e/tcpcliserv/tcpservselect01.lc
unpv13e/tcpcliserv/tsigpipe.c
unpv13e/test/
unpv13e/test/Makefile
unpv13e/test/accept_eintr.c
unpv13e/test/funcs.c
unpv13e/test/readline.h
unpv13e/test/readline1.c
unpv13e/test/readline1.lc
unpv13e/test/readline2.c
unpv13e/test/readline3.c
unpv13e/test/test.h
unpv13e/test/test1.c
unpv13e/test/test2.c
unpv13e/test/tisfdtype.c
unpv13e/test/treadline1.c
unpv13e/test/treadline2.c
unpv13e/test/treadline3.c
unpv13e/test/tshutdown.c
unpv13e/test/tsnprintf.c
unpv13e/threads/
unpv13e/threads/Makefile
unpv13e/threads/doit.1
unpv13e/threads/doit.2
unpv13e/threads/example01.c
unpv13e/threads/example01.lc
unpv13e/threads/example02.c
unpv13e/threads/example02.lc
unpv13e/threads/example03.c
unpv13e/threads/readline.c
unpv13e/threads/readline.lc
unpv13e/threads/script.example01
unpv13e/threads/script.example02
unpv13e/threads/strclithread.c
unpv13e/threads/strclithread.lc
unpv13e/threads/strclithread2.c
unpv13e/threads/tcpcli01.c
unpv13e/threads/tcpcli02.c
unpv13e/threads/tcpserv01.c
unpv13e/threads/tcpserv02.c
unpv13e/threads/test01.c
unpv13e/threads/test02.c
unpv13e/threads/web01.c
unpv13e/threads/test03.c
unpv13e/threads/test04.c
unpv13e/threads/test05.c
unpv13e/threads/unpthread.h
unpv13e/threads/web01.lc
unpv13e/threads/web02.c
unpv13e/threads/web03.c
unpv13e/threads/web03.lc
unpv13e/traceroute/
unpv13e/traceroute/Makefile
unpv13e/traceroute/icmpcode_v4.c
unpv13e/traceroute/icmpcode_v6.c
unpv13e/traceroute/main.c
unpv13e/traceroute/main.lc
unpv13e/traceroute/recv_v4.c
unpv13e/traceroute/recv_v4.lc
unpv13e/traceroute/recv_v6.c
unpv13e/traceroute/recv_v6.lc
unpv13e/traceroute/sig_alrm.c
unpv13e/traceroute/trace.h
unpv13e/traceroute/trace.lh
unpv13e/traceroute/traceloop.c
unpv13e/traceroute/traceloop.lc
unpv13e/traceroute/tv_sub.c
unpv13e/udpcksum/
unpv13e/udpcksum/Makefile
unpv13e/udpcksum/cleanup.c
unpv13e/udpcksum/cleanup.lc
unpv13e/udpcksum/main.c
unpv13e/udpcksum/main.lc
unpv13e/udpcksum/pcap.c
unpv13e/udpcksum/pcap.lc
unpv13e/udpcksum/senddnsquery-libnet.c
unpv13e/udpcksum/senddnsquery-libnet.lc
unpv13e/udpcksum/senddnsquery-raw.c
unpv13e/udpcksum/senddnsquery-raw.lc
unpv13e/udpcksum/udpcksum.c
unpv13e/udpcksum/udpcksum.h
unpv13e/udpcksum/udpcksum.lc
unpv13e/udpcksum/udpread.c
unpv13e/udpcksum/udpread.c.bad
unpv13e/udpcksum/udpread.lc
unpv13e/udpcksum/udpwrite.c
unpv13e/udpcksum/udpwrite.lc
unpv13e/udpcliserv/
unpv13e/udpcliserv/Makefile
unpv13e/udpcliserv/dgcliaddr.c
unpv13e/udpcliserv/dgclibig.c
unpv13e/udpcliserv/dgclibig.lc
unpv13e/udpcliserv/dgcliconnect.c
unpv13e/udpcliserv/dgcliconnect.lc
unpv13e/udpcliserv/dgcliinetaddr.c
unpv13e/udpcliserv/dgcliloop1.c
unpv13e/udpcliserv/dgcliloop3.c
unpv13e/udpcliserv/dgecholoop1.c
unpv13e/udpcliserv/dgecholoop2.c
unpv13e/udpcliserv/dgecholoop2.lc
unpv13e/udpcliserv/sigchldwaitpid.c
unpv13e/udpcliserv/udpcli01.c
unpv13e/udpcliserv/udpcli02.c
unpv13e/udpcliserv/udpcli03.c
unpv13e/udpcliserv/udpcli04.c
unpv13e/udpcliserv/udpcli05.c
unpv13e/udpcliserv/udpcli06.c
unpv13e/udpcliserv/udpcli08.c
unpv13e/udpcliserv/udpcli09.c
unpv13e/udpcliserv/udpcli10.c
unpv13e/udpcliserv/udpserv01.c
unpv13e/udpcliserv/udpserv06.c
unpv13e/udpcliserv/udpserv07.c
unpv13e/udpcliserv/udpservselect01.c
unpv13e/udpcliserv/udpservselect01.lc
unpv13e/unixdomain/
unpv13e/unixdomain/Makefile
unpv13e/unixdomain/daytimetcpcli.c
unpv13e/unixdomain/daytimetcpsrv2.c
unpv13e/unixdomain/mycat.c
unpv13e/unixdomain/mycat.lc
unpv13e/unixdomain/myopen.c
unpv13e/unixdomain/openfile.c
unpv13e/unixdomain/readcred.c
unpv13e/unixdomain/sigchldwaitpid.c
unpv13e/unixdomain/strecho.c
unpv13e/unixdomain/testfcred.c
unpv13e/unixdomain/tfcred01.c
unpv13e/unixdomain/unixbind.c
unpv13e/unixdomain/unixbind.lc
unpv13e/unixdomain/unixdgcli01.c
unpv13e/unixdomain/unixdgcli01.lc
unpv13e/unixdomain/unixdgserv01.c
unpv13e/unixdomain/unixstrcli01.c
unpv13e/unixdomain/unixstrserv01.c
unpv13e/unixdomain/unixstrserv01.lc
unpv13e/unixdomain/unixstrserv02.c
unpv13e/libgai/
unpv13e/libgai/old/
unpv13e/libgai/old/ga_unixstruct.c
unpv13e/libgai/old/savecopy.c
unpv13e/libgai/Makefile
unpv13e/libgai/addrinfo.h
unpv13e/libgai/freeaddrinfo.c
unpv13e/libgai/ga_aistruct.c
unpv13e/libgai/ga_aistruct.lc
unpv13e/libgai/ga_clone.c
unpv13e/libgai/ga_clone.lc
unpv13e/libgai/ga_echeck.c
unpv13e/libgai/ga_echeck.lc
unpv13e/libgai/ga_nsearch.c
unpv13e/libgai/ga_nsearch.lc
unpv13e/libgai/ga_port.c
unpv13e/libgai/ga_port.lc
unpv13e/libgai/ga_serv.c
unpv13e/libgai/ga_serv.lc
unpv13e/libgai/ga_unix.c
unpv13e/libgai/ga_unix.lc
unpv13e/libgai/gai_hdr.h
unpv13e/libgai/gai_hdr.lh
unpv13e/libgai/gai_strerror.c
unpv13e/libgai/getaddrinfo.c
unpv13e/libgai/getaddrinfo.lc
unpv13e/libgai/getnameinfo.c
unpv13e/libgai/getnameinfo.lc
unpv13e/libgai/gn_ipv46.c
unpv13e/libgai/gn_ipv46.lc
unpv13e/libgai/test1.c
unpv13e/libgai/testga.c
unpv13e/sock/
unpv13e/sock/Makefile
unpv13e/sock/README
unpv13e/sock/TODO
unpv13e/sock/buffers.c
unpv13e/sock/cliopen.c
unpv13e/sock/crlf.c
unpv13e/sock/error.c
unpv13e/sock/loop.c
unpv13e/sock/looptcp.c
unpv13e/sock/loopudp.c
unpv13e/sock/main.c
unpv13e/sock/multicast.c
unpv13e/sock/ourhdr.h
unpv13e/sock/pattern.c
unpv13e/sock/servopen.c
unpv13e/sock/sinktcp.c
unpv13e/sock/sinkudp.c
unpv13e/sock/sleepus.c
unpv13e/sock/sock.h
unpv13e/sock/sock.in
unpv13e/sock/sockopts.c
unpv13e/sock/sourceroute.c
unpv13e/sock/sourcesink.c
unpv13e/sock/sourcetcp.c
unpv13e/sock/sourceudp.c
unpv13e/sock/strerror.c
unpv13e/sock/tellwait.c
unpv13e/sock/write.c
unpv13e/sock/writen.c
edward@ubuntu:~/work$ ls
unpv13e  unpv13e.tar.gz
edward@ubuntu:~/work$ cd unpv13e/
edward@ubuntu:~/work/unpv13e$ ls
aclocal.m4    intro            nonblock                    ssntp
advio         ioctl            oob                         streams
bcast         ipopts           ping                        tcpcliserv
config.guess  key              README                      test
config.h.in   lib              route                       threads
config.sub    libfree          rtt                         traceroute
configure     libgai           sctp                        udpcksum
configure.in  libroute         select                      udpcliserv
debug         Make.defines.in  server                      unixdomain
DISCLAIMER    Makefile.in      sigio                       VERSION
icmpd         mcast            sock
inetd         mysdr            sockopt
install-sh    names            sparc64-unknown-freebsd5.1
edward@ubuntu:~/work/unpv13e$ ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for ranlib... ranlib
checking for pthread_create in -lpthread... yes
checking for t_open in -lnsl... no
checking for library containing socket... none required
checking for /usr/local/bind/lib/libbind.a... no
checking for /home/edward/libbind.a... no
checking for /home/edward/libresolv.a... no
checking for res_init in -lresolv... no
checking for t_open in -lxti... no
checking for /home/edward/libunp.a... no
checking for /home/edward/libunpxti.a... no
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/socket.h... yes
checking for sys/time.h... yes
checking for time.h... yes
checking for netinet/in.h... yes
checking for arpa/inet.h... yes
checking for errno.h... yes
checking for fcntl.h... yes
checking for netdb.h... yes
checking for signal.h... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for sys/stat.h... yes
checking for sys/uio.h... yes
checking for unistd.h... yes
checking for sys/wait.h... yes
checking for sys/un.h... yes
checking for sys/param.h... yes
checking for sys/select.h... yes
checking for sys/sysctl.h... yes
checking for poll.h... yes
checking for sys/event.h... no
checking for strings.h... yes
checking for sys/ioctl.h... yes
checking for sys/filio.h... no
checking for sys/sockio.h... no
checking for pthread.h... yes
checking for net/if_dl.h... no
checking for xti.h... no
checking for xti_inet.h... no
checking for netconfig.h... no
checking for netdir.h... no
checking for stropts.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking if uint8_t defined... yes
checking if int16_t defined... yes
checking if uint16_t defined... yes
checking if int32_t defined... yes
checking if uint32_t defined... yes
checking if size_t defined... yes
checking if ssize_t defined... yes
checking if socklen_t defined... yes
checking if sa_family_t defined... yes
checking if t_scalar_t defined... yes
checking if t_uscalar_t defined... yes
checking for struct sockaddr.sa_len... no
checking for struct sockaddr_storage... yes
checking for struct sockaddr_storage.ss_family... yes
checking for struct msghdr.msg_control... yes
checking for struct ifreq.ifr_mtu... yes
checking for getaddrinfo function prototype in netdb.h... yes
checking for getnameinfo function prototype in netdb.h... yes
checking for gethostname function prototype in unistd.h... yes
checking for getrusage function prototype in sys/resource.h... yes
checking for hstrerror function prototype in netdb.h... yes
checking for if_nametoindex function prototype in net/if.h... yes
checking for inet_aton function prototype in arpa/inet.h... yes
checking for inet_pton function prototype in arpa/inet.h... yes
checking for pselect function prototype in sys/select.h... yes
checking for snprintf function prototype in stdio.h... yes
checking for sockatmark function prototype in sys/socket.h... yes
checking for struct addrinfo... yes
checking for struct if_nameindex... yes
checking for struct sockaddr_dl... no
checking for struct timespec... yes
checking for /dev/tcp... no
checking for /dev/xti/tcp... no
checking for /dev/streams/xtiso/tcp... no
checking for bzero... yes
checking for getaddrinfo... yes
checking for gethostname... yes
checking for gethostbyname2... yes
checking for gethostbyname_r... yes
checking for getnameinfo... yes
checking for hstrerror... yes
checking for if_nametoindex... yes
checking for inet_aton... yes
checking for inet_pton... yes
checking for inet6_rth_init... yes
checking for kqueue... no
checking for kevent... no
checking for mkstemp... yes
checking for poll... yes
checking for pselect... yes
checking for snprintf... yes
checking for sockatmark... yes
checking for vsnprintf... yes
checking for IPv4 support... yes
checking for IPv6 support... yes
checking for Unix domain sockets... yes
checking for multicast support... yes
checking for -I/home/edward/doc/unp2ev1/src/include... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Make.defines
config.status: creating config.h
edward@ubuntu:~/work/unpv13e$ cd lib
edward@ubuntu:~/work/unpv13e/lib$ make
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o connect_nonb.o connect_nonb.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o connect_timeo.o connect_timeo.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o daemon_inetd.o daemon_inetd.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o daemon_init.o daemon_init.c
daemon_init.c: In function ‘daemon_init’:
daemon_init.c:34:2: warning: ignoring return value of ‘chdir’, declared with attribute warn_unused_result [-Wunused-result]
  chdir("/");    /* change working directory */
  ^
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o dg_cli.o dg_cli.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o dg_echo.o dg_echo.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o error.o error.c
error.c: In function ‘err_doit’:
error.c:102:17: warning: format not a string literal and no format arguments [-Wformat-security]
   syslog(level, buf);
                 ^
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o get_ifi_info.o get_ifi_info.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o gf_time.o gf_time.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o host_serv.o host_serv.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o family_to_level.o family_to_level.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o mcast_leave.o mcast_leave.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o mcast_join.o mcast_join.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o mcast_get_if.o mcast_get_if.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o mcast_get_loop.o mcast_get_loop.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o mcast_get_ttl.o mcast_get_ttl.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o mcast_set_if.o mcast_set_if.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o mcast_set_loop.o mcast_set_loop.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o mcast_set_ttl.o mcast_set_ttl.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o my_addrs.o my_addrs.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o read_fd.o read_fd.c
read_fd.c: In function ‘read_fd’:
read_fd.c:45:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *recvfd = *((int *) CMSG_DATA(cmptr));
   ^
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o readline.o readline.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o readn.o readn.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o readable_timeo.o readable_timeo.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o rtt.o rtt.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o signal.o signal.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o signal_intr.o signal_intr.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_bind_wild.o sock_bind_wild.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_cmp_addr.o sock_cmp_addr.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_cmp_port.o sock_cmp_port.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_ntop.o sock_ntop.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_ntop_host.o sock_ntop_host.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_get_port.o sock_get_port.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_set_addr.o sock_set_addr.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_set_port.o sock_set_port.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sock_set_wild.o sock_set_wild.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o sockfd_to_family.o sockfd_to_family.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o str_cli.o str_cli.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o str_echo.o str_echo.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o tcp_connect.o tcp_connect.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o tcp_listen.o tcp_listen.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o tv_sub.o tv_sub.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o udp_client.o udp_client.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o udp_connect.o udp_connect.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o udp_server.o udp_server.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o wraplib.o wraplib.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o wrapsock.o wrapsock.c
wrapsock.c: In function ‘Inet6_rth_space’:
wrapsock.c:81:8: warning: implicit declaration of function ‘inet6_rth_space’ [-Wimplicit-function-declaration]
  ret = inet6_rth_space(type, segments);
        ^
wrapsock.c: In function ‘Inet6_rth_init’:
wrapsock.c:93:8: warning: implicit declaration of function ‘inet6_rth_init’ [-Wimplicit-function-declaration]
  ret = inet6_rth_init(rthbuf, rthlen, type, segments);
        ^
wrapsock.c:93:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  ret = inet6_rth_init(rthbuf, rthlen, type, segments);
      ^
wrapsock.c: In function ‘Inet6_rth_add’:
wrapsock.c:103:6: warning: implicit declaration of function ‘inet6_rth_add’ [-Wimplicit-function-declaration]
  if (inet6_rth_add(rthbuf, addr) < 0)
      ^
wrapsock.c: In function ‘Inet6_rth_reverse’:
wrapsock.c:110:6: warning: implicit declaration of function ‘inet6_rth_reverse’ [-Wimplicit-function-declaration]
  if (inet6_rth_reverse(in, out) < 0)
      ^
wrapsock.c: In function ‘Inet6_rth_segments’:
wrapsock.c:119:8: warning: implicit declaration of function ‘inet6_rth_segments’ [-Wimplicit-function-declaration]
  ret = inet6_rth_segments(rthbuf);
        ^
wrapsock.c: In function ‘Inet6_rth_getaddr’:
wrapsock.c:131:8: warning: implicit declaration of function ‘inet6_rth_getaddr’ [-Wimplicit-function-declaration]
  ret = inet6_rth_getaddr(rthbuf, idx);
        ^
wrapsock.c:131:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  ret = inet6_rth_getaddr(rthbuf, idx);
      ^
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o wrapstdio.o wrapstdio.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o wrappthread.o wrappthread.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o wrapunix.o wrapunix.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o write_fd.o write_fd.c
write_fd.c: In function ‘write_fd’:
write_fd.c:24:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  *((int *) CMSG_DATA(cmptr)) = sendfd;
  ^
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o writen.o writen.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o writable_timeo.o writable_timeo.c
ar rv ../libunp.a connect_nonb.o connect_timeo.o daemon_inetd.o daemon_init.o dg_cli.o dg_echo.o error.o get_ifi_info.o gf_time.o host_serv.o family_to_level.o mcast_leave.o mcast_join.o mcast_get_if.o mcast_get_loop.o mcast_get_ttl.o mcast_set_if.o mcast_set_loop.o mcast_set_ttl.o my_addrs.o read_fd.o readline.o readn.o readable_timeo.o rtt.o signal.o signal_intr.o sock_bind_wild.o sock_cmp_addr.o sock_cmp_port.o sock_ntop.o sock_ntop_host.o sock_get_port.o sock_set_addr.o sock_set_port.o sock_set_wild.o sockfd_to_family.o str_cli.o str_echo.o tcp_connect.o tcp_listen.o tv_sub.o udp_client.o udp_connect.o udp_server.o wraplib.o wrapsock.o wrapstdio.o wrappthread.o wrapunix.o write_fd.o writen.o writable_timeo.o
ar: 正在创建 ../libunp.a
a - connect_nonb.o
a - connect_timeo.o
a - daemon_inetd.o
a - daemon_init.o
a - dg_cli.o
a - dg_echo.o
a - error.o
a - get_ifi_info.o
a - gf_time.o
a - host_serv.o
a - family_to_level.o
a - mcast_leave.o
a - mcast_join.o
a - mcast_get_if.o
a - mcast_get_loop.o
a - mcast_get_ttl.o
a - mcast_set_if.o
a - mcast_set_loop.o
a - mcast_set_ttl.o
a - my_addrs.o
a - read_fd.o
a - readline.o
a - readn.o
a - readable_timeo.o
a - rtt.o
a - signal.o
a - signal_intr.o
a - sock_bind_wild.o
a - sock_cmp_addr.o
a - sock_cmp_port.o
a - sock_ntop.o
a - sock_ntop_host.o
a - sock_get_port.o
a - sock_set_addr.o
a - sock_set_port.o
a - sock_set_wild.o
a - sockfd_to_family.o
a - str_cli.o
a - str_echo.o
a - tcp_connect.o
a - tcp_listen.o
a - tv_sub.o
a - udp_client.o
a - udp_connect.o
a - udp_server.o
a - wraplib.o
a - wrapsock.o
a - wrapstdio.o
a - wrappthread.o
a - wrapunix.o
a - write_fd.o
a - writen.o
a - writable_timeo.o
ranlib ../libunp.a
edward@ubuntu:~/work/unpv13e/lib$ cd ../libfree/
edward@ubuntu:~/work/unpv13e/libfree$ make
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o in_cksum.o in_cksum.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o inet_ntop.o inet_ntop.c
inet_ntop.c: In function ‘inet_ntop’:
inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype
  size_t size;
         ^
In file included from inet_ntop.c:27:0:
/usr/include/arpa/inet.h:64:20: error: prototype declaration
 extern const char *inet_ntop (int __af, const void *__restrict __cp,
                    ^
<builtin>: recipe for target 'inet_ntop.o' failed
make: *** [inet_ntop.o] Error 1
edward@ubuntu:~/work/unpv13e/libfree$ make
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o inet_ntop.o inet_ntop.c
/usr/include/arpa/inet.h: In function ‘inet_ntop’:
inet_ntop.c:153:23: warning: ‘best.len’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   if (best.base == -1 || cur.len > best.len)
                       ^
inet_ntop.c:124:28: note: ‘best.len’ was declared here
  struct { int base, len; } best, cur;
                            ^
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o inet_pton.o inet_pton.c
ar rv ../libunp.a in_cksum.o inet_ntop.o inet_pton.o
a - in_cksum.o
a - inet_ntop.o
a - inet_pton.o
ranlib ../libunp.a
edward@ubuntu:~/work/unpv13e/libfree$ cd ../intro/
edward@ubuntu:~/work/unpv13e/intro$ make daytimetcpcli
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o daytimetcpcli.o daytimetcpcli.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall -o daytimetcpcli daytimetcpcli.o ../libunp.a -lpthread
edward@ubuntu:~/work/unpv13e/intro$ ./daytimetcpcli 127.0.0.1
connect error: Connection refused
edward@ubuntu:~/work/unpv13e/intro$ sudo /etc/init.d/xinetd restart
[sudo] edward 的密码:
[ ok ] Restarting xinetd (via systemctl): xinetd.service.
edward@ubuntu:~/work/unpv13e/intro$ ./daytimetcpcli 127.0.0.1
29 JUN 2016 14:14:55 CST




0 0