--- a/src/devices/wifi/capability-information.cc Tue Oct 09 17:19:13 2007 +0200
+++ b/src/devices/wifi/capability-information.cc Wed Oct 10 11:18:19 2007 +0200
@@ -22,7 +22,72 @@
namespace ns3 {
CapabilityInformation::CapabilityInformation ()
+ : m_capability (0)
{}
+void
+CapabilityInformation::SetEss (void)
+{
+ Set (0);
+ Clear (1);
+}
+void
+CapabilityInformation::SetIbss (void)
+{
+ Clear (0);
+ Set (1);
+}
+
+bool
+CapabilityInformation::IsEss (void) const
+{
+ return Is (0);
+}
+bool
+CapabilityInformation::IsIbss (void) const
+{
+ return Is (1);
+}
+
+void
+CapabilityInformation::Set (uint8_t n)
+{
+ uint32_t mask = 1<<n;
+ m_capability |= mask;
+}
+
+void
+CapabilityInformation::Clear (uint8_t n)
+{
+ uint32_t mask = 1<<n;
+ m_capability &= ~mask;
+}
+
+bool
+CapabilityInformation::Is (uint8_t n) const
+{
+ uint32_t mask = 1<<n;
+ return (m_capability & mask) == mask;
+}
+
+
+uint32_t
+CapabilityInformation::GetSerializedSize (void) const
+{
+ return 2;
+}
+Buffer::Iterator
+CapabilityInformation::Serialize (Buffer::Iterator start) const
+{
+ start.WriteHtonU16 (m_capability);
+ return start;
+}
+Buffer::Iterator
+CapabilityInformation::Deserialize (Buffer::Iterator start)
+{
+ m_capability = start.ReadNtohU16 ();
+ return start;
+}
+
} // namespace ns3