]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/pppd.h
pppd.h: Add missing headers
[ppp.git] / pppd / pppd.h
index 47e4d9ad40c36e692b97be97d268116fb8b0ef46..b31b78da7e727a005edf3544487721a70d465620 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 */
 #define MAXARGS                1       /* max # args to a command */
 #define MAXNAMELEN     256     /* max length of hostname or name for auth */
 #define MAXSECRETLEN   256     /* max length of password or secret */
+#define MAXIFNAMELEN   32      /* max length of interface name; or use IFNAMSIZ, can we
+                                  always include net/if.h? */
+
+/*
+ * If PPP_DRV_NAME is not defined, use the default "ppp" as the device name.
+ * Where should PPP_DRV_NAME come from? Do we include it here?
+ */
+#if !defined(PPP_DRV_NAME)
+#define PPP_DRV_NAME   "ppp"
+#endif /* !defined(PPP_DRV_NAME) */
 
 /*
  * Option descriptor structure.
@@ -279,11 +291,15 @@ extern int        kdebugflag;     /* Tell kernel to print debug messages */
 extern int     default_device; /* Using /dev/tty or equivalent */
 extern char    devnam[MAXPATHLEN];     /* Device name */
 extern int     crtscts;        /* Use hardware flow control */
+extern int     stop_bits;      /* Number of serial port stop bits */
 extern bool    modem;          /* Use modem control lines */
 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 */
@@ -317,6 +333,7 @@ extern bool tune_kernel;    /* May alter kernel settings as necessary */
 extern int     connect_delay;  /* Time to delay after connect script */
 extern int     max_data_rate;  /* max bytes/sec through charshunt */
 extern int     req_unit;       /* interface unit number to use */
+extern char    req_ifname[MAXIFNAMELEN]; /* interface name to use */
 extern bool    multilink;      /* enable multilink operation */
 extern bool    noendpoint;     /* don't send or accept endpt. discrim. */
 extern char    *bundle_name;   /* bundle name for multilink */
@@ -657,6 +674,8 @@ int  cifaddr __P((int, u_int32_t, u_int32_t));
                                /* Reset i/f IP addresses */
 #ifdef INET6
 int  ether_to_eui64(eui64_t *p_eui64); /* convert eth0 hw address to EUI64 */
+int  sif6up __P((int));                /* Configure i/f up for IPv6 */
+int  sif6down __P((int));      /* Configure i/f down for IPv6 */
 int  sif6addr __P((int, eui64_t, eui64_t));
                                /* Configure IPv6 addresses for i/f */
 int  cif6addr __P((int, eui64_t, eui64_t));
@@ -666,6 +685,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));