]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/pppd.h
pppd: Handle SIGINT and SIGTERM during interrupted syscalls (#148)
[ppp.git] / pppd / pppd.h
index 1a1bf0b99582fa323cb0ee587d79c248642a7896..f44fe016c82847b6f402a635329aa082eba5d897 100644 (file)
@@ -50,6 +50,8 @@
 #define __PPPD_H__
 
 #include <stdio.h>             /* for FILE */
+#include <stdlib.h>            /* for encrypt */
+#include <unistd.h>            /* for setkey */
 #include <limits.h>            /* for NGROUPS_MAX */
 #include <sys/param.h>         /* for MAXPATHLEN and BSD4_4, if defined */
 #include <sys/types.h>         /* for u_int32_t, if defined */
@@ -221,6 +223,7 @@ struct notifier {
  * Global variables.
  */
 
+extern int     got_sigterm;    /* SIGINT or SIGTERM was received */
 extern int     hungup;         /* Physical layer has disconnected */
 extern int     ifunit;         /* Interface unit number */
 extern char    ifname[];       /* Interface name */
@@ -295,6 +298,9 @@ extern int  inspeed;        /* Input/Output speed requested */
 extern u_int32_t netmask;      /* IP netmask to set on interface */
 extern bool    lockflag;       /* Create lock file to lock the serial dev */
 extern bool    nodetach;       /* Don't detach from controlling tty */
+#ifdef SYSTEMD
+extern bool    up_sdnotify;    /* Notify systemd once link is up (implies nodetach) */
+#endif
 extern bool    updetach;       /* Detach from controlling tty when link up */
 extern bool    master_detach;  /* Detach when multilink master without link */
 extern char    *initializer;   /* Script to initialize physical link */
@@ -680,6 +686,12 @@ int  sifdefaultroute __P((int, u_int32_t, u_int32_t));
                                /* Create default route through i/f */
 int  cifdefaultroute __P((int, u_int32_t, u_int32_t));
                                /* Delete default route through i/f */
+#ifdef INET6
+int  sif6defaultroute __P((int, eui64_t, eui64_t));
+                               /* Create default IPv6 route through i/f */
+int  cif6defaultroute __P((int, eui64_t, eui64_t));
+                               /* Delete default IPv6 route through i/f */
+#endif
 int  sifproxyarp __P((int, u_int32_t));
                                /* Add proxy ARP entry for peer */
 int  cifproxyarp __P((int, u_int32_t));
@@ -702,6 +714,8 @@ int  cipxfaddr __P((int));
 #endif
 int  get_if_hwaddr __P((u_char *addr, char *name));
 char *get_first_ethernet __P((void));
+int get_time __P((struct timeval *));
+                               /* Get current time, monotonic if possible. */
 
 /* Procedures exported from options.c */
 int setipaddr __P((char *, char **, int)); /* Set local/remote ip addresses */