trace: reimplement the DTRACE function so it doesn't use a vector
[gem5.git] / src / dev / etherpkt.hh
index 80c7baff7c9675c0f8e68609a4402272d72ce0e3..c71d9cc308c3cd06e341f96679309675aef5622c 100644 (file)
 #ifndef __ETHERPKT_HH__
 #define __ETHERPKT_HH__
 
+#include <cassert>
 #include <iosfwd>
 #include <memory>
-#include <assert.h>
 
 #include "base/refcnt.hh"
-#include "sim/host.hh"
+#include "base/types.hh"
 
 /*
  * Reference counted class containing ethernet packet data
@@ -58,22 +58,21 @@ class EthPacketData : public RefCounted
     /*
      * Length of the current packet
      */
-    int length;
-
-    /*
-     * Extra space taken up by the packet in whatever data structure
-     * it is in.
-     *
-     * NOTE: This can only be use by *one* data structure at a time!
-     */
-    int slack;
+    unsigned length;
 
   public:
-    EthPacketData() : data(NULL), length(0), slack(0) { }
-    explicit EthPacketData(size_t size)
-        : data(new uint8_t[size]), length(0), slack(0) { }
-    EthPacketData(std::auto_ptr<uint8_t> d, int l, int s = 0)
-        : data(d.release()), length(l), slack(s) { }
+    EthPacketData()
+        : data(NULL), length(0)
+    { }
+
+    explicit EthPacketData(unsigned size)
+        : data(new uint8_t[size]), length(0)
+    { }
+
+    EthPacketData(std::auto_ptr<uint8_t> d, int l)
+        : data(d.release()), length(l)
+    { }
+
     ~EthPacketData() { if (data) delete [] data; }
 
   public: