Renamed OpClass enum members: they all end in 'Op' now.
[gem5.git] / dev / etherpkt.hh
index 4927cc7796f1da6fa3c6505705a71fc0ff274915..27ac526d693f5d9a534ce15f6c89ae9617c64043 100644 (file)
 #ifndef __ETHERPKT_HH__
 #define __ETHERPKT_HH__
 
+#include <iosfwd>
 #include <memory>
 
-#include "host.hh"
+#include "sim/host.hh"
+#include "base/refcnt.hh"
 
-#include "refcnt.hh"
+class Checkpoint;
 
 /*
  * Reference counted class containing ethernet packet data
@@ -58,6 +60,9 @@ class EtherPacket : public RefCounted
     bool IsUnicast() { return data[0] == 0x00; }
     bool IsMulticast() { return data[0] == 0x01; }
     bool IsBroadcast() { return data[0] == 0xff; }
+
+    void serialize(std::ostream &os);
+    void unserialize(Checkpoint *cp, const std::string &section);
 };
 
 typedef RefCountingPtr<EtherPacket> PacketPtr;