Add back icqnix and pppload, which were prematurely deleted by will.

This commit is contained in:
Kris Kennaway 2002-05-24 11:27:15 +00:00
parent fb8d17a9f2
commit 6c1f77c75c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=59883
21 changed files with 706 additions and 0 deletions

View file

@ -173,6 +173,7 @@
SUBDIR += icmpquery SUBDIR += icmpquery
SUBDIR += icqlib SUBDIR += icqlib
SUBDIR += icqlib0 SUBDIR += icqlib0
SUBDIR += icqnix
SUBDIR += icradius SUBDIR += icradius
SUBDIR += icukrell SUBDIR += icukrell
SUBDIR += ip-tun SUBDIR += ip-tun
@ -376,6 +377,7 @@
SUBDIR += pmf SUBDIR += pmf
SUBDIR += poptop SUBDIR += poptop
SUBDIR += pppoa SUBDIR += pppoa
SUBDIR += pppload
SUBDIR += ppptraf SUBDIR += ppptraf
SUBDIR += pptpclient SUBDIR += pptpclient
SUBDIR += ppxp SUBDIR += ppxp

28
net/icqnix/Makefile Normal file
View file

@ -0,0 +1,28 @@
# New ports collection makefile for: icqnix
# Date created: 27 Aug 1999
# Whom: Yin-Jieh Chen <yinjieh@csie.nctu.edu.tw>
#
# $FreeBSD$
#
PORTNAME= icqnix
PORTVERSION= b1
CATEGORIES= net
MASTER_SITES= http://www.csie.nctu.edu.tw/~yinjieh/
DISTNAME= icqnix-beta1
MAINTAINER= yinjieh@csie.nctu.edu.tw
RUN_DEPENDS= esdplay:${PORTSDIR}/audio/esound
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_QT_VER= 1
CONFIGURE_ARGS= --with-qt-libraries=${X11BASE}/lib --with-qt-includes=${X11BASE}/include/X11/qt1
CONFIGURE_ENV= QT_MOC="${MOC}"
post-install:
@strip ${PREFIX}/bin/icqnix
@strip ${PREFIX}/bin/icqnix.install
.include <bsd.port.mk>

1
net/icqnix/distinfo Normal file
View file

@ -0,0 +1 @@
MD5 (icqnix-beta1.tar.gz) = 4fd1627d4bc8f8a5a1f1793fb538538e

11
net/icqnix/files/patch-aa Normal file
View file

@ -0,0 +1,11 @@
--- src/icqfunctions.h.orig Sun Feb 27 15:34:39 2000
+++ src/icqfunctions.h Sun Feb 27 15:36:57 2000
@@ -46,7 +46,7 @@
virtual ~ICQFunctions(void);
void setup(ICQUser *s, int index, bool isAutoClose);
char *tabLabel[4];
- const int TAB_READ = 0, TAB_SEND = 1, TAB_USERINFO = 2, TAB_HISTORY = 3;
+ static const int TAB_READ = 0, TAB_SEND = 1, TAB_USERINFO = 2, TAB_HISTORY = 3;
int currentTab;
ICQUser *theUser;
ICQ *server;

11
net/icqnix/files/patch-ab Normal file
View file

@ -0,0 +1,11 @@
--- ./src/Makefile.in.orig Fri May 24 04:23:37 2002
+++ ./src/Makefile.in Fri May 24 04:23:54 2002
@@ -21,7 +21,7 @@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@ @DEFS@ -DINSTALL_PROG="\"@INSTALL@\"" -DSHARE_DIR="\"@datadir@/@PACKAGE@\"" @X_CFLAGS@ @QT_INCLUDES@ @SOCKS_INCDIR@ -I$(srcdir) -I$(top_srcdir) -Wall
LDFLAGS = @SOCKS_LIBDIR@ @X_LIBS@ @QT_LDFLAGS@
-LDLIBS = @SOCKS_LIBS@ -lqt @X_PRE_LIBS@ -lX11 -lXext @XSS_LIBS@ @X_EXTRA_LIBS@
+LDLIBS = @SOCKS_LIBS@ -lqt1 @X_PRE_LIBS@ -lX11 -lXext @XSS_LIBS@ @X_EXTRA_LIBS@
MOC = @QT_MOC@
OBJECTS = file.o message.o packet.o socket.o user.o \

11
net/icqnix/files/patch-ac Normal file
View file

