Fix up eipconvtest.c
[akaros.git] / kern / src / net / compress.c
index 0a7bd7a..b0040dc 100644 (file)
@@ -1,12 +1,17 @@
-#include       "u.h"
-#include       "../port/lib.h"
-#include       "mem.h"
-#include       "dat.h"
-#include       "fns.h"
-#include       "../port/error.h"
-
-#include       "ip.h"
-#include       "ppp.h"
+// INFERNO
+#include <vfs.h>
+#include <kfs.h>
+#include <slab.h>
+#include <kmalloc.h>
+#include <kref.h>
+#include <string.h>
+#include <stdio.h>
+#include <assert.h>
+#include <error.h>
+#include <cpio.h>
+#include <pmap.h>
+#include <smp.h>
+#include <ip.h>
 
 typedef struct Iphdr   Iphdr;
 typedef struct Tcphdr  Tcphdr;
@@ -16,39 +21,39 @@ typedef struct Tcpc Tcpc;
 
 struct Iphdr
 {
-       uchar   vihl;           /* Version and header length */
-       uchar   tos;            /* Type of service */
-       uchar   length[2];      /* packet length */
-       uchar   id[2];          /* Identification */
-       uchar   frag[2];        /* Fragment information */
-       uchar   ttl;            /* Time to live */
-       uchar   proto;          /* Protocol */
-       uchar   cksum[2];       /* Header checksum */
-       ulong   src;            /* Ip source (byte ordering unimportant) */
-       ulong   dst;            /* Ip destination (byte ordering unimportant) */
+       uint8_t vihl;           /* Version and header length */
+       uint8_t tos;            /* Type of service */
+       uint8_t length[2];      /* packet length */
+       uint8_t id[2];          /* Identification */
+       uint8_t frag[2];        /* Fragment information */
+       uint8_t ttl;            /* Time to live */
+       uint8_t proto;          /* Protocol */
+       uint8_t cksum[2];       /* Header checksum */
+       uint32_t        src;            /* Ip source (byte ordering unimportant) */
+       uint32_t        dst;            /* Ip destination (byte ordering unimportant) */
 };
 
 struct Tcphdr
 {
-       ulong   ports;          /* defined as a ulong to make comparisons easier */
-       uchar   seq[4];
-       uchar   ack[4];
-       uchar   flag[2];
-       uchar   win[2];
-       uchar   cksum[2];
-       uchar   urg[2];
+       uint32_t        ports;          /* defined as a uint32_t to make comparisons easier */
+       uint8_t seq[4];
+       uint8_t ack[4];
+       uint8_t flag[2];
+       uint8_t win[2];
+       uint8_t cksum[2];
+       uint8_t urg[2];
 };
 
 struct Ilhdr
 {
-       uchar   sum[2]; /* Checksum including header */
-       uchar   len[2]; /* Packet length */
-       uchar   type;           /* Packet type */
-       uchar   spec;           /* Special */
-       uchar   src[2]; /* Src port */
-       uchar   dst[2]; /* Dst port */
-       uchar   id[4];  /* Sequence id */
-       uchar   ack[4]; /* Acked sequence */
+       uint8_t sum[2]; /* Checksum including header */
+       uint8_t len[2]; /* Packet length */
+       uint8_t type;           /* Packet type */
+       uint8_t spec;           /* Special */
+       uint8_t src[2]; /* Src port */
+       uint8_t dst[2]; /* Dst port */
+       uint8_t id[4];  /* Sequence id */
+       uint8_t ack[4]; /* Acked sequence */
 };
 
 enum
