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__ |