@ -0,0 +1,11 @@
--- ./install/Makefile.in.orig Fri May 24 04:23:44 2002
+++ ./install/Makefile.in Fri May 24 04:24:22 2002
@@ -21,7 +21,7 @@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@ @DEFS@ -DINSTALL_PROG="\"@INSTALL@\"" -DSHARE_DIR="\"@datadir@/@PACKAGE@\"" @X_CFLAGS@ @QT_INCLUDES@ @SOCKS_INCDIR@ -I$(srcdir) -I$(top_srcdir) -Wall
LDFLAGS = @SOCKS_LIBDIR@ @X_LIBS@ @QT_LDFLAGS@
-LDLIBS = @SOCKS_LIBS@ -lqt @X_PRE_LIBS@ -lX11 -lXext @X_EXTRA_LIBS@
+LDLIBS = @SOCKS_LIBS@ -lqt1 @X_PRE_LIBS@ -lX11 -lXext @X_EXTRA_LIBS@
MOC = @QT_MOC@
OBJECTS = installDialog.o main.o installer.o ../src/file.o

1
net/icqnix/pkg-comment Normal file
View file

@ -0,0 +1 @@
ICQ client for the X Window System for UNIX based PCs

23
net/icqnix/pkg-descr Normal file
View file

@ -0,0 +1,23 @@
ICQnix is an ICQ client for the X Window System for UNIX based PCs, designed
to look and feel as much like the Mirabilis ICQ client as possible. ICQnix
has been developed and tested on Linux, and theoretically should work on
other variants of UNIX. It uses the Qt widget set and was originally based on
Licq v0.41 by Graham Roff.
Some of it's features include:
o Send and Receive Online/Offline messages
o Send and Receive Online/Offline URLs
o Peer to Peer Chat
o Message History
o Visible/Invisible lists
o ICQ Search
o View Basic User Info
o Event sounds
o X-based user installation
o Closely resembles the Windows ICQ interface
WWW: http://icqnix.linuxbox.com/
- Yin-Jieh Chen
yinjieh@csie.nctu.edu.tw

52
net/icqnix/pkg-plist Normal file
View file

@ -0,0 +1,52 @@
bin/icqnix
bin/icqnix.install
share/icqnix/icqnix.conf
share/icqnix/users.conf
share/icqnix/sounds/auth.au
share/icqnix/sounds/chat.au
share/icqnix/sounds/chatbeep.au
share/icqnix/sounds/email.au
share/icqnix/sounds/external.au
share/icqnix/sounds/file.au
share/icqnix/sounds/message.au
share/icqnix/sounds/notify.au
share/icqnix/sounds/online.au
share/icqnix/sounds/swing.au
share/icqnix/sounds/system.au
share/icqnix/sounds/url.au
share/icqnix/translations/ASCII
share/icqnix/translations/CP437
share/icqnix/translations/CP850
share/icqnix/translations/DANISH
share/icqnix/translations/DEC_MCS
share/icqnix/translations/DG_MCS
share/icqnix/translations/DUTCH
share/icqnix/translations/FINNISH
share/icqnix/translations/FRENCH
share/icqnix/translations/FRENCH_CANADIAN
share/icqnix/translations/GERMAN
share/icqnix/translations/HP_MCS
share/icqnix/translations/IRV
share/icqnix/translations/ITALIAN
share/icqnix/translations/JIS
share/icqnix/translations/MACINTOSH
share/icqnix/translations/NEXT
share/icqnix/translations/NORWEGIAN_1
share/icqnix/translations/NORWEGIAN_2
share/icqnix/translations/POLISH
share/icqnix/translations/POLISH_NOPL
share/icqnix/translations/PORTUGUESE
share/icqnix/translations/PORTUGUESE_COM
share/icqnix/translations/RUSSIAN
share/icqnix/translations/RUSSIAN_ALT
share/icqnix/translations/RUSSIAN_WIN
share/icqnix/translations/SPANISH
share/icqnix/translations/SWEDISH
share/icqnix/translations/SWEDISH_NAMES
share/icqnix/translations/SWEDISH_NAMES_COM
share/icqnix/translations/SWISS
share/icqnix/translations/UNITED_KINGDOM
share/icqnix/translations/UNITED_KINGDOM_COM
@dirrm share/icqnix/sounds
@dirrm share/icqnix/translations
@dirrm share/icqnix

