summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/fsm.h
diff options
context:
space:
mode:
authoramurai <amurai@FreeBSD.org>1995-02-26 12:18:08 +0000
committeramurai <amurai@FreeBSD.org>1995-02-26 12:18:08 +0000
commiteeb422fed8735188e4e141578d0383ae57ba8343 (patch)
treed05da3a88d3d54962fad8582d501f1b7ad9500b9 /usr.sbin/ppp/fsm.h
parent7c16fe40ea66e6edc77ed310b654360adf11b9f9 (diff)
downloadFreeBSD-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.h51
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;
OpenPOWER on IntegriCloud