]> git.ozlabs.org Git - ppp.git/blobdiff - pppstats/pppstats.c
pppd man page: Update header to refer to pppd 2.5.x
[ppp.git] / pppstats / pppstats.c
index 843f7eaa6247e37b64bfe049b67df2f04edf839d..22d1154637c8f850bdad25db45dc6cc967e3280e 100644 (file)
@@ -62,7 +62,6 @@ static const char rcsid[] = "$Id: pppstats.c,v 1.29 2002/10/27 12:56:26 fcusack
 #ifndef __linux__
 #include <net/if.h>
 #include <net/ppp_defs.h>
-#include <net/if_ppp.h>
 #else
 /* Linux */
 #if __GLIBC__ >= 2
@@ -73,7 +72,8 @@ static const char rcsid[] = "$Id: pppstats.c,v 1.29 2002/10/27 12:56:26 fcusack
 #include <linux/if.h>
 #endif
 #include <linux/ppp_defs.h>
-#include <linux/if_ppp.h>
+#include <linux/ppp-ioctl.h>
+
 #endif /* __linux__ */
 
 #else  /* STREAMS */
@@ -106,16 +106,16 @@ extern char *optarg;
 #define PPP_DRV_NAME    "ppp"
 #endif /* !defined(PPP_DRV_NAME) */
 
-static void usage __P((void));
-static void catchalarm __P((int));
-static void get_ppp_stats __P((struct ppp_stats *));
-static void get_ppp_cstats __P((struct ppp_comp_stats *));
-static void intpr __P((void));
+static void usage(void);
+static void catchalarm(int);
+static void get_ppp_stats(struct ppp_stats *);
+static void get_ppp_cstats(struct ppp_comp_stats *);
+static void intpr(void);
 
-int main __P((int, char *argv[]));
+int main(int, char *argv[]);
 
 static void
-usage()
+usage(void)
 {
     fprintf(stderr, "Usage: %s [-a|-d] [-v|-r|-z] [-c count] [-w wait] [interface]\n",
            progname);
@@ -127,8 +127,7 @@ usage()
  * Sets a flag to not wait for the alarm.
  */
 static void
-catchalarm(arg)
-    int arg;
+catchalarm(int arg)
 {
     signalled = 1;
 }
@@ -136,18 +135,13 @@ catchalarm(arg)
 
 #ifndef STREAMS
 static void
-get_ppp_stats(curp)
-    struct ppp_stats *curp;
+get_ppp_stats(struct ppp_stats *curp)
 {
-    struct ifpppstatsreq req;
+    struct ifreq req;
 
     memset (&req, 0, sizeof (req));
 
-#ifdef __linux__
-    req.stats_ptr = (caddr_t) &req.stats;
-#undef ifr_name
-#define ifr_name ifr__name
-#endif
+    req.ifr_data = (caddr_t) curp;
 
     strncpy(req.ifr_name, interface, IFNAMSIZ);
     req.ifr_name[IFNAMSIZ - 1] = 0;
@@ -159,26 +153,21 @@ get_ppp_stats(curp)
            perror("couldn't get PPP statistics");
        exit(1);
     }
-    *curp = req.stats;
 }
 
 static void