@@ -69,7 +74,7 @@ enum
 
 struct Hdr
 {
-       uchar   buf[128];
+       uint8_t buf[128];
        Iphdr   *ip;
        Tcphdr  *tcp;
        int     len;
@@ -77,11 +82,11 @@ struct Hdr
 
 struct Tcpc
 {
-       uchar   lastrecv;
-       uchar   lastxmit;
-       uchar   basexmit;
-       uchar   err;
-       uchar   compressid;
+       uint8_t lastrecv;
+       uint8_t lastxmit;
+       uint8_t basexmit;
+       uint8_t err;
+       uint8_t compressid;
        Hdr     t[MAX_STATES];
        Hdr     r[MAX_STATES];
 };
@@ -105,9 +110,9 @@ enum
 #define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)
 
 int
-encode(void *p, ulong n)
+encode(void *p, uint32_t n)
 {
-       uchar   *cp;
+       uint8_t *cp;
 
        cp = p;
        if(n >= 256 || n == 0) {
@@ -125,7 +130,7 @@ encode(void *p, ulong n)
                hnputl(f, nhgetl(f) + ((cp[1] << 8) | cp[2])); \
                cp += 3; \
        } else { \
-               hnputl(f, nhgetl(f) + (ulong)*cp++); \
+               hnputl(f, nhgetl(f) + (uint32_t)*cp++); \
        } \
 }
 #define DECODES(f) { \
@@ -133,20 +138,20 @@ encode(void *p, ulong n)
                hnputs(f, nhgets(f) + ((cp[1] << 8) | cp[2])); \
                cp += 3; \
        } else { \
-               hnputs(f, nhgets(f) + (ulong)*cp++); \
+               hnputs(f, nhgets(f) + (uint32_t)*cp++); \
        } \
 }
 
-ushort
-tcpcompress(Tcpc *comp, Block *b, Fs *)
+uint16_t
+tcpcompress(Tcpc *comp, struct block *b, struct Fs *)
 {
        Iphdr   *ip;            /* current packet */
        Tcphdr  *tcp;           /* current pkt */
-       ulong   iplen, tcplen, hlen;    /* header length in bytes */
-       ulong   deltaS, deltaA; /* general purpose temporaries */
-       ulong   changes;        /* change mask */
-       uchar   new_seq[16];    /* changes from last to current */
-       uchar   *cp;
+       uint32_t        iplen, tcplen, hlen;    /* header length in bytes */
+       uint32_t        deltaS, deltaA; /* general purpose temporaries */
+       uint32_t        changes;        /* change mask */
+       uint8_t new_seq[16];    /* changes from last to current */
+       uint8_t *cp;
        Hdr     *h;             /* last packet */
        int     i, j;
 
@@ -318,10 +323,10 @@ raise:
        return Pvjutcp;
 }
 
-Block*
-tcpuncompress(Tcpc *comp, Block *b, ushort type, Fs *f)
+struct block*
+tcpuncompress(Tcpc *comp, struct block *b, uint16_t type, struct Fs *f)
 {
-       uchar   *cp, changes;
+       uint8_t *cp, changes;
        int     i;
        int     iplen, len;
        Iphdr   *ip;
@@ -378,7 +383,7 @@ netlog(f, Logcompress, "newc %d\n", comp->lastrecv);
                 */
                if(comp->err != 0){
                        freeblist(b);
-                       return nil;
+                       return NULL;
                }
 netlog(f, Logcompress, "oldc %d\n", comp->lastrecv);
        }
@@ -437,7 +442,7 @@ netlog(f, Logcompress, "oldc %d\n", comp->lastrecv);
                hnputs(ip->id, nhgets(ip->id) + 1);
 
        /*
-        *  At this point, cp points to the first byte of data in the packet.
+        *  At this po int unused_int, cp points to the first byte of data in the packet.
         *  Back up cp by the TCP/IP header length to make room for the
         *  reconstructed header.
         *  We assume the packet we were handed has enough space to prepend
@@ -461,7 +466,7 @@ raise:
        netlog(f, Logcompress, "Bad Packet!\n");
        comp->err = 1;
        freeblist(b);
-       return nil;
+       return NULL;
 }
 
 Tcpc*
@@ -470,10 +475,10 @@ compress_init(Tcpc *c)
        int i;
        Hdr *h;
 
-       if(c == nil){
-               c = malloc(sizeof(Tcpc));
-               if(c == nil)
-                       return nil;
+       if(c == NULL){
+               c = kzmalloc(sizeof(Tcpc), 0);
+               if(c == NULL)
+                       return NULL;
        }
        memset(c, 0, sizeof(*c));
        for(i = 0; i < MAX_STATES; i++){
@@ -490,8 +495,8 @@ compress_init(Tcpc *c)
        return c;
 }
 
-ushort
-compress(Tcpc *tcp, Block *b, Fs *f)
+uint16_t
+compress(Tcpc *tcp, struct block *b, struct Fs *f)
 {
        Iphdr           *ip;
 
@@ -511,7 +516,7 @@ compress(Tcpc *tcp, Block *b, Fs *f)
 }
 
 int
-compress_negotiate(Tcpc *tcp, uchar *data)
+compress_negotiate(Tcpc *tcp, uint8_t *data)
 {
        if(data[0] != MAX_STATES - 1)
                return -1;