diff options
author | amurai <amurai@FreeBSD.org> | 1995-02-26 12:18:08 +0000 |
---|---|---|
committer | amurai <amurai@FreeBSD.org> | 1995-02-26 12:18:08 +0000 |
commit | eeb422fed8735188e4e141578d0383ae57ba8343 (patch) | |
tree | d05da3a88d3d54962fad8582d501f1b7ad9500b9 /usr.sbin/ppp/fsm.h | |
parent | 7c16fe40ea66e6edc77ed310b654360adf11b9f9 (diff) | |
download | FreeBSD-src-eeb422fed8735188e4e141578d0383ae57ba8343.zip FreeBSD-src-eeb422fed8735188e4e141578d0383ae57ba8343.tar.gz |
New user Process PPP based on iij-ppp0.94beta2.
o Supporting SYNC SIO device (But need a device driver)
- add "set speed sync"
o Fixing bug for Predictor-1 function.
o Add new parameter that re-sent interval for set timeout commands.
o Improving RTT (Round Trip Time) and reducing processor time.
- Previous Timer service was using polling, and now using
SIGALRM ;-)
- A 0.94beta2 will not work correctly....
-- Follows are additinal feature not including 0.94beta2
o Support Proxy ARP
- add "enable/disable proxy" commands
o Marging common routine in CHAP/PAP.
o Enhancing LCP/IPCP log information.
o Support local Authfication connection on port 300x and tty.
- You can set up pair of your "hostname -s" and
password in ppp.secret. if either ppp.secret file nor
your hostname line don't exist, It will notify a message
and working as same as previous version.(Backword compatibility)
- If you did set up them, It's allow connection but nothing to do
except help and passwd command.
- add "passwd yourpasswd" commands
o Support afilter - keep Alive filter that a packet can send/receiving
according to ifilter/ofilter but doesn't count it as preventing idle
timer expires.
- Same syntax of other filters.
o Fixing bugs reported by current user for previous one. Thanks !!
Reviewed by: Atsushi Murai (amurai@spec.co.jp)
Diffstat (limited to 'usr.sbin/ppp/fsm.h')
-rw-r--r-- | usr.sbin/ppp/fsm.h | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/usr.sbin/ppp/fsm.h b/usr.sbin/ppp/fsm.h index 0a30ff1..d102217 100644 --- a/usr.sbin/ppp/fsm.h +++ b/usr.sbin/ppp/fsm.h @@ -19,12 +19,14 @@ * * TODO: */ + #ifndef _FSM_H_ #define _FSM_H_ #include "defs.h" #include <netinet/in.h> #include "timeout.h" +#include "cdefs.h" /* * State of machine @@ -46,6 +48,7 @@ #define MODE_REQ 0 #define MODE_NAK 1 #define MODE_REJ 2 +#define MODE_NOP 3 #define OPEN_ACTIVE 0 #define OPEN_PASSIVE 1 @@ -63,15 +66,15 @@ struct fsm { int reqcode; /* Request code sent */ struct pppTimer FsmTimer; /* Restart Timer */ - void (*LayerUp)(); - void (*LayerDown)(); - void (*LayerStart)(); - void (*LayerFinish)(); - void (*InitRestartCounter)(); - void (*SendConfigReq)(); - void (*SendTerminateReq)(); - void (*SendTerminateAck)(); - void (*DecodeConfig)(); + void (*LayerUp) __P((struct fsm *)); + void (*LayerDown) __P((struct fsm *)); + void (*LayerStart) __P((struct fsm *)); + void (*LayerFinish) __P((struct fsm *)); + void (*InitRestartCounter) __P((struct fsm *)); + void (*SendConfigReq) __P((struct fsm *)); + void (*SendTerminateReq) __P((struct fsm *)); + void (*SendTerminateAck) __P((struct fsm *)); + void (*DecodeConfig) __P((u_char *, int, int)); }; struct fsmheader { @@ -97,7 +100,7 @@ struct fsmheader { #define CODE_RESETACK 15 /* Used in CCP */ struct fsmcodedesc { - void (*action)(); + void (*action) __P((struct fsm *, struct fsmheader *, struct mbuf *)); char *name; }; @@ -114,20 +117,20 @@ u_char ReqBuff[200]; u_char *ackp, *nakp, *rejp; extern char *StateNames[]; -extern void FsmInit(struct fsm *); -extern void NewState(struct fsm *, int); -extern void FsmOutput(struct fsm *, u_int, u_int, u_char *, int); -extern void FsmOpen(struct fsm *); -extern void FsmUp(struct fsm *); -extern void FsmDown(struct fsm *); -extern void FsmInput(struct fsm *, struct mbuf *); - -extern void FsmRecvConfigReq(struct fsm *, struct fsmheader *, struct mbuf *); -extern void FsmRecvConfigAck(struct fsm *, struct fsmheader *, struct mbuf *); -extern void FsmRecvConfigNak(struct fsm *, struct fsmheader *, struct mbuf *); -extern void FsmRecvTermReq(struct fsm *, struct fsmheader *, struct mbuf *); -extern void FsmRecvTermAck(struct fsm *, struct fsmheader *, struct mbuf *); -extern void FsmClose(struct fsm *fp); +extern void FsmInit __P((struct fsm *)); +extern void NewState __P((struct fsm *, int)); +extern void FsmOutput __P((struct fsm *, u_int, u_int, u_char *, int)); +extern void FsmOpen __P((struct fsm *)); +extern void FsmUp __P((struct fsm *)); +extern void FsmDown __P((struct fsm *)); +extern void FsmInput __P((struct fsm *, struct mbuf *)); + +extern void FsmRecvConfigReq __P((struct fsm *, struct fsmheader *, struct mbuf *)); +extern void FsmRecvConfigAck __P((struct fsm *, struct fsmheader *, struct mbuf *)); +extern void FsmRecvConfigNak __P((struct fsm *, struct fsmheader *, struct mbuf *)); +extern void FsmRecvTermReq __P((struct fsm *, struct fsmheader *, struct mbuf *)); +extern void FsmRecvTermAck __P((struct fsm *, struct fsmheader *, struct mbuf *)); +extern void FsmClose __P((struct fsm *fp)); extern struct fsm LcpFsm, IpcpFsm, CcpFsm; |