-get_ppp_cstats(csp)
-    struct ppp_comp_stats *csp;
+get_ppp_cstats(struct ppp_comp_stats *csp)
 {
-    struct ifpppcstatsreq creq;
+    struct ifreq req;
+    struct ppp_comp_stats stats;
 
-    memset (&creq, 0, sizeof (creq));
+    memset (&req, 0, sizeof (req));
 
-#ifdef __linux__
-    creq.stats_ptr = (caddr_t) &creq.stats;
-#undef  ifr_name
-#define ifr_name ifr__name
-#endif
+    req.ifr_data = (caddr_t) &stats;
 
-    strncpy(creq.ifr_name, interface, IFNAMSIZ);
-    creq.ifr_name[IFNAMSIZ - 1] = 0;
-    if (ioctl(s, SIOCGPPPCSTATS, &creq) < 0) {
+    strncpy(req.ifr_name, interface, IFNAMSIZ);
+    req.ifr_name[IFNAMSIZ - 1] = 0;
+    if (ioctl(s, SIOCGPPPCSTATS, &req) < 0) {
        fprintf(stderr, "%s: ", progname);
        if (errno == ENOTTY) {
            fprintf(stderr, "no kernel compression support\n");
@@ -192,36 +181,32 @@ get_ppp_cstats(csp)
     }
 
 #ifdef __linux__
-    if (creq.stats.c.bytes_out == 0) {
-       creq.stats.c.bytes_out = creq.stats.c.comp_bytes + creq.stats.c.inc_bytes;
-       creq.stats.c.in_count = creq.stats.c.unc_bytes;
+    if (stats.c.bytes_out == 0) {
+       stats.c.bytes_out = stats.c.comp_bytes + stats.c.inc_bytes;
+       stats.c.in_count = stats.c.unc_bytes;
     }
-    if (creq.stats.c.bytes_out == 0)
-       creq.stats.c.ratio = 0.0;
+    if (stats.c.bytes_out == 0)
+       stats.c.ratio = 0.0;
     else
-       creq.stats.c.ratio = 256.0 * creq.stats.c.in_count /
-                            creq.stats.c.bytes_out;
+       stats.c.ratio = 256.0 * stats.c.in_count / stats.c.bytes_out;
 
-    if (creq.stats.d.bytes_out == 0) {
-       creq.stats.d.bytes_out = creq.stats.d.comp_bytes + creq.stats.d.inc_bytes;
-       creq.stats.d.in_count = creq.stats.d.unc_bytes;
+    if (stats.d.bytes_out == 0) {
+       stats.d.bytes_out = stats.d.comp_bytes + stats.d.inc_bytes;
+       stats.d.in_count = stats.d.unc_bytes;
     }
-    if (creq.stats.d.bytes_out == 0)
-       creq.stats.d.ratio = 0.0;
+    if (stats.d.bytes_out == 0)
+       stats.d.ratio = 0.0;
     else
-       creq.stats.d.ratio = 256.0 * creq.stats.d.in_count /
-                            creq.stats.d.bytes_out;
+       stats.d.ratio = 256.0 * stats.d.in_count / stats.d.bytes_out;
 #endif
 
-    *csp = creq.stats;
+    *csp = stats;
 }
 
 #else  /* STREAMS */
 
 int
-strioctl(fd, cmd, ptr, ilen, olen)
-    int fd, cmd, ilen, olen;
-    char *ptr;
+strioctl(int fd, int cmd, char *ptr, int ilen, int olen)
 {
     struct strioctl str;
 
@@ -238,10 +223,9 @@ strioctl(fd, cmd, ptr, ilen, olen)
 }
 
 static void
-get_ppp_stats(curp)
-    struct ppp_stats *curp;
+get_ppp_stats(struct ppp_stats *curp)
 {
-    if (strioctl(s, PPPIO_GETSTAT, curp, 0, sizeof(*curp)) < 0) {
+    if (strioctl(s, PPPIO_GETSTAT, (char*) curp, 0, sizeof(*curp)) < 0) {
        fprintf(stderr, "%s: ", progname);
        if (errno == EINVAL)
            fprintf(stderr, "kernel support missing\n");
@@ -252,10 +236,9 @@ get_ppp_stats(curp)
 }
 
 static void
-get_ppp_cstats(csp)
-    struct ppp_comp_stats *csp;
+get_ppp_cstats(struct ppp_comp_stats *csp)
 {
-    if (strioctl(s, PPPIO_GETCSTAT, csp, 0, sizeof(*csp)) < 0) {
+    if (strioctl(s, PPPIO_GETCSTAT, (char*) csp, 0, sizeof(*csp)) < 0) {
        fprintf(stderr, "%s: ", progname);
        if (errno == ENOTTY) {
            fprintf(stderr, "no kernel compression support\n");
@@ -287,7 +270,7 @@ get_ppp_cstats(csp)
  * First line printed is cumulative.
  */
 static void
-intpr()
+intpr(void)
 {
     register int line = 0;
     sigset_t oldmask, mask;
@@ -444,9 +427,7 @@ intpr()
 }
 
 int
-main(argc, argv)
-    int argc;
-    char *argv[];
+main(int argc, char *argv[])
 {
     int c;
 #ifdef STREAMS
@@ -548,7 +529,7 @@ main(argc, argv)
        perror(dev);
        exit(1);
     }
-    if (strioctl(s, PPPIO_ATTACH, &unit, sizeof(int), 0) < 0) {
+    if (strioctl(s, PPPIO_ATTACH, (char*) &unit, sizeof(int), 0) < 0) {
        fprintf(stderr, "%s: ppp%d is not available\n", progname, unit);
        exit(1);
     }