From owner-p4-projects@FreeBSD.ORG Sun Jun 21 19:17:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E9D11065679; Sun, 21 Jun 2009 19:17:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBDCA1065673 for ; Sun, 21 Jun 2009 19:17:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A94318FC19 for ; Sun, 21 Jun 2009 19:17:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5LJHKip050775 for ; Sun, 21 Jun 2009 19:17:20 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5LJHKVw050773 for perforce@freebsd.org; Sun, 21 Jun 2009 19:17:20 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 21 Jun 2009 19:17:20 GMT Message-Id: <200906211917.n5LJHKVw050773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164820 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Jun 2009 19:17:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=164820 Change 164820 by pgj@petymeg-current on 2009/06/21 19:17:18 Introduce a type for socket buffers Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#33 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#20 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#18 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#20 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#19 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#15 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#5 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#33 (text+ko) ==== @@ -581,20 +581,20 @@ stp->st_qlen = xpcb->xu_socket.so_qlen; stp->st_incqlen = xpcb->xu_socket.so_incqlen; stp->st_qlimit = xpcb->xu_socket.so_qlimit; - stp->st_snd_cc = xpcb->xu_socket.so_snd.sb_cc; - stp->st_snd_mcnt = xpcb->xu_socket.so_snd.sb_mcnt; - stp->st_snd_ccnt = xpcb->xu_socket.so_snd.sb_ccnt; - stp->st_snd_hiwat = xpcb->xu_socket.so_snd.sb_hiwat; - stp->st_snd_lowat = xpcb->xu_socket.so_snd.sb_lowat; - stp->st_snd_mbcnt = xpcb->xu_socket.so_snd.sb_mbcnt; - stp->st_snd_mbmax = xpcb->xu_socket.so_snd.sb_mbmax; - stp->st_rcv_cc = xpcb->xu_socket.so_rcv.sb_cc; - stp->st_rcv_mcnt = xpcb->xu_socket.so_rcv.sb_mcnt; - stp->st_rcv_ccnt = xpcb->xu_socket.so_rcv.sb_ccnt; - stp->st_rcv_hiwat = xpcb->xu_socket.so_rcv.sb_hiwat; - stp->st_rcv_lowat = xpcb->xu_socket.so_rcv.sb_lowat; - stp->st_rcv_mbcnt = xpcb->xu_socket.so_rcv.sb_mbcnt; - stp->st_rcv_mbmax = xpcb->xu_socket.so_rcv.sb_mbmax; + stp->st_snd.sbt_cc = xpcb->xu_socket.so_snd.sb_cc; + stp->st_snd.sbt_mcnt = xpcb->xu_socket.so_snd.sb_mcnt; + stp->st_snd.sbt_ccnt = xpcb->xu_socket.so_snd.sb_ccnt; + stp->st_snd.sbt_hiwat = xpcb->xu_socket.so_snd.sb_hiwat; + stp->st_snd.sbt_lowat = xpcb->xu_socket.so_snd.sb_lowat; + stp->st_snd.sbt_mbcnt = xpcb->xu_socket.so_snd.sb_mbcnt; + stp->st_snd.sbt_mbmax = xpcb->xu_socket.so_snd.sb_mbmax; + stp->st_rcv.sbt_cc = xpcb->xu_socket.so_rcv.sb_cc; + stp->st_rcv.sbt_mcnt = xpcb->xu_socket.so_rcv.sb_mcnt; + stp->st_rcv.sbt_ccnt = xpcb->xu_socket.so_rcv.sb_ccnt; + stp->st_rcv.sbt_hiwat = xpcb->xu_socket.so_rcv.sb_hiwat; + stp->st_rcv.sbt_lowat = xpcb->xu_socket.so_rcv.sb_lowat; + stp->st_rcv.sbt_mbcnt = xpcb->xu_socket.so_rcv.sb_mbcnt; + stp->st_rcv.sbt_mbmax = xpcb->xu_socket.so_rcv.sb_mbmax; stp->st_pcb = (u_long)xpcb->xu_socket.so_pcb; stp->st_vnode = (u_long)xpcb->xu_unp.unp_vnode; stp->st_conn = (u_long)xpcb->xu_unp.unp_conn; @@ -627,20 +627,20 @@ stp->st_qlen = so->so_qlen; stp->st_incqlen = so->so_incqlen; stp->st_qlimit = so->so_qlimit; - stp->st_snd_cc = so->so_snd.sb_cc; - stp->st_snd_mcnt = so->so_snd.sb_mcnt; - stp->st_snd_ccnt = so->so_snd.sb_ccnt; - stp->st_snd_hiwat = so->so_snd.sb_hiwat; - stp->st_snd_lowat = so->so_snd.sb_lowat; - stp->st_snd_mbcnt = so->so_snd.sb_mbcnt; - stp->st_snd_mbmax = so->so_snd.sb_mbmax; - stp->st_rcv_cc = so->so_rcv.sb_cc; - stp->st_rcv_mcnt = so->so_rcv.sb_mcnt; - stp->st_rcv_ccnt = so->so_rcv.sb_ccnt; - stp->st_rcv_hiwat = so->so_rcv.sb_hiwat; - stp->st_rcv_lowat = so->so_rcv.sb_lowat; - stp->st_rcv_mbcnt = so->so_rcv.sb_mbcnt; - stp->st_rcv_mbmax = so->so_rcv.sb_mbmax; + stp->st_snd.sbt_cc = so->so_snd.sb_cc; + stp->st_snd.sbt_mcnt = so->so_snd.sb_mcnt; + stp->st_snd.sbt_ccnt = so->so_snd.sb_ccnt; + stp->st_snd.sbt_hiwat = so->so_snd.sb_hiwat; + stp->st_snd.sbt_lowat = so->so_snd.sb_lowat; + stp->st_snd.sbt_mbcnt = so->so_snd.sb_mbcnt; + stp->st_snd.sbt_mbmax = so->so_snd.sb_mbmax; + stp->st_rcv.sbt_cc = so->so_rcv.sb_cc; + stp->st_rcv.sbt_mcnt = so->so_rcv.sb_mcnt; + stp->st_rcv.sbt_ccnt = so->so_rcv.sb_ccnt; + stp->st_rcv.sbt_hiwat = so->so_rcv.sb_hiwat; + stp->st_rcv.sbt_lowat = so->so_rcv.sb_lowat; + stp->st_rcv.sbt_mbcnt = so->so_rcv.sb_mbcnt; + stp->st_rcv.sbt_mbmax = so->so_rcv.sb_mbmax; stp->st_pcb = (tp == NULL) ? (u_long)inp->inp_ppcb : (u_long)so->so_pcb; stp->st_vnode = (u_long)0; ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#20 (text+ko) ==== @@ -62,21 +62,8 @@ int netstat_st_get_protocol(const struct socket_type *stp); const char *netstat_st_get_name(const struct socket_type *stp); const char *netstat_st_get_extname(const struct socket_type *stp); -/* XXX: move snd/rcv-related properties into a new abstract type? */ -u_int netstat_st_get_snd_cc(const struct socket_type *stp); -u_int netstat_st_get_snd_hiwat(const struct socket_type *stp); -u_int netstat_st_get_snd_lowat(const struct socket_type *stp); -u_int netstat_st_get_snd_mbcnt(const struct socket_type *stp); -u_int netstat_st_get_snd_mcnt(const struct socket_type *stp); -u_int netstat_st_get_snd_ccnt(const struct socket_type *stp); -u_int netstat_st_get_snd_mbmax(const struct socket_type *stp); -u_int netstat_st_get_rcv_cc(const struct socket_type *stp); -u_int netstat_st_get_rcv_hiwat(const struct socket_type *stp); -u_int netstat_st_get_rcv_lowat(const struct socket_type *stp); -u_int netstat_st_get_rcv_mbcnt(const struct socket_type *stp); -u_int netstat_st_get_rcv_mcnt(const struct socket_type *stp); -u_int netstat_st_get_rcv_ccnt(const struct socket_type *stp); -u_int netstat_st_get_rcv_mbmax(const struct socket_type *stp); +const struct sockbuf_type *netstat_st_get_snd(const struct socket_type *stp); +const struct sockbuf_type *netstat_st_get_rcv(const struct socket_type *stp); u_short netstat_st_get_qlen(const struct socket_type *stp); u_short netstat_st_get_incqlen(const struct socket_type *stp); u_short netstat_st_get_qlimit(const struct socket_type *stp); @@ -97,6 +84,14 @@ char *addr, int addr_len); u_short netstat_at_get_port(const struct addr_type *atp); const char *netstat_at_get_portname(struct addr_type *atp); +/* Socket buffers: */ +u_int netstat_sbt_get_cc(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_lowat(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp); +u_int netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp); __END_DECLS #endif /* !_NETSTAT_H_ */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#18 (text+ko) ==== @@ -32,6 +32,17 @@ char at_portname[32]; }; +/* Socket buffer type */ +struct sockbuf_type { + u_int sbt_cc; /* actual chars in the buffer */ + u_int sbt_mcnt; + u_int sbt_ccnt; + u_int sbt_hiwat; + u_int sbt_lowat; + u_int sbt_mbcnt; + u_int sbt_mbmax; +}; + /* internal defines for addr_type: */ #define ADDRTYPE_ANONPORT 0x01 #define ADDRTYPE_NAME_RESOLVED 0x02 @@ -58,20 +69,10 @@ struct addr_type *st_address[SOCKTYPE_MAXADDRCNT]; int st_addrcnt; /* address count */ - u_int st_snd_cc; /* actual chars in the send buffer */ - u_int st_snd_mcnt; - u_int st_snd_ccnt; - u_int st_snd_hiwat; - u_int st_snd_lowat; - u_int st_snd_mbcnt; - u_int st_snd_mbmax; - u_int st_rcv_cc; /* actual chars in the receive buffer */ - u_int st_rcv_mcnt; - u_int st_rcv_ccnt; - u_int st_rcv_hiwat; - u_int st_rcv_lowat; - u_int st_rcv_mbcnt; - u_int st_rcv_mbmax; + /* buffers */ + struct sockbuf_type st_snd; + struct sockbuf_type st_rcv; + u_short st_qlen; /* number of unaccepted connections */ u_short st_incqlen; /* number of unaccepted incomplete connections */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#20 (text+ko) ==== @@ -350,88 +350,16 @@ return (stp->st_extname); } -u_int -netstat_st_get_rcv_cc(const struct socket_type *stp) +const struct sockbuf_type * +netstat_st_get_snd(const struct socket_type *stp) { - return (stp->st_rcv_cc); + return (&stp->st_snd); } -u_int -netstat_st_get_rcv_hiwat(const struct socket_type *stp) +const struct sockbuf_type * +netstat_st_get_rcv(const struct socket_type *stp) { - return (stp->st_rcv_hiwat); -} - -u_int -netstat_st_get_rcv_lowat(const struct socket_type *stp) -{ - return (stp->st_rcv_lowat); -} - -u_int -netstat_st_get_rcv_mbcnt(const struct socket_type *stp) -{ - return (stp->st_rcv_mbcnt); -} - -u_int -netstat_st_get_rcv_mcnt(const struct socket_type *stp) -{ - return (stp->st_rcv_mcnt); -} - -u_int -netstat_st_get_rcv_ccnt(const struct socket_type *stp) -{ - return (stp->st_rcv_ccnt); -} - -u_int -netstat_st_get_rcv_mbmax(const struct socket_type *stp) -{ - return (stp->st_rcv_mbmax); -} - -u_int -netstat_st_get_snd_cc(const struct socket_type *stp) -{ - return (stp->st_snd_cc); -} - -u_int -netstat_st_get_snd_hiwat(const struct socket_type *stp) -{ - return (stp->st_snd_hiwat); -} - -u_int -netstat_st_get_snd_lowat(const struct socket_type *stp) -{ - return (stp->st_snd_lowat); -} - -u_int -netstat_st_get_snd_mbcnt(const struct socket_type *stp) -{ - return (stp->st_snd_mbcnt); -} - -u_int -netstat_st_get_snd_mcnt(const struct socket_type *stp) -{ - return (stp->st_snd_mcnt); -} - -u_int -netstat_st_get_snd_ccnt(const struct socket_type *stp) -{ - return (stp->st_snd_ccnt); -} - -u_int -netstat_st_get_snd_mbmax(const struct socket_type *stp) -{ - return (stp->st_snd_mbmax); + return (&stp->st_rcv); } u_short @@ -547,3 +475,45 @@ } return (atp->at_portname); } + +u_int +netstat_sbt_get_cc(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_cc); +} + +u_int +netstat_sbt_get_hiwat(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_hiwat); +} + +u_int +netstat_sbt_get_lowat(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_lowat); +} + +u_int +netstat_sbt_get_mbcnt(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_mbcnt); +} + +u_int +netstat_sbt_get_mcnt(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_mcnt); +} + +u_int +netstat_sbt_get_ccnt(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_ccnt); +} + +u_int +netstat_sbt_get_mbmax(const struct sockbuf_type *sbtp) +{ + return (sbtp->sbt_mbmax); +} ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#19 (text+ko) ==== @@ -203,8 +203,9 @@ netstat_st_get_incqlen(stp), netstat_st_get_qlimit(stp)); printf("%-14.14s", buf1); } else { - printf("%6u %6u ", netstat_st_get_rcv_cc(stp), - netstat_st_get_snd_cc(stp)); + printf("%6u %6u ", + netstat_sbt_get_cc(netstat_st_get_rcv(stp)), + netstat_sbt_get_cc(netstat_st_get_snd(stp))); } laddr = netstat_st_get_address(stp, 0); /* local */ faddr = netstat_st_get_address(stp, 1); /* foreign */ @@ -218,16 +219,18 @@ if (Lflag) printf("%21s", " "); printf("%6u %6u %6u %6u %6u %6u %6u %6u %6u %6u %6u %6u", - netstat_st_get_rcv_mcnt(stp), netstat_st_get_snd_mcnt(stp), - netstat_st_get_rcv_ccnt(stp), netstat_st_get_snd_ccnt(stp), - netstat_st_get_rcv_hiwat(stp), - netstat_st_get_snd_hiwat(stp), - netstat_st_get_rcv_lowat(stp), - netstat_st_get_snd_lowat(stp), - netstat_st_get_rcv_mbcnt(stp), - netstat_st_get_snd_mbcnt(stp), - netstat_st_get_rcv_mbmax(stp), - netstat_st_get_snd_mbmax(stp)); + netstat_sbt_get_mcnt(netstat_st_get_rcv(stp)), + netstat_sbt_get_mcnt(netstat_st_get_snd(stp)), + netstat_sbt_get_ccnt(netstat_st_get_rcv(stp)), + netstat_sbt_get_ccnt(netstat_st_get_snd(stp)), + netstat_sbt_get_hiwat(netstat_st_get_rcv(stp)), + netstat_sbt_get_hiwat(netstat_st_get_snd(stp)), + netstat_sbt_get_lowat(netstat_st_get_rcv(stp)), + netstat_sbt_get_lowat(netstat_st_get_snd(stp)), + netstat_sbt_get_mbcnt(netstat_st_get_rcv(stp)), + netstat_sbt_get_mbcnt(netstat_st_get_snd(stp)), + netstat_sbt_get_mbmax(netstat_st_get_rcv(stp)), + netstat_sbt_get_mbmax(netstat_st_get_snd(stp))); } if (!Lflag) { printf("%s", netstat_st_get_tcpstate(stp)); ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#15 (text+ko) ==== @@ -136,7 +136,8 @@ } else { printf("%8lx %-6.6s %6u %6u %8lx %8lx %8lx %8lx", netstat_st_get_pcb(stp), netstat_st_get_name(stp), - netstat_st_get_rcv_cc(stp), netstat_st_get_snd_cc(stp), + netstat_sbt_get_cc(netstat_st_get_rcv(stp)), + netstat_sbt_get_cc(netstat_st_get_snd(stp)), netstat_st_get_vnode(stp), netstat_st_get_conn(stp), netstat_st_get_refs(stp), netstat_st_get_reflink(stp)); } ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#5 (text+ko) ==== @@ -78,7 +78,8 @@ mvprintw(row, 0, "%8lx %-6.6s %6u %6u %8lx %8lx %8lx %8lx", netstat_st_get_pcb(stp), netstat_st_get_name(stp), - netstat_st_get_rcv_cc(stp), netstat_st_get_snd_cc(stp), + netstat_sbt_get_cc(netstat_st_get_rcv(stp)), + netstat_sbt_get_cc(netstat_st_get_snd(stp)), netstat_st_get_vnode(stp), netstat_st_get_conn(stp), netstat_st_get_refs(stp), netstat_st_get_reflink(stp)); if (netstat_st_get_addrcnt(stp) > 0) { @@ -102,8 +103,9 @@ faddr = netstat_st_get_address(stp, 1); mvprintw(row, 0, "%-5.5s %6u %6u %-17.17s %-6.6s %-17.17s %-6.6s %s", - netstat_st_get_extname(stp), netstat_st_get_rcv_cc(stp), - netstat_st_get_snd_cc(stp), + netstat_st_get_extname(stp), + netstat_sbt_get_cc(netstat_st_get_rcv(stp)), + netstat_sbt_get_cc(netstat_st_get_snd(stp)), netstat_at_get_name(laddr), netstat_at_get_portname(laddr), netstat_at_get_name(faddr),