20 #include "ns3/boolean.h" 21 #include "ns3/uinteger.h" 22 #include "ns3/buffer.h" 23 #include "ns3/header.h" 37 .SetGroupName(
"Network")
39 .AddAttribute (
"CaptureSize",
40 "Maximum length of captured packets (cf. pcap snaplen)",
44 .AddAttribute (
"NanosecMode",
45 "Whether packet timestamps in the PCAP file are nanoseconds or microseconds(default).",
125 uint64_t s = current / 1000000000;
126 uint64_t ns = current % 1000000000;
132 uint64_t s = current / 1000000;
133 uint64_t us = current % 1000000;
145 uint64_t s = current / 1000000000;
146 uint64_t ns = current % 1000000000;
152 uint64_t s = current / 1000000;
153 uint64_t us = current % 1000000;
165 uint64_t s = current / 1000000000;
166 uint64_t ns = current % 1000000000;
172 uint64_t s = current / 1000000;
173 uint64_t us = current % 1000000;
187 uint32_t maxBytes=65536;
188 uint8_t datbuf[maxBytes];
190 m_file.
Read (datbuf,maxBytes,tsSec,tsUsec,inclLen,origLen,readLen);
206 return Create<Packet> (datbuf,origLen);
Simulation virtual time values and global simulation resolution.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
AttributeValue implementation for Boolean.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
uint32_t GetMagic(void)
Returns the magic number of the pcap file as defined by the magic_number field in the pcap global hea...
uint16_t GetVersionMinor(void)
Returns the minor version of the pcap file as defined by the version_minor field in the pcap global h...
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
void Write(Time t, Ptr< const Packet > p)
Write the next packet to file.
void Init(uint32_t dataLinkType, uint32_t snapLen=std::numeric_limits< uint32_t >::max(), int32_t tzCorrection=PcapFile::ZONE_DEFAULT)
Initialize the pcap file associated with this wrapper.
void Init(uint32_t dataLinkType, uint32_t snapLen=SNAPLEN_DEFAULT, int32_t timeZoneCorrection=ZONE_DEFAULT, bool swapMode=false, bool nanosecMode=false)
Initialize the pcap file associated with this object.
uint16_t GetVersionMajor(void)
Returns the major version of the pcap file as defined by the version_major field in the pcap global h...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
uint32_t GetDataLinkType(void)
Returns the data link type field of the pcap file as defined by the network field in the pcap global ...
Time NanoSeconds(uint64_t value)
Construct a Time in the indicated unit.
void Read(uint8_t *const data, uint32_t maxBytes, uint32_t &tsSec, uint32_t &tsUsec, uint32_t &inclLen, uint32_t &origLen, uint32_t &readLen)
Read next packet from file.
Hold an unsigned integer type.
static TypeId GetTypeId(void)
Get the type ID.
int32_t GetTimeZoneOffset(void)
Returns the time zone offset of the pcap file as defined by the thiszone field in the pcap global hea...
void Clear(void)
Clear all state bits of the underlying iostream.
Ptr< Packet > Read(Time &t)
Read the next packet from the file.
int64_t GetMicroSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
void Open(std::string const &filename, std::ios::openmode mode)
Create a new pcap file or open an existing pcap file.
uint32_t GetMagic(void)
Returns the magic number of the pcap file as defined by the magic_number field in the pcap global hea...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
int64_t GetNanoSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
void Clear(void)
Clear all state bits of the underlying iostream.
Ptr< const AttributeChecker > MakeBooleanChecker(void)
static const uint32_t SNAPLEN_DEFAULT
Default value for maximum octets to save per packet.
uint16_t GetVersionMinor(void)
Returns the minor version of the pcap file as defined by the version_minor field in the pcap global h...
uint32_t GetSigFigs(void)
Returns the accuracy of timestamps field of the pcap file as defined by the sigfigs field in the pcap...
void Close(void)
Close the underlying file.
uint16_t GetVersionMajor(void)
Returns the major version of the pcap file as defined by the version_major field in the pcap global h...
uint32_t GetSigFigs(void)
Returns the accuracy of timestamps field of the pcap file as defined by the sigfigs field in the pcap...
bool m_nanosecMode
Timestamps in nanosecond mode.
PcapFile m_file
Pcap file.
void Open(std::string const &filename, std::ios::openmode mode)
Create a new pcap file or open an existing pcap file.
uint32_t m_snapLen
max length of saved packets
Time MicroSeconds(uint64_t value)
Construct a Time in the indicated unit.
uint32_t GetDataLinkType(void)
Returns the data link type field of the pcap file as defined by the network field in the pcap global ...
A base class which provides memory management and object aggregation.
void Close(void)
Close the underlying pcap file.
void Write(uint32_t tsSec, uint32_t tsUsec, uint8_t const *const data, uint32_t totalLen)
Write next packet to file.
A class that wraps a PcapFile as an ns3::Object and provides a higher-layer ns-3 interface to the low...
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
a unique identifier for an interface.
bool IsNanoSecMode(void)
Get the nanosecond mode of the file.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
uint32_t GetSnapLen(void)
Returns the max length of saved packets field of the pcap file as defined by the snaplen field in the...
uint32_t GetSnapLen(void)
Returns the max length of saved packets field of the pcap file as defined by the snaplen field in the...
int32_t GetTimeZoneOffset(void)
Returns the time zone offset of the pcap file as defined by the thiszone field in the pcap global hea...