]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/sys-NeXT.c
Fix the rcsid's for non-ansi compilers
[ppp.git] / pppd / sys-NeXT.c
index 830213652d8a9ca55219d8633380560a774e5fe5..8df34e55b9f51be0ae96aeb7e69a36f63ecbf4bb 100644 (file)
@@ -19,9 +19,7 @@
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] = "$Id: sys-NeXT.c,v 1.13 1999/03/16 02:57:05 paulus Exp $";
-#endif
+#define RCSID  "$Id: sys-NeXT.c,v 1.20 1999/08/13 06:46:17 paulus Exp $"
 
 #include <stdio.h>
 #include <termios.h>
@@ -58,6 +56,8 @@ static char rcsid[] = "$Id: sys-NeXT.c,v 1.13 1999/03/16 02:57:05 paulus Exp $";
 
 #include "pppd.h"
 
+static const char rcsid[] = RCSID;
+
 static int initdisc = -1;      /* Initial TTY discipline */
 static int initfdflags = -1;   /* Initial file descriptor flags for fd */
 static int ppp_fd = -1;                /* fd which is set to PPP discipline */
@@ -73,8 +73,6 @@ extern int errno;
 static int     restore_term;   /* 1 => we've munged the terminal */
 static struct termios inittermios; /* Initial TTY termios */
 
-static char *lock_file;
-
 static int sockfd;             /* socket for doing interface ioctls */
 static int pppdev;  /* +++ */
 
@@ -125,7 +123,7 @@ sys_cleanup()
     struct ifreq ifr;
 
     if (if_is_up) {
-       strlcpy(ifr.ifr_name, sizeof(ifr.ifr_name), ifname);
+       strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
        if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) >= 0
            && ((ifr.ifr_flags & IFF_UP) != 0)) {
            ifr.ifr_flags &= ~IFF_UP;
@@ -141,20 +139,6 @@ sys_cleanup()
     close(pppdev);
 }
 
-/*
- * note_debug_level - note a change in the debug level.
- */
-void
-note_debug_level()
-{
-    if (debug) {
-       info("Debug turned ON, Level %d", debug);
-       setlogmask(LOG_UPTO(LOG_DEBUG));
-    } else {
-       setlogmask(LOG_UPTO(LOG_WARNING));
-    }
-}
-
 /*
  * ppp_available - check whether the system has any ppp interfaces
  * (in fact we check whether we can do an ioctl on ppp0).
@@ -169,7 +153,7 @@ ppp_available()
     if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
        return 1;               /* can't tell - maybe we're not root */
 
-    strlcpy(ifr.ifr_name, sizeof (ifr.ifr_name), "ppp0");
+    strlcpy(ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
     ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
     close(s);
 
@@ -184,7 +168,7 @@ file in the ppp-2.2 distribution.\n";
 /*
  * establish_ppp - Turn the serial port into a ppp interface.
  */
-void
+int
 establish_ppp(fd)
     int fd;
 {
@@ -224,6 +208,7 @@ establish_ppp(fd)
        warn("Couldn't set device to non-blocking mode: %m");
     }
 
+    return fd;
 }
 
 
@@ -554,7 +539,8 @@ wait_input(timo)
 /*
  * add_fd - add an fd to the set that wait_input waits for.
  */
