80 const struct fsm_callbacks *callbacks;
81 const char *term_reason;
98typedef struct fsm_callbacks {
104 (fsm *, u_char *,
int *);
106 (fsm *, u_char *, int);
108 (fsm *, u_char *, int, int);
110 (fsm *, u_char *, int);
112 (fsm *, u_char *,
int *, int);
126 (fsm *, int, int, u_char *, int);
127 const char *proto_name;
134#define PPP_FSM_INITIAL 0
135#define PPP_FSM_STARTING 1
136#define PPP_FSM_CLOSED 2
137#define PPP_FSM_STOPPED 3
138#define PPP_FSM_CLOSING 4
139#define PPP_FSM_STOPPING 5
140#define PPP_FSM_REQSENT 6
141#define PPP_FSM_ACKRCVD 7
142#define PPP_FSM_ACKSENT 8
143#define PPP_FSM_OPENED 9
159#define DEFMAXTERMREQS 2
160#define DEFMAXCONFREQS 10
161#define DEFMAXNAKLOOPS 5
168void fsm_init(fsm *f);
169void fsm_lowerup(fsm *f);
170void fsm_lowerdown(fsm *f);
171void fsm_open(fsm *f);
172void fsm_close(fsm *f,
const char *reason);
173void fsm_input(fsm *f, u_char *inpacket,
int l);
174void fsm_protreject(fsm *f);
175void fsm_sdata(fsm *f, u_char code, u_char
id,
const u_char *data,
int datalen);