etherpkt.hh (11263:8dcc6b40f164) etherpkt.hh (11290:1640dd68b0a4)
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 57 unchanged lines hidden (view full) ---

66
67 explicit EthPacketData(unsigned size)
68 : data(new uint8_t[size]), length(0)
69 { }
70
71 ~EthPacketData() { if (data) delete [] data; }
72
73 public:
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 57 unchanged lines hidden (view full) ---

66
67 explicit EthPacketData(unsigned size)
68 : data(new uint8_t[size]), length(0)
69 { }
70
71 ~EthPacketData() { if (data) delete [] data; }
72
73 public:
74 /**
75 * This function pulls out the MAC source and destination addresses from
76 * the packet data and stores them in the caller specified buffers.
77 *
78 * @param src_addr The buffer to store the source MAC address.
79 * @param dst_addr The buffer to store the destination MAC address.
80 * @param length This is an inout parameter. The caller stores in this
81 * the size of the address buffers. On return, this will contain the
82 * actual address size stored in the buffers. (We assume that source
83 * address size is equal to that of the destination address.)
84 */
85 void packAddress(uint8_t *src_addr, uint8_t *dst_addr, unsigned &length);
86
87 void serialize(const std::string &base, CheckpointOut &cp) const;
88 void unserialize(const std::string &base, CheckpointIn &cp);
89
90 unsigned size() const { return length; }
91};
92
93typedef std::shared_ptr<EthPacketData> EthPacketPtr;
94
95#endif // __DEV_NET_ETHERPKT_HH__
74
75 void serialize(const std::string &base, CheckpointOut &cp) const;
76 void unserialize(const std::string &base, CheckpointIn &cp);
77
78 unsigned size() const { return length; }
79};
80
81typedef std::shared_ptr<EthPacketData> EthPacketPtr;
82
83#endif // __DEV_NET_ETHERPKT_HH__