X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Ffsm.h;h=50f75e69a2741880890f32020dcd8b202cf34af4;hb=4f3e40659fcccce45068473ae94cfead18260c77;hp=87a78d38e8b2b48b1dfcf9c67d819bfc752d1253;hpb=ec27e67401c1e4031be2fa7f692d3d66d5bee586;p=ppp.git diff --git a/pppd/fsm.h b/pppd/fsm.h index 87a78d3..50f75e6 100644 --- a/pppd/fsm.h +++ b/pppd/fsm.h @@ -41,13 +41,20 @@ * * $Id: fsm.h,v 1.10 2004/11/13 02:28:15 paulus Exp $ */ +#ifndef PPP_FSM_H +#define PPP_FSM_H + +#include "pppdconf.h" + +#ifdef __cplusplus +extern "C" { +#endif /* * Packet header = Code, id, length. */ #define HEADERLEN 4 - /* * CP (LCP, IPCP, etc.) codes. */ @@ -68,9 +75,9 @@ typedef struct fsm { int protocol; /* Data Link Layer Protocol field value */ int state; /* State */ int flags; /* Contains option bits */ - u_char id; /* Current id */ - u_char reqid; /* Current request id */ - u_char seen_ack; /* Have received valid Ack/Nak/Rej to Req */ + unsigned char id; /* Current id */ + unsigned char reqid; /* Current request id */ + unsigned char seen_ack; /* Have received valid Ack/Nak/Rej to Req */ int timeouttime; /* Timeout time in milliseconds */ int maxconfreqtransmits; /* Maximum Configure-Request transmissions */ int retransmits; /* Number of retransmissions left */ @@ -85,34 +92,26 @@ typedef struct fsm { typedef struct fsm_callbacks { - void (*resetci) /* Reset our Configuration Information */ - __P((fsm *)); - int (*cilen) /* Length of our Configuration Information */ - __P((fsm *)); + void (*resetci)(fsm *); /* Reset our Configuration Information */ + int (*cilen)(fsm *); /* Length of our Configuration Information */ void (*addci) /* Add our Configuration Information */ - __P((fsm *, u_char *, int *)); + (fsm *, unsigned char *, int *); int (*ackci) /* ACK our Configuration Information */ - __P((fsm *, u_char *, int)); + (fsm *, unsigned char *, int); int (*nakci) /* NAK our Configuration Information */ - __P((fsm *, u_char *, int, int)); + (fsm *, unsigned char *, int, int); int (*rejci) /* Reject our Configuration Information */ - __P((fsm *, u_char *, int)); + (fsm *, unsigned char *, int); int (*reqci) /* Request peer's Configuration Information */ - __P((fsm *, u_char *, int *, int)); - void (*up) /* Called when fsm reaches OPENED state */ - __P((fsm *)); - void (*down) /* Called when fsm leaves OPENED state */ - __P((fsm *)); - void (*starting) /* Called when we want the lower layer */ - __P((fsm *)); - void (*finished) /* Called when we don't want the lower layer */ - __P((fsm *)); - void (*protreject) /* Called when Protocol-Reject received */ - __P((int)); - void (*retransmit) /* Retransmission is necessary */ - __P((fsm *)); + (fsm *, unsigned char *, int *, int); + void (*up)(fsm *); /* Called when fsm reaches OPENED state */ + void (*down)(fsm *); /* Called when fsm leaves OPENED state */ + void (*starting)(fsm *); /* Called when we want the lower layer */ + void (*finished)(fsm *); /* Called when we don't want the lower layer */ + void (*protreject)(int); /* Called when Protocol-Reject received */ + void (*retransmit)(fsm *); /* Retransmission is necessary */ int (*extcode) /* Called when unknown code received */ - __P((fsm *, int, int, u_char *, int)); + (fsm *, int, int, unsigned char *, int); char *proto_name; /* String name for protocol (for messages) */ } fsm_callbacks; @@ -152,17 +151,23 @@ typedef struct fsm_callbacks { /* * Prototypes */ -void fsm_init __P((fsm *)); -void fsm_lowerup __P((fsm *)); -void fsm_lowerdown __P((fsm *)); -void fsm_open __P((fsm *)); -void fsm_close __P((fsm *, char *)); -void fsm_input __P((fsm *, u_char *, int)); -void fsm_protreject __P((fsm *)); -void fsm_sdata __P((fsm *, int, int, u_char *, int)); +void fsm_init (fsm *); +void fsm_lowerup (fsm *); +void fsm_lowerdown (fsm *); +void fsm_open (fsm *); +void fsm_close (fsm *, char *); +void fsm_input (fsm *, unsigned char *, int); +void fsm_protreject (fsm *); +void fsm_sdata (fsm *, int, int, unsigned char *, int); /* * Variables */ extern int peer_mru[]; /* currently negotiated peer MRU (per unit) */ + +#ifdef __cplusplus +} +#endif + +#endif // PPP_FSM_H