70static const char *ppperr_strerr[] = {
84static void fsm_timeout (
void *);
86static void fsm_rconfack (
fsm *,
int,
u_char *,
int);
87static void fsm_rconfnakrej (
fsm *,
int,
int,
u_char *,
int);
88static void fsm_rtermreq (
fsm *,
int,
u_char *,
int);
89static void fsm_rtermack (
fsm *);
90static void fsm_rcoderej (
fsm *,
u_char *,
int);
91static void fsm_sconfreq (
fsm *,
int);
93#define PROTO_NAME(f) ((f)->callbacks->proto_name)
109 f->timeouttime = FSM_DEFTIMEOUT;
110 f->maxconfreqtransmits = FSM_DEFMAXCONFREQS;
111 f->maxtermtransmits = FSM_DEFMAXTERMREQS;
112 f->maxnakloops = FSM_DEFMAXNAKLOOPS;
113 f->term_reason_len = 0;
123 int oldState =
f->state;
144 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
148 PROTO_NAME(
f), oldState, ppperr_strerr[oldState],
f->state, ppperr_strerr[
f->state]));
160 int oldState =
f->state;
171 if(
f->callbacks->starting ) {
172 (*
f->callbacks->starting)(
f);
178 UNTIMEOUT(fsm_timeout,
f);
186 UNTIMEOUT(fsm_timeout,
f);
190 if(
f->callbacks->down ) {
191 (*
f->callbacks->down)(
f);
198 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
202 PROTO_NAME(
f), oldState, ppperr_strerr[oldState],
f->state, ppperr_strerr[
f->state]));
212 int oldState =
f->state;
219 if(
f->callbacks->starting ) {
220 (*
f->callbacks->starting)(
f);
247 PROTO_NAME(
f), oldState, ppperr_strerr[oldState],
f->state, ppperr_strerr[
f->state]));
258terminate_layer(
fsm *
f,
int nextstate)
273 int oldState =
f->state;
295 UNTIMEOUT(fsm_timeout,
f);
296 }
else if(
f->callbacks->down ) {
297 (*
f->callbacks->down)(
f);
300 f->retransmits =
f->maxtermtransmits;
302 (
u_char *)
f->term_reason,
f->term_reason_len);
311 PROTO_NAME(
f),
reason, oldState, ppperr_strerr[oldState],
f->state, ppperr_strerr[
f->state]));
319fsm_timeout(
void *
arg)
326 if(
f->retransmits <= 0 ) {
328 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
333 if(
f->callbacks->finished ) {
334 (*
f->callbacks->finished)(
f);
338 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
341 (
u_char *)
f->term_reason,
f->term_reason_len);
350 if (
f->retransmits <= 0) {
352 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
354 if( (
f->flags &
OPT_PASSIVE) == 0 &&
f->callbacks->finished ) {
355 (*
f->callbacks->finished)(
f);
359 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
361 if (
f->callbacks->retransmit) {
362 (*
f->callbacks->retransmit)(
f);
373 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
414 f->protocol,
f->state, ppperr_strerr[
f->state]));
423 fsm_rconfreq(
f,
id, inp,
len);
427 fsm_rconfack(
f,
id, inp,
len);
432 fsm_rconfnakrej(
f,
code,
id, inp,
len);
436 fsm_rtermreq(
f,
id, inp,
len);
444 fsm_rcoderej(
f, inp,
len);
449 if( !
f->callbacks->extcode ||
450 !(*
f->callbacks->extcode)(
f,
code,
id, inp,
len) ) {
464 int code, reject_if_disagree;
467 PROTO_NAME(
f),
id,
f->state, ppperr_strerr[
f->state]));
479 if(
f->callbacks->down ) {
480 (*
f->callbacks->down)(
f);
496 if (
f->callbacks->reqci) {
497 reject_if_disagree = (
f->nakloops >=
f->maxnakloops);
498 code = (*
f->callbacks->reqci)(
f, inp, &
len, reject_if_disagree);
510 UNTIMEOUT(fsm_timeout,
f);
512 if (
f->callbacks->up) {
513 (*
f->callbacks->up)(
f);
538 PROTO_NAME(
f),
id,
f->state, ppperr_strerr[
f->state]));
540 if (
id !=
f->reqid ||
f->seen_ack) {
543 if( !(
f->callbacks->ackci? (*
f->callbacks->ackci)(
f, inp,
len): (
len == 0)) ) {
546 PROTO_NAME(
f),
len));
559 f->retransmits =
f->maxconfreqtransmits;
564 UNTIMEOUT(fsm_timeout,
f);
570 UNTIMEOUT(fsm_timeout,
f);
572 f->retransmits =
f->maxconfreqtransmits;
573 if (
f->callbacks->up) {
574 (*
f->callbacks->up)(
f);
580 if (
f->callbacks->down) {
581 (*
f->callbacks->down)(
f);
600 PROTO_NAME(
f),
id,
f->state, ppperr_strerr[
f->state]));
602 if (
id !=
f->reqid ||
f->seen_ack) {
623 UNTIMEOUT(fsm_timeout,
f);
633 UNTIMEOUT(fsm_timeout,
f);
640 if (
f->callbacks->down) {
641 (*
f->callbacks->down)(
f);
659 PROTO_NAME(
f),
id,
f->state, ppperr_strerr[
f->state]));
673 if (
f->callbacks->down) {
674 (*
f->callbacks->down)(
f);
693 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
697 UNTIMEOUT(fsm_timeout,
f);
699 if(
f->callbacks->finished ) {
700 (*
f->callbacks->finished)(
f);
705 UNTIMEOUT(fsm_timeout,
f);
707 if(
f->callbacks->finished ) {
708 (*
f->callbacks->finished)(
f);
717 if (
f->callbacks->down) {
718 (*
f->callbacks->down)(
f);
724 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
738 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
747 PROTO_NAME(
f),
code,
id));
765 UNTIMEOUT(fsm_timeout,
f);
769 if(
f->callbacks->finished ) {
770 (*
f->callbacks->finished)(
f);
778 UNTIMEOUT(fsm_timeout,
f);
782 if(
f->callbacks->finished ) {
783 (*
f->callbacks->finished)(
f);
788 if(
f->callbacks->down ) {
789 (*
f->callbacks->down)(
f);
792 f->retransmits =
f->maxtermtransmits;
794 (
u_char *)
f->term_reason,
f->term_reason_len);
803 PROTO_NAME(
f),
f->state, ppperr_strerr[
f->state]));
812fsm_sconfreq(
fsm *
f,
int retransmit)
819 if(
f->callbacks->resetci ) {
820 (*
f->callbacks->resetci)(
f);
827 f->retransmits =
f->maxconfreqtransmits;
836 outp = outpacket_buf[
f->unit] + PPP_HDRLEN +
HEADERLEN;
837 if(
f->callbacks->cilen &&
f->callbacks->addci ) {
838 cilen = (*
f->callbacks->cilen)(
f);
842 if (
f->callbacks->addci) {
843 (*
f->callbacks->addci)(
f, outp, &cilen);
857 PROTO_NAME(
f),
f->reqid));
873 outp = outpacket_buf[
f->unit];
881 MAKEHEADER(outp,
f->protocol);
884 PUTSHORT(outlen, outp);
885 pppWrite(
f->unit, outpacket_buf[
f->unit], outlen + PPP_HDRLEN);
887 PROTO_NAME(
f),
code,
id, outlen));
ACPI_SIZE strlen(const char *String)
#define LWIP_UNUSED_ARG(x)
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
void fsm_input(fsm *, u_char *, int)
void fsm_sdata(fsm *, u_char, u_char, u_char *, int)
void fsm_close(fsm *, char *)
void fsm_protreject(fsm *)
void fsm_lowerdown(fsm *)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
int const JOCTET unsigned int datalen