X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fpppd.h;h=a95f461e20c75a5267976ec39daf2bda507d06df;hb=971319042d43d6d079842f88622caf721a47805b;hp=04c3ff9a8c794e4bf75366b473eebecf8723ee12;hpb=f409b9f7b070fc7e0d1839f09d813503d7224df6;p=ppp.git diff --git a/pppd/pppd.h b/pppd/pppd.h index 04c3ff9..a95f461 100644 --- a/pppd/pppd.h +++ b/pppd/pppd.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: pppd.h,v 1.35 1999/03/24 05:05:25 paulus Exp $ + * $Id: pppd.h,v 1.41 1999/05/14 01:09:03 paulus Exp $ */ /* @@ -40,6 +40,7 @@ #include #define __V(x) (va_alist) va_dcl #define const +#define volatile #endif /* @@ -96,6 +97,7 @@ typedef struct { #define OPT_A2COPY 0x200000 /* addr2 -> second location to rcv value */ #define OPT_ENABLE 0x400000 /* use *addr2 as enable for option */ #define OPT_PRIVFIX 0x800000 /* can't be overridden if noauth */ +#define OPT_PREPASS 0x1000000/* do this opt in pre-pass to find device */ #define OPT_VAL(x) ((x) & OPT_VALUE) @@ -145,6 +147,9 @@ 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 */ extern int using_pty; /* using pty as device (notty or pty opt.) */ +extern int log_to_fd; /* logging to this fd as well as syslog */ +extern char *no_ppp_msg; /* message to print if ppp not in kernel */ +extern volatile int status; /* exit status for pppd */ /* * Variables set by command-line options. @@ -181,21 +186,22 @@ extern int idle_time_limit;/* Shut down link if idle for this long */ extern int holdoff; /* Dead time before restarting */ extern bool notty; /* Stdin/out is not a tty */ extern char *record_file; /* File to record chars sent/received */ +extern bool sync_serial; /* Device is synchronous serial device */ #ifdef PPP_FILTER extern struct bpf_program pass_filter; /* Filter for pkts to pass */ extern struct bpf_program active_filter; /* Filter for link-active pkts */ #endif -char *current_option; /* the name of the option being parsed */ -int privileged_option; /* set iff the current option came from root */ -char *option_source; /* string saying where the option came from */ - #ifdef MSLANMAN extern bool ms_lanman; /* Use LanMan password instead of NT */ /* Has meaning only with MS-CHAP challenges */ #endif +extern char *current_option; /* the name of the option being parsed */ +extern int privileged_option; /* set iff the current option came from root */ +extern char *option_source; /* string saying where the option came from */ + /* * Values for phase. */ @@ -266,16 +272,18 @@ void untimeout __P((void (*func)(void *), void *arg)); pid_t run_program __P((char *prog, char **args, int must_exist, void (*done)(void *), void *arg)); /* Run program prog with args in child */ -void demuxprotrej __P((int, int)); - /* Demultiplex a Protocol-Reject */ +void reopen_log __P((void)); /* (re)open the connection to syslog */ +void update_link_stats __P((int)); /* Get stats at link termination */ +void script_setenv __P((char *, char *)); /* set script env var */ +void script_unsetenv __P((char *)); /* unset script env var */ + +/* Procedures exported from utils.c. */ void log_packet __P((u_char *, int, char *, int)); /* Format a packet and log it with syslog */ void print_string __P((char *, int, void (*) (void *, char *, ...), void *)); /* Format a string for output */ int slprintf __P((char *, int, char *, ...)); /* sprintf++ */ int vslprintf __P((char *, int, char *, va_list)); /* vsprintf++ */ -void script_setenv __P((char *, char *)); /* set script env var */ -void script_unsetenv __P((char *)); /* unset script env var */ size_t strlcpy __P((char *, const char *, size_t)); /* safe strcpy */ size_t strlcat __P((char *, const char *, size_t)); /* safe strncpy */ void dbglog __P((char *, ...)); /* log a debug message */ @@ -379,8 +387,8 @@ int cifproxyarp __P((int, u_int32_t)); /* Delete proxy ARP entry for peer */ u_int32_t GetMask __P((u_int32_t)); /* Get appropriate netmask for address */ int lock __P((char *)); /* Create lock file for device */ +int relock __P((int)); /* Rewrite lock file with new pid */ void unlock __P((void)); /* Delete previously-created lock file */ -int daemon __P((int, int)); /* Detach us from terminal session */ void logwtmp __P((const char *, const char *, const char *)); /* Write entry to wtmp file */ int get_host_seed __P((void)); /* Get host-dependent random number seed */ @@ -487,7 +495,32 @@ extern struct option_info ptycommand_info; PUTCHAR(PPP_UI, p); \ PUTSHORT(t, p); } +/* + * Exit status values. + */ +#define EXIT_OK 0 +#define EXIT_FATAL_ERROR 1 +#define EXIT_OPTION_ERROR 2 +#define EXIT_NOT_ROOT 3 +#define EXIT_NO_KERNEL_SUPPORT 4 +#define EXIT_USER_REQUEST 5 +#define EXIT_LOCK_FAILED 6 +#define EXIT_OPEN_FAILED 7 +#define EXIT_CONNECT_FAILED 8 +#define EXIT_PTYCMD_FAILED 9 +#define EXIT_NEGOTIATION_FAILED 10 +#define EXIT_PEER_AUTH_FAILED 11 +#define EXIT_IDLE_TIMEOUT 12 +#define EXIT_CONNECT_TIME 13 +#define EXIT_CALLBACK 14 +#define EXIT_PEER_DEAD 15 +#define EXIT_HANGUP 16 +#define EXIT_LOOPBACK 17 +/* + * Debug macros. Slightly useful for finding bugs in pppd, not particularly + * useful for finding out why your connection isn't being established. + */ #ifdef DEBUGALL #define DEBUGMAIN 1 #define DEBUGFSM 1