define alloca for SunOS
[ppp.git] / pppstats / pppstats.c
index 2149f2567a4665d1b8061b82f4eeba861a0e7f11..3388f7978a12acbf841c28a7ccad1bc802c1ada5 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: pppstats.c,v 1.14 1996/07/01 05:32:57 paulus Exp $";
+static char rcsid[] = "$Id: pppstats.c,v 1.16 1996/09/14 05:13:25 paulus Exp $";
 #endif
 
 #include <stdio.h>
@@ -71,6 +71,11 @@ int  signalled;              /* set if alarm goes off "early" */
 char   *progname;
 char   *interface;
 
+#if defined(SUNOS4)
+extern int optind;
+extern char *optarg;
+#endif
+
 void
 usage()
 {
@@ -397,6 +402,9 @@ main(argc, argv)
     char *argv[];
 {
     int c;
+#ifdef STREAMS
+    char *dev;
+#endif
 
     interface = "ppp0";
     if ((progname = strrchr(argv[0], '/')) == NULL)
@@ -467,6 +475,11 @@ main(argc, argv)
            perror("couldn't create IP socket");
            exit(1);
        }
+
+#ifdef _linux_
+#undef  ifr_name
+#define ifr_name ifr_ifrn.ifrn_name
+#endif
        strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name));
        if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&ifr) < 0) {
            fprintf(stderr, "%s: nonexistent interface '%s' specified\n",
@@ -476,9 +489,14 @@ main(argc, argv)
     }
 
 #else  /* STREAMS */
-    if ((s = open("/dev/ppp", O_RDONLY)) < 0) {
-       fprintf(stderr, "%s: ", progname);
-       perror("couldn't open /dev/ppp");
+#ifdef __osf__
+    dev = "/dev/streams/ppp";
+#else
+    dev = "/dev/ppp";
+#endif
+    if ((s = open(dev, O_RDONLY)) < 0) {
+       fprintf(stderr, "%s: couldn't open ", progname);
+       perror(dev);
        exit(1);
     }
     if (strioctl(s, PPPIO_ATTACH, &unit, sizeof(int), 0) < 0) {