X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fpppd.h;h=a35deaa8e00ac19316ea09c1fd6c1534a142c1a6;hb=e87fe1bbd37a1486c5223f110e9ce3ef75971f93;hp=1f208894f77bf38a9e7ad20bfb64c919271ae767;hpb=0b6118239615e98959f7e0b4e746bdd197533248;p=ppp.git diff --git a/pppd/pppd.h b/pppd/pppd.h index 1f20889..a35deaa 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 */ @@ -323,6 +342,12 @@ extern bool dump_options; /* print out option values */ extern bool dryrun; /* check everything, print options, exit */ extern int child_wait; /* # seconds to wait for children at end */ +#ifdef USE_EAPTLS +extern char *crl_dir; +extern char *crl_file; +extern char *max_tls_version; +#endif /* USE_EAPTLS */ + #ifdef MAXOCTETS extern unsigned int maxoctets; /* Maximum octetes per session (in bytes) */ extern int maxoctets_dir; /* Direction : @@ -656,6 +681,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)); @@ -665,6 +692,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)); @@ -687,6 +720,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 */ @@ -737,6 +772,10 @@ extern int (*chap_check_hook) __P((void)); extern int (*chap_passwd_hook) __P((char *user, char *passwd)); extern void (*multilink_join_hook) __P((void)); +#ifdef USE_EAPTLS +extern int (*eaptls_passwd_hook) __P((char *user, char *passwd)); +#endif + /* Let a plugin snoop sent and received packets. Useful for L2TP */ extern void (*snoop_recv_hook) __P((unsigned char *p, int len)); extern void (*snoop_send_hook) __P((unsigned char *p, int len));