?? pppd.h
字號:
//==========================================================================//// include/pppd.h////==========================================================================//####ECOSGPLCOPYRIGHTBEGIN####// -------------------------------------------// This file is part of eCos, the Embedded Configurable Operating System.// Portions created by Nick Garnett are// Copyright (C) 2003 eCosCentric Ltd.//// eCos is free software; you can redistribute it and/or modify it under// the terms of the GNU General Public License as published by the Free// Software Foundation; either version 2 or (at your option) any later version.//// eCos is distributed in the hope that it will be useful, but WITHOUT ANY// WARRANTY; without even the implied warranty of MERCHANTABILITY or// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License// for more details.//// You should have received a copy of the GNU General Public License along// with eCos; if not, write to the Free Software Foundation, Inc.,// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.//// As a special exception, if other files instantiate templates or use macros// or inline functions from this file, or you compile this file and link it// with other works to produce a work based on this file, this file does not// by itself cause the resulting work to be covered by the GNU General Public// License. However the source code for this file must still be made available// in accordance with section (3) of the GNU General Public License.//// This exception does not invalidate any other reasons why a work based on// this file might be covered by the GNU General Public License.//// -------------------------------------------//####ECOSGPLCOPYRIGHTEND####//####BSDCOPYRIGHTBEGIN####//// -------------------------------------------//// Portions of this software may have been derived from OpenBSD, // FreeBSD or other sources, and are covered by the appropriate// copyright disclaimers included herein.//// -------------------------------------------////####BSDCOPYRIGHTEND####//==========================================================================/* * pppd.h - PPP daemon global declarations. * * Copyright (c) 1989 Carnegie Mellon University. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by Carnegie Mellon University. The name of the * University may not be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * $FreeBSD: src/usr.sbin/pppd/pppd.h,v 1.13 1999/08/28 01:19:08 peter Exp $ *//* * TODO: */#ifndef __PPPD_H__#define __PPPD_H__#include <cyg/io/io.h>#include <cyg/io/serialio.h>#include <cyg/ppp/names.h>#include <stdio.h> /* for FILE */#include <sys/param.h> /* for MAXPATHLEN and BSD4_4, if defined */#include <sys/types.h> /* for u_int32_t, if defined */#include <sys/time.h> /* for struct timeval */#include <cyg/ppp/net/ppp_defs.h>#if __STDC__#include <stdarg.h>#define __V(x) x#else#include <varargs.h>#define __V(x) (va_alist) va_dcl#define const#endif/* * Limits. */#define NUM_PPP 1 /* One PPP interface supported (per process) */#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 *//* * Global variables. */extern int hungup; /* Physical layer has disconnected */extern int ifunit; /* Interface unit number */extern char ifname[]; /* Interface name */extern int ttyfd; /* Serial device file descriptor */extern char cyg_ppp_hostname[]; /* Our hostname */extern u_char outpacket_buf[]; /* Buffer for outgoing packets */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 */extern int redirect_stderr;/* Connector's stderr should go to file */extern char peer_authname[];/* Authenticated name of peer */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 *//* * Variables set by command-line options. */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[]; /* Device name */extern int flowctl; /* Flow control */extern int modem; /* Use modem control lines */extern cyg_serial_baud_rate_t inspeed; /* Input/Output speed requested */extern u_int32_t netmask; /* IP netmask to set on interface */extern int lockflag; /* Create lock file to lock the serial dev */extern int nodetach; /* Don't detach from controlling tty */extern char *connector; /* Script to establish physical link */extern char *disconnector; /* Script to disestablish physical link */extern char *welcomer; /* Script to welcome client after connection */extern int max_con_attempts;/* Maximum number of times to try dialing */extern int maxconnect; /* Maximum connect time (seconds) */extern char user[]; /* Our name for authenticating ourselves */extern char passwd[]; /* Password for PAP */extern int auth_required; /* Peer is required to authenticate */extern int proxyarp; /* Set up proxy ARP entry for peer */extern int persist; /* Reopen link after it goes down */extern int uselogin; /* Use /etc/passwd for checking PAP */extern int lcp_echo_interval; /* Interval between LCP echo-requests */extern int lcp_echo_fails; /* Tolerance to unanswered echo-requests */extern char our_name[]; /* Our name for authentication purposes */extern char remote_name[]; /* Peer's name for authentication */extern int explicit_remote;/* remote_name specified with remotename opt */extern int usehostname; /* Use hostname for our_name */extern int disable_defaultip; /* Don't use hostname for default IP adrs *///extern int demand; /* Do dial-on-demand */#define demand 0extern char *ipparam; /* Extra parameter for ip up/down scripts */extern int cryptpap; /* Others' PAP passwords are encrypted */extern int idle_time_limit;/* Shut down link if idle for this long */extern int holdoff; /* Dead time before restarting */extern int refuse_pap; /* Don't wanna auth. ourselves with PAP */extern int refuse_chap; /* Don't wanna auth. ourselves with CHAP */#ifdef PPP_FILTERextern struct bpf_program pass_filter; /* Filter for pkts to pass */extern struct bpf_program active_filter; /* Filter for link-active pkts */#endif#ifdef MSLANMANextern int ms_lanman; /* Nonzero if use LanMan password instead of NT */ /* Has meaning only with MS-CHAP challenges */#endif/* * Values for phase. */#define PHASE_DEAD 0#define PHASE_INITIALIZE 1#define PHASE_DORMANT 2#define PHASE_ESTABLISH 3#define PHASE_AUTHENTICATE 4#define PHASE_CALLBACK 5#define PHASE_NETWORK 6#define PHASE_TERMINATE 7#define PHASE_HOLDOFF 8/* * The following struct gives the addresses of procedures to call * for a particular protocol. */struct protent { u_short protocol; /* PPP protocol number */ /* Initialization procedure */ void (*init) __P((int unit)); /* Process a received packet */ void (*input) __P((int unit, u_char *pkt, int len)); /* Process a received protocol-reject */ void (*protrej) __P((int unit)); /* Lower layer has come up */ void (*lowerup) __P((int unit)); /* Lower layer has gone down */ void (*lowerdown) __P((int unit)); /* Open the protocol */ void (*open) __P((int unit)); /* Close the protocol */ void (*close) __P((int unit, char *reason)); /* Print a packet in readable form */ int (*printpkt) __P((u_char *pkt, int len, void (*printer) __P((void *, char *, ...)), void *arg)); /* Process a received data packet */ void (*datainput) __P((int unit, u_char *pkt, int len)); int enabled_flag; /* 0 iff protocol is disabled */ char *name; /* Text name of protocol */ /* Check requested options, assign defaults */ void (*check_options) __P((void)); /* Configure interface for demand-dial */ int (*demand_conf) __P((int unit)); /* Say whether to bring up link for this pkt */ int (*active_pkt) __P((u_char *pkt, int len));};/* Table of pointers to supported protocols */extern struct protent *protocols[];/* * Prototypes. *//* Procedures exported from main.c. */void detach __P((void)); /* Detach from controlling tty */void die __P((int)); /* Cleanup and exit */void quit __P((void)); /* like die(1) */void novm __P((char *)); /* Say we ran out of memory, and die */void cyg_ppp_timeout __P((void (*func)(void *), void *arg, int t)); /* Call func(arg) after t seconds */void cyg_ppp_untimeout __P((void (*func)(void *), void *arg)); /* Cancel call to func(arg) */int run_program __P((char *prog, char **args, int must_exist)); /* Run program prog with args in child */void demuxprotrej __P((int, int)); /* Demultiplex a Protocol-Reject */void format_packet __P((u_char *, int, void (*) (void *, char *, ...), void *)); /* Format a packet in human-readable form */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 fmtmsg __P((char *, int, char *, ...)); /* sprintf++ */int vfmtmsg __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 *//* Procedures exported from auth.c */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 link_established __P((int)); /* the link is up; authenticate now */void np_up __P((int, int)); /* a network protocol has come up */void np_down __P((int, int)); /* a network protocol has gone down */void np_finished __P((int, int)); /* a network protocol no longer needs link */void auth_peer_fail __P((int, int)); /* peer failed to authenticate itself */void auth_peer_success __P((int, int, char *, int)); /* peer successfully authenticated itself */void auth_withpeer_fail __P((int, int)); /* we failed to authenticate ourselves */void auth_withpeer_success __P((int, int)); /* we successfully authenticated ourselves */void auth_check_options __P((void));
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -