X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fpppd.h;h=e59e0e508058d03dd9729129f68280f999ca1308;hb=509f04959ad891d7f981f035ed461d51bd1f74b0;hp=9dc6d714a59b2138c2133950218ad8dec0dfb7ca;hpb=e8605bcddbad7e47277b86f2ce0b28f6ca951fa2;p=ppp.git diff --git a/pppd/pppd.h b/pppd/pppd.h index 9dc6d71..e59e0e5 100644 --- a/pppd/pppd.h +++ b/pppd/pppd.h @@ -42,14 +42,10 @@ * $Id: pppd.h,v 1.96 2008/06/23 11:47:18 paulus Exp $ */ -#include "pppdconf.h" - -/* - * TODO: - */ +#ifndef PPP_PPPD_H +#define PPP_PPPD_H -#ifndef __PPPD_H__ -#define __PPPD_H__ +#include "pppdconf.h" #include /* for FILE */ #include /* for encrypt */ @@ -57,12 +53,43 @@ #include #include #include /* for u_int32_t, if defined */ -#include /* for struct timeval */ +#if defined(SOL2) #include -#include +#else +#include +#endif #ifdef PPP_WITH_IPV6CP -#include "eui64.h" +#if defined(SOL2) +#include + +typedef union { + uint8_t e8[8]; /* lower 64-bit IPv6 address */ + uint32_t e32[2]; /* lower 64-bit IPv6 address */ +} eui64_t; + +/* + * Declare the two below, since in.h only defines them when _KERNEL + * is declared - which shouldn't be true when dealing with user-land programs + */ +#define s6_addr8 _S6_un._S6_u8 +#define s6_addr32 _S6_un._S6_u32 + +#else /* else if not defined(SOL2) */ + +/* + * TODO: + * + * Maybe this should be done by processing struct in6_addr directly... + */ +typedef union +{ + u_int8_t e8[8]; + u_int16_t e16[4]; + u_int32_t e32[2]; +} eui64_t; + +#endif /* defined(SOL2) */ #endif /* @@ -216,7 +243,7 @@ struct notifier { 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 */ +extern char ifname[]; /* Interface name (IFNAMSIZ) */ extern char hostname[]; /* Our hostname */ extern u_char outpacket_buf[]; /* Buffer for outgoing packets */ extern int devfd; /* fd of underlying device */ @@ -231,7 +258,7 @@ extern int privileged; /* We were run by real-uid root */ extern int need_holdoff; /* Need holdoff period after link terminates */ extern char **script_env; /* Environment variables for scripts */ extern int detached; /* Have detached from controlling tty */ -extern GIDSET_TYPE groups[NGROUPS_MAX]; /* groups the user is in */ +extern GIDSET_TYPE groups[]; /* groups the user is in */ extern int ngroups; /* How many groups valid in groups */ extern struct pppd_stats link_stats; /* byte/packet counts etc. for link */ extern int link_stats_valid; /* set if link_stats is valid */ @@ -246,7 +273,7 @@ extern int unsuccess; /* # unsuccessful connection attempts */ extern int do_callback; /* set if we want to do callback next */ extern int doing_callback; /* set if this is a callback */ extern int error_count; /* # of times error() has been called */ -extern char ppp_devnam[MAXPATHLEN]; +extern char ppp_devnam[]; /* name of PPP tty (maybe ttypx) */ extern char remote_number[MAXNAMELEN]; /* Remote telephone number, if avail. */ extern int ppp_session_number; /* Session number (eg PPPoE session) */ extern int fd_devnull; /* fd open to /dev/null */ @@ -280,7 +307,7 @@ extern struct notifier *fork_notifier; /* we are a new child process */ extern int debug; /* Debug flag */ 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 char devnam[]; /* 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 */ @@ -319,14 +346,14 @@ extern char *pty_socket; /* Socket to connect to pty */ extern char *record_file; /* File to record chars sent/received */ extern bool sync_serial; /* Device is synchronous serial device */ extern int maxfail; /* Max # of unsuccessful connection attempts */ -extern char linkname[MAXPATHLEN]; /* logical name for link */ +extern char linkname[]; /* logical name for link */ 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 path_ipup[MAXPATHLEN]; /* pathname of ip-up script */ -extern char path_ipdown[MAXPATHLEN]; /* pathname of ip-down script */ -extern char req_ifname[IFNAMSIZ]; /* interface name to use */ +extern char path_ipup[]; /* pathname of ip-up script */ +extern char path_ipdown[]; /* pathname of ip-down script */ +extern char req_ifname[]; /* interface name to use (IFNAMSIZ) */ extern bool multilink; /* enable multilink operation */ extern bool noendpoint; /* don't send or accept endpt. discrim. */ extern char *bundle_name; /* bundle name for multilink */ @@ -964,4 +991,4 @@ extern void (*snoop_send_hook)(unsigned char *p, int len); #define offsetof(type, member) ((size_t) &((type *)0)->member) #endif -#endif /* __PPP_H__ */ +#endif /* PPP_PPPD_H */