21
net/pppload/Makefile Normal file
View file

@ -0,0 +1,21 @@
# New ports collection makefile for: pppload
# Date created: 30 January 1998
# Whom: Sean Cole <scole@aracnet.com>
#
# $FreeBSD$
#
PORTNAME= pppload
PORTVERSION= 1.0
CATEGORIES= net sysutils
MASTER_SITES= ${MASTER_SITE_SUNSITE}
MASTER_SITE_SUBDIR= system/network/serial/ppp
MAINTAINER= ports@FreeBSD.org
USE_QT_VER= 1
USE_GMAKE= yes
MAN1= pppload.1
.include <bsd.port.mk>

1
net/pppload/distinfo Normal file
View file

@ -0,0 +1 @@
MD5 (pppload-1.0.tar.gz) = 5f6ef60f2a70386e85655e5b117ee93c

124
net/pppload/files/patch-aa Normal file
View file

@ -0,0 +1,124 @@
--- Makefile.orig Wed Sep 11 19:49:33 1996
+++ Makefile Fri May 24 04:04:33 2002
@@ -1,24 +1,23 @@
####### Installation
RM=rm -f
LN=ln -sf
-INSTALL=install
-PREFIX=/usr
+INSTALL=install -c
BINDIR=$(PREFIX)/bin
MANDIR=$(PREFIX)/man/man1
####### Directories
-QTDIR = /usr/lib/qt
-BASEDIR = $(QTDIR)
-INCDIR = $(BASEDIR)/include
-LIBDIR = $(BASEDIR)/lib
+INCDIR = $(X11BASE)/include/X11/qt1
+LIBDIR = $(X11BASE)/lib
####### Compiler
-CFLAGS = -pipe -O2 -m486 -Wall
-LFLAGS = -L$(LIBDIR) -lqt
+CFLAGS += -Wall
+LFLAGS = -L$(LIBDIR) -lqt1
LEXTRA =
-CC = g++
+CXX ?= c++
+CC = ${CXX}
+MOC = ${X11BASE}/bin/moc1
####### Files
@@ -75,7 +74,7 @@
doc:
../h2html-1.0/h2html $(HEADERS)
-
+
srctar:
make veryclean
make doc
@@ -100,77 +99,7 @@
####### Meta objects
mPPPStats.C: PPPStats.H
- moc -o mPPPStats.C PPPStats.H
+ ${MOC} -o mPPPStats.C PPPStats.H
mMainWindow.C: MainWindow.H
- moc -o mMainWindow.C MainWindow.H
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-pppload.o: /usr/lib/qt/include/qapp.h /usr/lib/qt/include/qwidget.h
-pppload.o: /usr/lib/qt/include/qwindefs.h /usr/lib/qt/include/qobjdefs.h
-pppload.o: /usr/lib/qt/include/qglobal.h /usr/lib/qt/include/qobject.h
-pppload.o: /usr/lib/qt/include/qstring.h /usr/lib/qt/include/qarray.h
-pppload.o: /usr/lib/qt/include/qgarray.h /usr/lib/qt/include/qshared.h
-pppload.o: /usr/lib/qt/include/qgeneric.h /usr/include/string.h
-pppload.o: /usr/include/features.h /usr/include/sys/cdefs.h
-pppload.o: /usr/lib/gcc-lib/i486-linux/2.7.2/include/stddef.h
-pppload.o: /usr/lib/qt/include/qevent.h /usr/lib/qt/include/qrect.h
-pppload.o: /usr/lib/qt/include/qsize.h /usr/lib/qt/include/qpoint.h
-pppload.o: /usr/lib/qt/include/qpaintd.h /usr/lib/qt/include/qpalette.h
-pppload.o: /usr/lib/qt/include/qcolor.h /usr/lib/qt/include/qcursor.h
-pppload.o: /usr/lib/qt/include/qfont.h /usr/lib/qt/include/qfontmet.h
-pppload.o: /usr/lib/qt/include/qfontinf.h PPPStats.H MainWindow.H
-pppload.o: /usr/lib/qt/include/qpixmap.h Options.H
-PPPStats.o: /usr/include/stdlib.h /usr/include/features.h
-PPPStats.o: /usr/include/sys/cdefs.h
-PPPStats.o: /usr/lib/gcc-lib/i486-linux/2.7.2/include/stddef.h
-PPPStats.o: /usr/include/errno.h /usr/include/linux/errno.h
-PPPStats.o: /usr/include/asm/errno.h /usr/include/alloca.h
-PPPStats.o: /usr/include/stdio.h /usr/include/libio.h
-PPPStats.o: /usr/include/_G_config.h /usr/include/sys/ioctl.h
-PPPStats.o: /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h
-PPPStats.o: /usr/include/sys/termios.h /usr/include/sys/socketio.h
-PPPStats.o: /usr/include/linux/sockios.h /usr/include/asm/sockios.h
-PPPStats.o: /usr/include/sys/socket.h /usr/include/linux/socket.h
-PPPStats.o: /usr/include/asm/socket.h /usr/include/linux/uio.h
-PPPStats.o: /usr/include/sys/types.h /usr/include/linux/types.h
-PPPStats.o: /usr/include/linux/posix_types.h /usr/include/asm/posix_types.h
-PPPStats.o: /usr/include/asm/types.h /usr/include/sys/bitypes.h
-PPPStats.o: /usr/include/net/if.h /usr/include/linux/if.h
-PPPStats.o: /usr/include/linux/ppp_defs.h PPPStats.H
-PPPStats.o: /usr/lib/qt/include/qobject.h /usr/lib/qt/include/qobjdefs.h
-PPPStats.o: /usr/lib/qt/include/qglobal.h /usr/lib/qt/include/qstring.h
-PPPStats.o: /usr/lib/qt/include/qarray.h /usr/lib/qt/include/qgarray.h
-PPPStats.o: /usr/lib/qt/include/qshared.h /usr/lib/qt/include/qgeneric.h
-PPPStats.o: /usr/include/string.h /usr/lib/qt/include/qevent.h
-PPPStats.o: /usr/lib/qt/include/qwindefs.h /usr/lib/qt/include/qrect.h
-PPPStats.o: /usr/lib/qt/include/qsize.h /usr/lib/qt/include/qpoint.h
-PPPStats.o: Options.H /usr/lib/qt/include/qcolor.h
-MainWindow.o: /usr/lib/qt/include/qpainter.h /usr/lib/qt/include/qpaintd.h
-MainWindow.o: /usr/lib/qt/include/qwindefs.h /usr/lib/qt/include/qobjdefs.h
-MainWindow.o: /usr/lib/qt/include/qglobal.h /usr/lib/qt/include/qrect.h
-MainWindow.o: /usr/lib/qt/include/qsize.h /usr/lib/qt/include/qpoint.h
-MainWindow.o: /usr/lib/qt/include/qcolor.h /usr/lib/qt/include/qfontmet.h
-MainWindow.o: /usr/lib/qt/include/qfont.h /usr/lib/qt/include/qstring.h
-MainWindow.o: /usr/lib/qt/include/qarray.h /usr/lib/qt/include/qgarray.h
-MainWindow.o: /usr/lib/qt/include/qshared.h /usr/lib/qt/include/qgeneric.h
-MainWindow.o: /usr/include/string.h /usr/include/features.h
-MainWindow.o: /usr/include/sys/cdefs.h
-MainWindow.o: /usr/lib/gcc-lib/i486-linux/2.7.2/include/stddef.h
-MainWindow.o: /usr/lib/qt/include/qfontinf.h /usr/lib/qt/include/qregion.h
-MainWindow.o: /usr/lib/qt/include/qpen.h /usr/lib/qt/include/qbrush.h
-MainWindow.o: /usr/lib/qt/include/qpntarry.h /usr/lib/qt/include/qwmatrix.h
-MainWindow.o: MainWindow.H /usr/lib/qt/include/qwidget.h
-MainWindow.o: /usr/lib/qt/include/qobject.h /usr/lib/qt/include/qevent.h
-MainWindow.o: /usr/lib/qt/include/qpalette.h /usr/lib/qt/include/qcursor.h
-MainWindow.o: /usr/lib/qt/include/qpixmap.h Options.H
-Options.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h
-Options.o: Options.H /usr/lib/qt/include/qcolor.h
-Options.o: /usr/lib/qt/include/qwindefs.h /usr/lib/qt/include/qobjdefs.h
-Options.o: /usr/lib/qt/include/qglobal.h /usr/lib/qt/include/qstring.h
-Options.o: /usr/lib/qt/include/qarray.h /usr/lib/qt/include/qgarray.h
-Options.o: /usr/lib/qt/include/qshared.h /usr/lib/qt/include/qgeneric.h
-Options.o: /usr/include/string.h /usr/include/features.h
-Options.o: /usr/include/sys/cdefs.h
-Options.o: /usr/lib/gcc-lib/i486-linux/2.7.2/include/stddef.h
+ ${MOC} -o mMainWindow.C MainWindow.H

