X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fpppd.h;h=f44fe016c82847b6f402a635329aa082eba5d897;hb=0678d3bf69116af58b00fbc64bd4185acb4d5c37;hp=2cd79146e56f1c4cbfd56aa0db22c371893505d8;hpb=845cda8fa18939cf56e60b073f63a7efa65336fc;p=ppp.git diff --git a/pppd/pppd.h b/pppd/pppd.h index 2cd7914..f44fe01 100644 --- a/pppd/pppd.h +++ b/pppd/pppd.h @@ -50,6 +50,8 @@ #define __PPPD_H__ #include /* for FILE */ +#include /* for encrypt */ +#include /* for setkey */ #include /* for NGROUPS_MAX */ #include /* for MAXPATHLEN and BSD4_4, if defined */ #include /* for u_int32_t, if defined */ @@ -80,6 +82,16 @@ #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. @@ -211,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 */ @@ -279,12 +292,17 @@ 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 */ extern char *connect_script; /* Script to establish physical link */ extern char *disconnect_script; /* Script to disestablish physical link */ @@ -316,6 +334,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 */ @@ -655,6 +674,9 @@ int sifaddr __P((int, u_int32_t, u_int32_t, u_int32_t)); 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)); @@ -664,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)); @@ -686,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 */