Refactored icmpkick6
[akaros.git] / kern / src / net / ppp.h
index 4f1e00d..23efbf4 100644 (file)
@@ -1,93 +1,92 @@
-typedef struct PPP     PPP;
-typedef struct Pstate  Pstate;
-typedef struct Lcpmsg  Lcpmsg;
-typedef struct Lcpopt  Lcpopt;
-typedef struct Qualpkt Qualpkt;
+typedef struct PPP PPP;
+typedef struct Pstate Pstate;
+typedef struct Lcpmsg Lcpmsg;
+typedef struct Lcpopt Lcpopt;
+typedef struct Qualpkt Qualpkt;
 typedef struct Qualstats Qualstats;
-typedef struct Tcpc    Tcpc;
+typedef struct Tcpc Tcpc;
 
 typedef uchar Ipaddr[IPaddrlen];
 
-enum
-{
-       HDLC_frame=     0x7e,
-       HDLC_esc=       0x7d,
+enum {
+       HDLC_frame = 0x7e,
+       HDLC_esc = 0x7d,
 
        /* PPP frame fields */
-       PPP_addr=       0xff,
-       PPP_ctl=        0x3,
-       PPP_initfcs=    0xffff,
-       PPP_goodfcs=    0xf0b8,
+       PPP_addr = 0xff,
+       PPP_ctl = 0x3,
+       PPP_initfcs = 0xffff,
+       PPP_goodfcs = 0xf0b8,
 
        /* PPP phases */
-       Pdead=          0,      
-       Plink,                          /* doing LCP */
-       Pauth,                          /* doing chap */
-       Pnet,                           /* doing IPCP, CCP */
-       Pterm,                          /* closing down */
+       Pdead = 0,
+       Plink,  /* doing LCP */
+       Pauth,  /* doing chap */
+       Pnet,   /* doing IPCP, CCP */
+       Pterm,  /* closing down */
 
        /* PPP protocol types */
-       Pip=            0x21,           /* internet */
-       Pvjctcp=        0x2d,           /* compressing van jacobson tcp */
-       Pvjutcp=        0x2f,           /* uncompressing van jacobson tcp */
-       Pcdata=         0xfd,           /* compressed datagram */
-       Pipcp=          0x8021,         /* ip control */
-       Pecp=           0x8053,         /* encryption control */
-       Pccp=           0x80fd,         /* compressed datagram control */
-       Plcp=           0xc021,         /* link control */
-       Ppap=           0xc023,         /* password auth. protocol */
-       Plqm=           0xc025,         /* link quality monitoring */
-       Pchap=          0xc223,         /* challenge/response */
+       Pip = 0x21,     /* internet */
+       Pvjctcp = 0x2d, /* compressing van jacobson tcp */
+       Pvjutcp = 0x2f, /* uncompressing van jacobson tcp */
+       Pcdata = 0xfd,  /* compressed datagram */
+       Pipcp = 0x8021, /* ip control */
+       Pecp = 0x8053,  /* encryption control */
+       Pccp = 0x80fd,  /* compressed datagram control */
+       Plcp = 0xc021,  /* link control */
+       Ppap = 0xc023,  /* password auth. protocol */
+       Plqm = 0xc025,  /* link quality monitoring */
+       Pchap = 0xc223, /* challenge/response */
 
        /* LCP codes */
-       Lconfreq=       1,
-       Lconfack=       2,
-       Lconfnak=       3,
-       Lconfrej=       4,
-       Ltermreq=       5,
-       Ltermack=       6,
-       Lcoderej=       7,
-       Lprotorej=      8,
-       Lechoreq=       9,
-       Lechoack=       10,
-       Ldiscard=       11,
+       Lconfreq = 1,
+       Lconfack = 2,
+       Lconfnak = 3,
+       Lconfrej = 4,
+       Ltermreq = 5,
+       Ltermack = 6,
+       Lcoderej = 7,
+       Lprotorej = 8,
+       Lechoreq = 9,
+       Lechoack = 10,
+       Ldiscard = 11,
 
        /* Lcp configure options */
-       Omtu=           1,
-       Octlmap=        2,
-       Oauth=          3,
-       Oquality=       4,
-       Omagic=         5,
-       Opc=            7,
-       Oac=            8,
-       Obad=           12,             /* for testing */
+       Omtu = 1,
+       Octlmap = 2,
+       Oauth = 3,
+       Oquality = 4,
+       Omagic = 5,
+       Opc = 7,
+       Oac = 8,
+       Obad = 12,      /* for testing */
 
        /* authentication protocols */
-       APmd5=          5,
+       APmd5 = 5,
 
        /* lcp flags */
-       Fmtu=           1<<Omtu,
-       Fctlmap=        1<<Octlmap,
-       Fauth=          1<<Oauth,
-       Fquality=       1<<Oquality,
-       Fmagic=         1<<Omagic,
-       Fpc=            1<<Opc,
-       Fac=            1<<Oac,
-       Fbad=           1<<Obad,
+       Fmtu = 1 << Omtu,
+       Fctlmap = 1 << Octlmap,
+       Fauth = 1 << Oauth,
+       Fquality = 1 << Oquality,
+       Fmagic = 1 << Omagic,
+       Fpc = 1 << Opc,
+       Fac = 1 << Oac,
+       Fbad = 1 << Obad,
 
        /* Chap codes */
-       Cchallenge=     1,
-       Cresponse=      2,
-       Csuccess=       3,
-       Cfailure=       4,
+       Cchallenge = 1,
+       Cresponse = 2,
+       Csuccess = 3,
+       Cfailure = 4,
 
        /* Pap codes */
-       Cpapreq=                1,
-       Cpapack=                2,
-       Cpapnak=                3,
+       Cpapreq = 1,
+       Cpapack = 2,
+       Cpapnak = 3,
 
        /* link states */
-       Sclosed=                0,
+       Sclosed = 0,
        Sclosing,
        Sreqsent,
        Sackrcvd,
@@ -95,164 +94,157 @@ enum
        Sopened,
 
        /* ccp configure options */
-       Ocoui=          0,      /* proprietary compression */
-       Ocstac=         17,     /* stac electronics LZS */
-       Ocmppc=         18,     /* microsoft ppc */
+       Ocoui = 0,      /* proprietary compression */
+       Ocstac = 17,    /* stac electronics LZS */
+       Ocmppc = 18,    /* microsoft ppc */
 
        /* ccp flags */
-       Fcoui=          1<<Ocoui,
-       Fcstac=         1<<Ocstac,
-       Fcmppc=         1<<Ocmppc,
+       Fcoui = 1 << Ocoui,
+       Fcstac = 1 << Ocstac,
+       Fcmppc = 1 << Ocmppc,
 
        /* ecp configure options */
-       Oeoui=          0,      /* proprietary compression */
-       Oedese=         1,      /* DES */
+       Oeoui = 0,      /* proprietary compression */
+       Oedese = 1,     /* DES */
 
        /* ecp flags */
-       Feoui=          1<<Oeoui,
-       Fedese=         1<<Oedese,
+       Feoui = 1 << Oeoui,
+       Fedese = 1 << Oedese,
 
        /* ipcp configure options */
-       Oipaddrs=       1,
-       Oipcompress=    2,
-       Oipaddr=        3,
-       Oipdns=         129,
-       Oipwins=        130,
-       Oipdns2=        131,
-       Oipwins2=       132,
+       Oipaddrs = 1,
+       Oipcompress = 2,
+       Oipaddr = 3,
+       Oipdns = 129,
+       Oipwins = 130,
+       Oipdns2 = 131,
+       Oipwins2 = 132,
 
        /* ipcp flags */
-       Fipaddrs=       1<<Oipaddrs,
-       Fipcompress=    1<<Oipcompress,
-       Fipaddr=        1<<Oipaddr,
+       Fipaddrs = 1 << Oipaddrs,
+       Fipcompress = 1 << Oipcompress,
+       Fipaddr = 1 << Oipaddr,
 
-       Period=         3*1000, /* period of retransmit process (in ms) */
-       Timeout=        10,     /* xmit timeout (in Periods) */
+       Period = 3 * 1000,      /* period of retransmit process (in ms) */
+       Timeout = 10,   /* xmit timeout (in Periods) */
 
-       MAX_STATES      = 16,           /* van jacobson compression states */
-       Defmtu=         1450,           /* default that we will ask for */
-       Minmtu=         128,            /* minimum that we will accept */
-       Maxmtu=         2000,           /* maximum that we will accept */
+       MAX_STATES = 16,        /* van jacobson compression states */
+       Defmtu = 1450,  /* default that we will ask for */
+       Minmtu = 128,   /* minimum that we will accept */
+       Maxmtu = 2000,  /* maximum that we will accept */
 };
 
-
-struct Pstate
-{
-       int     proto;          /* protocol type */
-       int     timeout;                /* for current state */
-       int     rxtimeout;      /* for current retransmit */
-       ulong   flags;          /* options received */
-       uchar   id;             /* id of current message */
-       uchar   confid;         /* id of current config message */
-       uchar   termid;         /* id of current termination message */
-       uchar   rcvdconfid;     /* id of last conf message received */
-       uchar   state;          /* PPP link state */
-       ulong   optmask;                /* which options to request */
-       int     echoack;        /* recieved echo ack */
-       int     echotimeout;    /* echo timeout */
+struct Pstate {
+       int proto;                                      /* protocol type */
+       int timeout;                            /* for current state */
+       int rxtimeout;                          /* for current retransmit */
+       ulong flags;                            /* options received */
+       uchar id;                                       /* id of current message */
+       uchar confid;                           /* id of current config message */
+       uchar termid;                           /* id of current termination message */
+       uchar rcvdconfid;                       /* id of last conf message received */
+       uchar state;                            /* PPP link state */
+       ulong optmask;                          /* which options to request */
+       int echoack;                            /* recieved echo ack */
+       int echotimeout;                        /* echo timeout */
 };
 
-struct Qualstats
-{
-       ulong   reports;
-       ulong   packets;
-       ulong   bytes;
-       ulong   discards;
-       ulong   errors;
+struct Qualstats {
+       ulong reports;
+       ulong packets;
+       ulong bytes;
+       ulong discards;
+       ulong errors;
 };
 
-struct PPP
-{
+struct PPP {
        QLock;
 
-       Chan*   dchan;                  /* serial line */
-       Chan*   cchan;                  /* serial line control */
-       int             framing;        /* non-zero to use framing characters */
-       Ipaddr  local;
-       int             localfrozen;
-       Ipaddr  remote;
-       int             remotefrozen;
-
-       int     pppup;
-       Fs      *f;             /* file system we belong to */
-       Ipifc*  ifc;
-       Proc*   readp;                  /* reading process */
-       Proc*   timep;                  /* timer process */
-       Block*  inbuf;                  /* input buffer */
-       Block*  outbuf;                 /* output buffer */
-       QLock   outlock;                /*  and its lock */
-
-       ulong   magic;                  /* magic number to detect loop backs */
-       ulong   rctlmap;                /* map of chars to ignore in rcvr */
-       ulong   xctlmap;                /* map of chars to excape in xmit */
-       int             phase;          /* PPP phase */
-       Pstate* lcp;                    /* lcp state */
-       Pstate* ipcp;                   /* ipcp state */
-       char    secret[256];            /* md5 key */
-       char    chapname[256];          /* chap system name */
-       Tcpc*   ctcp;
-       ulong           mtu;            /* maximum xmit size */
-       ulong           mru;            /* maximum recv size */
-
-       int     baud;
-       int     usepap; /* authentication is PAP in every sense, not CHAP */
-       int     papid;
-       int     usechap;
+       Chan *dchan;                            /* serial line */
+       Chan *cchan;                            /* serial line control */
+       int framing;                            /* non-zero to use framing characters */
+       Ipaddr local;
+       int localfrozen;
+       Ipaddr remote;
+       int remotefrozen;
+
+       int pppup;
+       Fs *f;                                          /* file system we belong to */
+       Ipifc *ifc;
+       Proc *readp;                            /* reading process */
+       Proc *timep;                            /* timer process */
+       Block *inbuf;                           /* input buffer */
+       Block *outbuf;                          /* output buffer */
+       QLock outlock;                          /*  and its lock */
+
+       ulong magic;                            /* magic number to detect loop backs */
+       ulong rctlmap;                          /* map of chars to ignore in rcvr */
+       ulong xctlmap;                          /* map of chars to excape in xmit */
+       int phase;                                      /* PPP phase */
+       Pstate *lcp;                            /* lcp state */
+       Pstate *ipcp;                           /* ipcp state */
+       char secret[256];                       /* md5 key */
+       char chapname[256];                     /* chap system name */
+       Tcpc *ctcp;
+       ulong mtu;                                      /* maximum xmit size */
+       ulong mru;                                      /* maximum recv size */
+
+       int baud;
+       int usepap;                                     /* authentication is PAP in every sense, not CHAP */
+       int papid;
+       int usechap;
 
        /* rfc */
-       int     usedns;
-       Ipaddr  dns1;
-       Ipaddr  dns2;
+       int usedns;
+       Ipaddr dns1;
+       Ipaddr dns2;
 
        /* link quality monitoring */
-       int             period;         /* lqm period */
-       int             timeout;        /* time to next lqm packet */
-       Qualstats       in;             /* local */
-       Qualstats       out;
-       Qualstats       pin;            /* peer */
-       Qualstats       pout;
-       Qualstats       sin;            /* saved */
+       int period;                                     /* lqm period */
+       int timeout;                            /* time to next lqm packet */
+       Qualstats in;                           /* local */
+       Qualstats out;
+       Qualstats pin;                          /* peer */
+       Qualstats pout;
+       Qualstats sin;                          /* saved */
 };
 
-PPP*           pppopen(PPP*, char*, Ipaddr, Ipaddr, int, int, char*, char*);
-Block* pppread(PPP*);
-int            pppwrite(PPP*, Block*);
-void           pppclose(PPP*);
-
-struct Lcpmsg
-{
-       uchar   code;
-       uchar   id;
-       uchar   len[2];
-       uchar   data[1];
+PPP *pppopen(PPP *, char *, Ipaddr, Ipaddr, int, int, char *, char *);
+Block *pppread(PPP *);
+int pppwrite(PPP *, Block *);
+void pppclose(PPP *);
+
+struct Lcpmsg {
+       uchar code;
+       uchar id;
+       uchar len[2];
+       uchar data[1];
 };
 
-struct Lcpopt
-{
-       uchar   type;
-       uchar   len;
-       uchar   data[1];
+struct Lcpopt {
+       uchar type;
+       uchar len;
+       uchar data[1];
 };
 
-struct Qualpkt
-{
-       uchar   magic[4];
-
-       uchar   lastoutreports[4];
-       uchar   lastoutpackets[4];
-       uchar   lastoutbytes[4];
-       uchar   peerinreports[4];
-       uchar   peerinpackets[4];
-       uchar   peerindiscards[4];
-       uchar   peerinerrors[4];
-       uchar   peerinbytes[4];
-       uchar   peeroutreports[4];
-       uchar   peeroutpackets[4];
-       uchar   peeroutbytes[4];
+struct Qualpkt {
+       uchar magic[4];
+
+       uchar lastoutreports[4];
+       uchar lastoutpackets[4];
+       uchar lastoutbytes[4];
+       uchar peerinreports[4];
+       uchar peerinpackets[4];
+       uchar peerindiscards[4];
+       uchar peerinerrors[4];
+       uchar peerinbytes[4];
+       uchar peeroutreports[4];
+       uchar peeroutpackets[4];
+       uchar peeroutbytes[4];
 };
 
-ushort compress(Tcpc*, Block*, Fs*);
-Tcpc*  compress_init(Tcpc*);
-int            compress_negotiate(Tcpc*, uchar*);
-ushort tcpcompress(Tcpc*, Block*, Fs*);
-Block* tcpuncompress(Tcpc*, Block*, ushort, Fs*);
+ushort compress(Tcpc *, Block *, Fs *);
+Tcpc *compress_init(Tcpc *);
+int compress_negotiate(Tcpc *, uchar *);
+ushort tcpcompress(Tcpc *, Block *, Fs *);
+Block *tcpuncompress(Tcpc *, Block *, ushort, Fs *);