-void add_fd(int fd)
+void add_fd(fd)
+    int fd;
 {
     FD_SET(fd, &in_fds);
     if (fd > max_in_fd)
@@ -564,7 +550,8 @@ void add_fd(int fd)
 /*
  * remove_fd - remove an fd from the set that wait_input waits for.
  */
-void remove_fd(int fd)
+void remove_fd(fd)
+    int fd;
 {
     FD_CLR(fd, &in_fds);
 }
@@ -602,7 +589,7 @@ ppp_send_config(unit, mtu, asyncmap, pcomp, accomp)
     u_int x;
     struct ifreq ifr;
 
-    strlcpy(ifr.ifr_name, sizeof (ifr.ifr_name), ifname);
+    strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
     ifr.ifr_mtu = mtu;
     if (ioctl(sockfd, SIOCSIFMTU, (caddr_t) &ifr) < 0)
        fatal("ioctl(SIOCSIFMTU): %m");
@@ -753,7 +740,7 @@ sifup(u)
     u_int x;
     struct npioctl npi;
 
-    strlcpy(ifr.ifr_name, sizeof (ifr.ifr_name), ifname);
+    strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
     if (ioctl(sockfd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
        error("ioctl (SIOCGIFFLAGS): %m");
        return 0;
@@ -804,7 +791,7 @@ sifdown(u)
     /* ignore errors, because ttyfd might have been closed by now. */
 
 
-    strlcpy(ifr.ifr_name, sizeof (ifr.ifr_name), ifname);
+    strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
     if (ioctl(sockfd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
        error("ioctl (SIOCGIFFLAGS): %m");
        rv = 0;
@@ -839,7 +826,7 @@ sifaddr(u, o, h, m)
     struct ifreq ifr;
 
     ret = 1;
-    strlcpy(ifr.ifr_name, sizeof(ifr.ifr_name), ifname);
+    strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
     SET_SA_FAMILY(ifr.ifr_addr, AF_INET);
     ((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr.s_addr = o;
     if (ioctl(sockfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
@@ -1028,7 +1015,7 @@ get_ether_addr(ipaddr, hwaddr)
                ((char *)&ifr->ifr_addr + sizeof(struct sockaddr))) {
        if (ifr->ifr_addr.sa_family == AF_INET) {
            ina = ((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr.s_addr;
-           strlcpy(ifreq.ifr_name, sizeof(ifreq.ifr_name), ifr->ifr_name);
+           strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
            /*
             * Check that the interface is up, and not point-to-point
             * or loopback.
@@ -1101,7 +1088,7 @@ ether_by_host(hostname, etherptr)
     /*
      * Now we can convert the returned string into an ethernet address.
      */
-    strlcpy(path, sizeof(path), val.ni_namelist_val[0]);
+    strlcpy(path, val.ni_namelist_val[0], sizeof(path));
     ni_free(conn);
     if ((thisptr = (struct ether_addr*)ether_aton(path)) == NULL)
        return 1;
@@ -1161,7 +1148,7 @@ GetMask(addr)
        /*
         * Check that the interface is up, and not point-to-point or loopback.
         */
-       strlcpy(ifreq.ifr_name, sizeof(ifreq.ifr_name), ifr->ifr_name);
+       strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
        if (ioctl(sockfd, SIOCGIFFLAGS, &ifreq) < 0)
            continue;
        if ((ifreq.ifr_flags & (IFF_UP|IFF_POINTOPOINT|IFF_LOOPBACK))
@@ -1189,7 +1176,7 @@ int have_route_to(u_int32_t addr)
     return -1;
 }
 
-
+#if 0
 /*
  * daemon - Detach us from the terminal session.
  */
@@ -1213,7 +1200,7 @@ daemon(nochdir, noclose)
     }
     return 0;
 }
-
+#endif
 
 char *
 strdup(s)
@@ -1257,9 +1244,9 @@ logwtmp(line, name, host)
     if ((fd = open(WTMPFILE, O_WRONLY|O_APPEND, 0)) < 0)
        return;
     if (!fstat(fd, &buf)) {
-       strlcpy(ut.ut_line, sizeof(ut.ut_line), line);
-       strlcpy(ut.ut_name, sizeof(ut.ut_name), name);
-       strlcpy(ut.ut_host, sizeof(ut.ut_host), host);
+       strncpy(ut.ut_line, line, sizeof(ut.ut_line));
+       strncpy(ut.ut_name, name, sizeof(ut.ut_name));
+       strncpy(ut.ut_host, host, sizeof(ut.ut_host));
        (void)time(&ut.ut_time);
        if (write(fd, (char *)&ut, sizeof(struct utmp)) != sizeof(struct utmp))
            (void)ftruncate(fd, buf.st_size);
@@ -1267,6 +1254,7 @@ logwtmp(line, name, host)
     close(fd);
 }
 
+#if 0
 /*
  * Routines for locking and unlocking the serial device, moved here
  * from chat.c.
@@ -1274,6 +1262,8 @@ logwtmp(line, name, host)
 
 #define LOCK_PREFIX    "/usr/spool/uucp/LCK/LCK.."
 
+static char *lock_file;
+
 /*
  * lock - create a lock file for the named device
  */
@@ -1342,6 +1332,7 @@ unlock()
        lock_file = NULL;
     }
 }
+#endif
 
 #if defined(i386) && defined(HAS_BROKEN_IOCTL)
 int
@@ -1460,6 +1451,27 @@ get_idle_time(u, ip)
   return (ioctl(ttyfd, PPPIOCGIDLE, ip) >= 0); 
 }
 
+/*
+ * get_ppp_stats - return statistics for the link.
+ */
+int
+get_ppp_stats(u, stats)
+    int u;
+    struct pppd_stats *stats;
+{
+    struct ifpppstatsreq req;
+
+    memset (&req, 0, sizeof (req));
+    strlcpy(req.ifr_name, interface, sizeof(req.ifr_name));
+    if (ioctl(sockfd, SIOCGPPPSTATS, &req) < 0) {
+       error("Couldn't get PPP statistics: %m");
+       return 0;
+    }
+    stats->bytes_in = req.stats.p.ppp_ibytes;
+    stats->bytes_out = req.stats.p.ppp_obytes;
+    return 1;
+}
+
 
 /*
  * get_loop_output - read characters from the loopback, form them
@@ -1516,7 +1528,7 @@ sifnpmode(u, proto, mode)
  * packets in demand mode, and connect it to a ppp interface.
  * Here we use a pty.
  */
-void
+int
 open_ppp_loopback()
 {
 
@@ -1568,6 +1580,7 @@ open_ppp_loopback()
        }
     }
 
+    return loop_master;
 #endif
 
 }