View file

@ -0,0 +1,36 @@
--- Options.C.orig Tue Sep 10 18:55:27 1996
+++ Options.C Sat Feb 26 17:06:11 2000
@@ -26,6 +26,7 @@
Options::Options( int argc, char* argv[] )
: _divider( 512 ), _interval( 5 ), _link( 0 ), _period( 60 ), _retry( 60 ), _showTx( true ), _showRx( true ), _txColor( "forestgreen" ), _rxColor( "red" )
{
+ strcpy(_device, "tun");
for ( int i = 1; i < argc; i++ ) {
if ( !strcmp( argv[i], "-cmd" ) ) {
_cmd = argv[++i];
@@ -33,6 +34,8 @@
sscanf( argv[++i], "%d", &_divider );
} else if ( !strcmp( argv[i], "-i" ) ) {
sscanf( argv[++i], "%d", &_interval );
+ } else if ( !strcmp( argv[i], "-device" ) ) {
+ strcpy(_device,argv[++i]);
} else if ( !strcmp( argv[i], "-link" ) ) {
sscanf( argv[++i], "%d", &_link );
} else if ( !strcmp( argv[i], "-p" ) ) {
@@ -60,6 +63,7 @@
fprintf( stderr, "-d n Horizontal divider spacing in bytes per second (default: %d).\n", divider() );
fprintf( stderr, "-h Print this help.\n" );
fprintf( stderr, "-i interval Set the polling interval to be 'interval' seconds (default: %d).\n", interval() );
+ fprintf( stderr, "-device name Name of the device to monitor (default is tun). \n");
fprintf( stderr, "-link link The PPP link number to monitor (default: %d).\n", link() );
fprintf( stderr, "-p period Set the load averaging period to be 'period seconds (default: %d).\n", period() );
fprintf( stderr, "-retry interval Time between retries when dialling PPP link (default: %d).\n", retry() );
@@ -74,7 +78,7 @@
fprintf( stderr, "pppload comes with ABSOLUTELY NO WARRANTY; for details see the LICENSE file.\n" );
fprintf( stderr, "This is free software, and you are welcome to redistribute it\n" );
fprintf( stderr, "under certain conditions; see the LICENSE file for details.\n" );
-
+ fprintf( stderr, "Modified for FreeBSD 1998 \n");
exit( 1 );
}
}

View file

@ -0,0 +1,27 @@
diff -u --new-file pppload-1.0/Options.H ./Options.H
--- pppload-1.0/Options.H Tue Sep 10 16:53:36 1996
+++ ./Options.H Thu Jan 29 21:12:01 1998
@@ -31,6 +31,8 @@
int _divider;
//: Statistics polling interval in seconds.
int _interval;
+ //: Network device to monitor
+ char _device[4];
//: PPP link number to monitor.
int _link;
//: Load averaging interval in seconds.
@@ -49,9 +51,12 @@
//: Extract command line opotions from argc and argv.
Options( int argc, char* argv[] );
- //: Return the PPP command.
- QString& cmd() { return _cmd; }
+ //: Return the PPP command.
+ QString& cmd() { return _cmd; }
+ //: Return the name of the device being monitored
+ char * device() { return _device; }
+
//: Return the spacing between horizontal dividers.
int divider() { return _divider; }

115
net/pppload/files/patch-ad Normal file
View file

@ -0,0 +1,115 @@
diff -u --new-file pppload-1.0/PPPStats.C ./PPPStats.C
--- pppload-1.0/PPPStats.C Wed Sep 11 19:50:13 1996
+++ ./PPPStats.C Fri Jan 30 20:16:04 1998
@@ -19,16 +19,22 @@
extern "C" {
#include <stdlib.h>
-#include <errno.h>
#include <stdio.h>
+#include <sys/types.h>
+#include <sys/select.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
-#include <net/if.h>
-#include <linux/ppp_defs.h>
+#include <sys/time.h>
+#include <net/if.h>
+#include <net/if_ppp.h>
}
#include "PPPStats.H"
#include "Options.H"
+#include <iostream.h>
+
+void get_command(char *);
+char command[200];
typedef struct
{
@@ -53,38 +59,42 @@
system( (const char*)options->cmd() );
}
- DclPPPInfo PPPInfo[1];
- struct ifreq ifreq;
+ DclPPPInfo PPPInfo[1];
+ struct ifpppstatsreq ifreq;
struct ppp_stats* PPPStat;
- struct ppp_stats LastPPPStat[1];
-
- memset (& ifreq, 0, sizeof (ifreq));
- sprintf (ifreq.ifr_ifrn.ifrn_name, "ppp%d", options->link());
+ struct ppp_stats LastPPPStat[1];
- ifreq.ifr_ifru.ifru_data = (caddr_t) PPPInfo;
+ memset (&ifreq, 0, sizeof (ifreq));
+ sprintf (ifreq.ifr_name, "%s%d",(const char*)options->device(),options->link());
+
PPPStat = & PPPInfo->stats;
memset (LastPPPStat, 0, sizeof (LastPPPStat));
- if ( (ioctl (_s, SIOCDEVPRIVATE, (caddr_t) & ifreq) < 0) ||
- ( _isUp && ( PPPStat->p.ppp_ibytes < _rxTotal ) ) ||
- ( !_isUp && ( PPPStat->p.ppp_ibytes == 0 ) )
- ) {
- if ( _isUp ) {
- _isUp = false;
- emit linkDown();
- if ( options->cmd().length() ) {
- _retryId = startTimer( options->retry() * 1000 );
- system( (const char*)options->cmd() );
- }
- }
- PPPStat->p.ppp_ibytes = 0;
- PPPStat->p.ppp_obytes = 0;
+ get_command(ifreq.ifr_name);
+ FILE * fptr;
+ fptr=popen(command,"r+");
+ fscanf(fptr,"%u%u",&PPPStat->p.ppp_ibytes,&PPPStat->p.ppp_obytes);
+ pclose(fptr);
+
+ if ( ( _isUp && ( PPPStat->p.ppp_ibytes < _rxTotal ) ) ||
+ ( !_isUp && ( PPPStat->p.ppp_ibytes == 0 ))
+ ) {
+ if ( _isUp ) {
+ _isUp = false;
+ emit linkDown();
+ if ( options->cmd().length() ) {
+ _retryId = startTimer( options->retry() * 1000 );
+ system( (const char*)options->cmd() );
+ }
+ }
+ PPPStat->p.ppp_ibytes = 0;
+ PPPStat->p.ppp_obytes = 0;
} else if ( !_isUp ) {
- _isUp = true;
- killTimer( _retryId );
- _retryId = -1;
+ _isUp = true;
+ killTimer( _retryId );
+ _retryId = -1;
}
-
+
unsigned int rxDelta = PPPStat->p.ppp_ibytes - _rxTotal;
unsigned int txDelta = PPPStat->p.ppp_obytes - _txTotal;
_rxTotal = PPPStat->p.ppp_ibytes;
@@ -92,4 +102,17 @@
if ( rxDelta == _rxTotal ) rxDelta = 0;
if ( txDelta == _txTotal ) txDelta = 0;
emit changeStats( rxDelta, txDelta, _rxTotal, _txTotal );
+
+}
+
+void get_command(char * interface) {
+ /*"/usr/bin/netstat -b -I tun0 | /usr/bin/grep Link | awk '{print $(NF-4),$(NF-1)}' */
+ const char * netstat_command ="/usr/bin/netstat -n -b -I ";
+ const char * grep_command =" | /usr/bin/grep Link | /usr/bin/awk '{print $(NF-4),$(NF-1)}'";
+ command[0]='\0';
+ strcat(command,netstat_command);
+ strcat(command,interface);
+ strcat(command,grep_command);
}
+
+

124
net/pppload/files/patch-ae Normal file
View file

@ -0,0 +1,124 @@
diff -u --new-file pppload-1.0/PPPStats.C.ppp ./PPPStats.C.ppp
--- pppload-1.0/PPPStats.C.ppp Wed Dec 31 16:00:00 1969
+++ ./PPPStats.C.ppp Wed Jan 28 18:27:30 1998
@@ -0,0 +1,120 @@
+// pppload - A PPP Load Monitor
+// Copyright (C) 1996 Sean Vyain
+// svyain@mail.tds.net
+// smvyain@softart.com
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+extern "C" {
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/select.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <net/if.h>
+#include <net/if_ppp.h>
+#include <net/if_var.h>
+#include <net/if_tun.h>
+}
+
+#include "PPPStats.H"
+#include "Options.H"
+#include <iostream.h>
+
+
+typedef struct
+{
+ struct ppp_stats stats;
+} DclPPPInfo;
+
+PPPStats::PPPStats()
+: _rxTotal( 0 ), _txTotal( 0 ), _isUp( true ), _retryId( -1 )
+{
+ if ((_s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+ perror("couldn't create IP socket");
+ exit(1);
+ }
+
+ startTimer( options->interval() * 1000 );
+}
+
+void PPPStats::timerEvent( QTimerEvent* e )
+{
+ if ( e->timerId() == _retryId )
+ {
+ system( (const char*)options->cmd() );
+ }
+
+ DclPPPInfo PPPInfo[1]; // what is this var for?
+ struct ifpppstatsreq ifreq; // ifreq ifreq;
+ struct ppp_stats* PPPStat;
+ struct ppp_stats LastPPPStat[1]; // what is this var for?
+
+ memset (&ifreq, 0, sizeof (ifreq));
+// sprintf (ifreq.ifr_ifrn.ifrn_name, "ppp%d", options->link());
+ sprintf (ifreq.ifr_name, "tun%d", options->link());
+
+// ifreq.ifr_ifru.ifru_data = (caddr_t) PPPInfo;
+
+ PPPStat = & PPPInfo->stats;
+ memset (LastPPPStat, 0, sizeof (LastPPPStat));
+
+
+
+// if ( (ioctl (_s, SIOCDEVPRIVATE, (caddr_t) & ifreq) < 0) ||
+// ( _isUp && ( PPPStat->p.ppp_ibytes < _rxTotal ) ) ||
+// ( !_isUp && ( PPPStat->p.ppp_ibytes == 0 ) )
+ if ( (ioctl (_s, SIOCGPPPSTATS , &ifreq) < 0) ||
+ ( _isUp && ( ifreq.stats.p.ppp_ibytes < _rxTotal ) ) ||
+ ( !_isUp && ( ifreq.stats.p.ppp_ibytes == 0 ))
+ ) {
+ if ( _isUp ) {
+ _isUp = false;
+ emit linkDown();
+ if ( options->cmd().length() ) {
+ _retryId = startTimer( options->retry() * 1000 );
+ system( (const char*)options->cmd() );
+ }
+ }
+ PPPStat->p.ppp_ibytes = 0;
+ PPPStat->p.ppp_obytes = 0;
+ } else if ( !_isUp ) {
+ _isUp = true;
+ killTimer( _retryId );
+ _retryId = -1;
+ }
+
+ PPPStat->p.ppp_ibytes=ifreq.stats.p.ppp_ibytes;
+ PPPStat->p.ppp_obytes=ifreq.stats.p.ppp_obytes;
+
+
+cout<<ifreq.stats.p.ppp_ibytes<<" "<<ifreq.stats.p.ppp_ipackets<<" "
+ <<ifreq.stats.p.ppp_ierrors<<" "<<ifreq.stats.p.ppp_obytes <<" "
+ <<ifreq.stats.p.ppp_opackets<<" "<<ifreq.stats.p.ppp_oerrors<<endl
+ <<PPPStat->p.ppp_ibytes<<" "<<PPPStat->p.ppp_ipackets<<" "
+ <<PPPStat->p.ppp_ierrors<<" "<<PPPStat->p.ppp_obytes <<" "
+ <<PPPStat->p.ppp_opackets<<" "<<PPPStat->p.ppp_oerrors<<endl;
+ unsigned int rxDelta = PPPStat->p.ppp_ibytes - _rxTotal;
+ unsigned int txDelta = PPPStat->p.ppp_obytes - _txTotal;
+ _rxTotal = PPPStat->p.ppp_ibytes;
+ _txTotal = PPPStat->p.ppp_obytes;
+ if ( rxDelta == _rxTotal ) rxDelta = 0;
+ if ( txDelta == _txTotal ) txDelta = 0;
+ emit changeStats( rxDelta, txDelta, _rxTotal, _txTotal );
+
+}
+

View file

@ -0,0 +1,49 @@
diff -u --new-file pppload-1.0/README.freebsd ./README.freebsd
--- pppload-1.0/README.freebsd Wed Dec 31 16:00:00 1969
+++ ./README.freebsd Fri Jan 30 20:14:36 1998
@@ -0,0 +1,45 @@
+PPPLoad is designed to display the current throughput of a particular
+PPP link in a format that is similar to xload. Written by Sean Vyain.
+
+This is a FreeBSD port of the linux program called pppload, available at
+http://sunsite.unc.edu/pub/Linux/system/network/serial/ppp/pppload-1.0.tar.gz
+
+Original program homepage at:
+http://www.geocities.com/SiliconValley/Pines/1029/pppload.html
+
+I have modified the FreeBSD port to be able to show the throughput of
+any network device that will work with netstat, e.g. tun, ppp, ed,
+etc. I just wanted a program to nicely display throughput
+statistics for the tun device.
+
+ Examples of usage:
+For tun0 (tun is the default device,0 is the default link number):
+% pppload &
+
+For first ne2000 clone:
+% pppload -device ed -link 0 &
+
+for ppp2:
+% pppload -device ppp -link 2 &
+
+BUGS
+Command line is awkward with -device and -link.
+
+Can't detect whether the network device is up or not, so any command
+line options like -cmd -percmd -retry probably don't work. This is
+different that the original linux version.
+
+Keeps track of all packets network device has ever used, even if it
+has gone down then up again. This is also different than the linux
+version.
+
+Requires awk, grep, and netstat to get the data. Very short polling
+time are definitely not recommended.
+
+Network interface names are limited to a total of 4 characters or less
+at the moment, e.g. ppp0 ed3 ze1.
+
+
+Documentation of this FreeBSD port is not complete.
+
+

View file

@ -0,0 +1,64 @@
diff -u --new-file pppload-1.0/pppload.1 ./pppload.1
--- pppload-1.0/pppload.1 Tue Sep 10 16:56:20 1996
+++ ./pppload.1 Fri Jan 30 21:35:55 1998
@@ -3,7 +3,7 @@
pppload \- display an xload-style graph of PPP activity
.SH SYNOPSIS
.B pppload
-[\-cmd ppp_cmd] [\-i interval] [\-p period] [\-retry interval] [\-rx] [\-norx]
+[\-cmd ppp_cmd] [\-i interval] [\-device name] [\-p period] [\-retry interval] [\-rx] [\-norx]
[\-rxcolor color] [\-tx] [\-notx] [\-txcolor color]
.SH DESCRIPTION
.BR pppload
@@ -28,6 +28,9 @@
.I "\-h"
Print command line usage.
.TP
+.I "\-device name"
+Network device to monitor (default: tun)
+.TP
.I "\-i interval"
The statistics polling interval in seconds (default: 5).
.TP
@@ -60,3 +63,41 @@
The name of the color to draw transmit rates in (default: red).
.SH AUTHOR
Sean Vyain <svyain@mail.tds.net, smvyain@softart.com>
+www.geocities.com/SiliconValley/Pines/1029/pppload.html
+
+.SH FREEBSD PORT
+Examples of usage for the FreeBSD port:
+
+For tun0 (tun is the default device,0 is the default link number):
+
+% pppload &
+
+For the first ne2000 ethernet card:
+
+% pppload -device ed -link 0 &
+
+for the third ppp device:
+
+% pppload -device ppp -link 2 &
+
+.SH BUGS
+The port to FreeBSD can't determine when the link is up or down, so
+some of the command line options like
+.I "\-cmd"
+.I "\-percmd"
+may not work.
+
+Command line is awkward with -device and -link.
+
+Keeps track of all packets network device has ever used, even if it
+has gone down then up again. This is different than the linux
+version.
+
+Requires awk, grep, and netstat to get the data. Very short polling
+times are definitely not recommended.
+
+Network interface names are limited to a total of 4 characters or less
+at the moment, e.g. ppp0 ed3 ze1.
+
+
+Modified January 1998

1
net/pppload/pkg-comment Normal file
View file

@ -0,0 +1 @@
Display the current throughput of a network device in a window

3
net/pppload/pkg-descr Normal file
View file

@ -0,0 +1,3 @@
This is a port of pppload, in which the current throughput of a network
device is displayed in a x-window. Any network device whose statistics
can be accessed through netstat can be displayed in a nicely colored graph.

1
net/pppload/pkg-plist Normal file
View file

@ -0,0 +1 @@
bin/pppload