*/
#ifndef lint
-static char rcsid[] = "$Id: main.c,v 1.2 1993/11/23 23:40:53 paulus Exp $";
+static char rcsid[] = "$Id: main.c,v 1.3 1993/12/14 05:16:01 paulus Exp $";
#endif
#define SETSID
pid = getpid();
+ if (!ppp_available()) {
+ fprintf(stderr, "Sorry - PPP is not available on this system\n");
+ exit(1);
+ }
+
/*
* Initialize to the standard option set, then parse, in order,
* the system options file, the user's options file, and the command
* TODO:
*/
+#include <stdio.h>
#include <errno.h>
#include <syslog.h>
+#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
} str_modules[MAXMODULES];
static int str_module_count = 0;
-extern int hungup;
+extern int hungup; /* has the physical layer been disconnected? */
+
+/*
+ * ppp_available - check if this kernel supports PPP.
+ */
+int
+ppp_available()
+{
+ int fd, ret;
+
+ fd = open("/dev/tty", O_RDONLY, 0);
+ if (fd < 0)
+ return 1; /* can't find out - assume we have ppp */
+ ret = ioctl(fd, I_FIND, "pppasync") >= 0;
+ close(fd);
+ return ret;
+}
+
/*
* establish_ppp - Turn the serial port into a ppp interface.