X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fpppd.h;h=4c18d3d7fce2a0bc17cc283c3a166c7e763b458e;hb=4abe4296f0eddbb2b6ff11dbbd27100156c85f87;hp=232aa32ae4e36130605bbe1854647ec2b0e9b2a0;hpb=36e867a96fbc20777c4d3cb15e7aa4f7180f1452;p=ppp.git diff --git a/pppd/pppd.h b/pppd/pppd.h index 232aa32..4c18d3d 100644 --- a/pppd/pppd.h +++ b/pppd/pppd.h @@ -39,7 +39,7 @@ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: pppd.h,v 1.85 2004/11/04 09:46:50 paulus Exp $ + * $Id: pppd.h,v 1.88 2004/11/13 12:02:22 paulus Exp $ */ /* @@ -215,6 +215,8 @@ extern int ifunit; /* Interface unit number */ extern char ifname[]; /* Interface name */ extern char hostname[]; /* Our hostname */ extern u_char outpacket_buf[]; /* Buffer for outgoing packets */ +extern int devfd; /* fd of underlying device */ +extern int fd_ppp; /* fd for talking PPP */ extern int phase; /* Current state of link - see values below */ extern int baud_rate; /* Current link speed in bits/sec */ extern char *progname; /* Name of this program */ @@ -243,8 +245,14 @@ extern int error_count; /* # of times error() has been called */ extern char ppp_devnam[MAXPATHLEN]; 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 */ extern int listen_time; /* time to listen first (ms) */ +extern bool doing_multilink; +extern bool multilink_master; +extern bool bundle_eof; +extern bool bundle_terminating; + extern struct notifier *pidchange; /* for notifications of pid changing */ extern struct notifier *phasechange; /* for notifications of phase changes */ extern struct notifier *exitnotify; /* for notification that we're exiting */ @@ -374,6 +382,7 @@ extern int option_priority; /* priority of current options */ #define PHASE_TERMINATE 9 #define PHASE_DISCONNECT 10 #define PHASE_HOLDOFF 11 +#define PHASE_MASTER 12 /* * The following struct gives the addresses of procedures to call @@ -465,7 +474,7 @@ void timeout __P((void (*func)(void *), void *arg, int s, int us)); void untimeout __P((void (*func)(void *), void *arg)); /* Cancel call to func(arg) */ void record_child __P((int, char *, void (*) (void *), void *)); -pid_t safe_fork __P((void)); /* Fork & close stuff in child */ +pid_t safe_fork __P((int, int, int)); /* Fork & close stuff in child */ int device_script __P((char *cmd, int in, int out, int dont_wait)); /* Run `cmd' with given stdin and stdout */ pid_t run_program __P((char *prog, char **args, int must_exist, @@ -483,6 +492,9 @@ void remove_notifier __P((struct notifier **, notify_func, void *)); void notify __P((struct notifier *, int)); int ppp_send_config __P((int, int, u_int32_t, int, int)); int ppp_recv_config __P((int, int, u_int32_t, int, int)); +void remove_pidfiles __P((void)); +void lock_db __P((void)); +void unlock_db __P((void)); /* Procedures exported from tty.c. */ void tty_init __P((void)); @@ -514,6 +526,7 @@ ssize_t complete_read __P((int, void *, size_t)); void link_required __P((int)); /* we are starting to use the link */ void link_terminated __P((int)); /* we are finished with the link */ void link_down __P((int)); /* the LCP layer has left the Opened state */ +void upper_layers_down __P((int));/* take all NCPs down */ void link_established __P((int)); /* the link is up; authenticate now */ void start_networks __P((int)); /* start all the network control protos */ void continue_networks __P((int)); /* start network [ip, etc] control protos */ @@ -553,10 +566,19 @@ int loop_chars __P((unsigned char *, int)); /* process chars from loopback */ int loop_frame __P((unsigned char *, int)); /* should we bring link up? */ /* Procedures exported from multilink.c */ +#ifdef HAVE_MULTILINK void mp_check_options __P((void)); /* Check multilink-related options */ int mp_join_bundle __P((void)); /* join our link to an appropriate bundle */ +void mp_exit_bundle __P((void)); /* have disconnected our link from bundle */ +void mp_bundle_terminated __P((void)); char *epdisc_to_str __P((struct epdisc *)); /* string from endpoint discrim. */ int str_to_epdisc __P((struct epdisc *, char *)); /* endpt disc. from str */ +#else +#define mp_bundle_terminated() /* nothing */ +#define mp_exit_bundle() /* nothing */ +#define doing_multilink 0 +#define multilink_master 0 +#endif /* Procedures exported from sys-*.c */ void sys_init __P((void)); /* Do system-dependent initialization */ @@ -573,6 +595,7 @@ int generic_establish_ppp __P((int dev_fd)); /* Make a ppp interface */ void make_new_bundle __P((int, int, int, int)); /* Create new bundle */ int bundle_attach __P((int)); /* Attach link to existing bundle */ void cfg_bundle __P((int, int, int, int)); /* Configure existing bundle */ +void destroy_bundle __P((void)); /* Tell driver to destroy bundle */ void clean_check __P((void)); /* Check if line was 8-bit clean */ void set_up_tty __P((int, int)); /* Set up port's speed, parameters, etc. */ void restore_tty __P((int)); /* Restore port's original parameters */