src/devices/wifi/mgt-headers.cc
changeset 6381 cbc1b93b298a
parent 5949 66f939e7aaec
child 6382 9e5768e48981
equal deleted inserted replaced
6380:650233cda60e 6381:cbc1b93b298a
    85 }
    85 }
    86 void
    86 void
    87 MgtProbeRequestHeader::Serialize (Buffer::Iterator start) const
    87 MgtProbeRequestHeader::Serialize (Buffer::Iterator start) const
    88 {  
    88 {  
    89   Buffer::Iterator i = start;
    89   Buffer::Iterator i = start;
    90   i = m_ssid.Serialize (i);
    90   i = m_ssid.SerializeIE (i);
    91   i = m_rates.Serialize (i);
    91   i = m_rates.SerializeIE (i);
    92 }
    92 }
    93 uint32_t
    93 uint32_t
    94 MgtProbeRequestHeader::Deserialize (Buffer::Iterator start)
    94 MgtProbeRequestHeader::Deserialize (Buffer::Iterator start)
    95 {
    95 {
    96   Buffer::Iterator i = start;
    96   Buffer::Iterator i = start;
    97   i = m_ssid.Deserialize (i);
    97   i = m_ssid.DeserializeIE (i);
    98   i = m_rates.Deserialize (i);
    98   i = m_rates.DeserializeIE (i);
    99   return i.GetDistanceFrom (start);
    99   return i.GetDistanceFrom (start);
   100 }
   100 }
   101 
   101 
   102 
   102 
   103 /***********************************************************
   103 /***********************************************************
   194   //XXX
   194   //XXX
   195   Buffer::Iterator i = start;
   195   Buffer::Iterator i = start;
   196   i.WriteHtonU64 (Simulator::Now ().GetMicroSeconds ());
   196   i.WriteHtonU64 (Simulator::Now ().GetMicroSeconds ());
   197   i.WriteHtonU16 (m_beaconInterval / 1024);
   197   i.WriteHtonU16 (m_beaconInterval / 1024);
   198   i = m_capability.Serialize (i);
   198   i = m_capability.Serialize (i);
   199   i = m_ssid.Serialize (i);
   199   i = m_ssid.SerializeIE (i);
   200   i = m_rates.Serialize (i);
   200   i = m_rates.SerializeIE (i);
   201   //i.WriteU8 (0, 3); // ds parameter set.
   201   //i.WriteU8 (0, 3); // ds parameter set.
   202 }
   202 }
   203 uint32_t
   203 uint32_t
   204 MgtProbeResponseHeader::Deserialize (Buffer::Iterator start)
   204 MgtProbeResponseHeader::Deserialize (Buffer::Iterator start)
   205 {
   205 {
   206   Buffer::Iterator i = start;
   206   Buffer::Iterator i = start;
   207   m_timestamp = i.ReadNtohU64();
   207   m_timestamp = i.ReadNtohU64();
   208   m_beaconInterval = i.ReadNtohU16 ();
   208   m_beaconInterval = i.ReadNtohU16 ();
   209   m_beaconInterval *= 1024;
   209   m_beaconInterval *= 1024;
   210   i = m_capability.Deserialize (i);
   210   i = m_capability.Deserialize (i);
   211   i = m_ssid.Deserialize (i);
   211   i = m_ssid.DeserializeIE (i);
   212   i = m_rates.Deserialize (i);
   212   i = m_rates.DeserializeIE (i);
   213   //i.Next (3); // ds parameter set
   213   //i.Next (3); // ds parameter set
   214   return i.GetDistanceFrom (start);
   214   return i.GetDistanceFrom (start);
   215 }
   215 }
   216 
   216 
   217 /***********************************************************
   217 /***********************************************************
   291 MgtAssocRequestHeader::Serialize (Buffer::Iterator start) const
   291 MgtAssocRequestHeader::Serialize (Buffer::Iterator start) const
   292 {
   292 {
   293   Buffer::Iterator i = start;
   293   Buffer::Iterator i = start;
   294   i = m_capability.Serialize (i);
   294   i = m_capability.Serialize (i);
   295   i.WriteHtonU16 (m_listenInterval);
   295   i.WriteHtonU16 (m_listenInterval);
   296   i = m_ssid.Serialize (i);
   296   i = m_ssid.SerializeIE (i);
   297   i = m_rates.Serialize (i);
   297   i = m_rates.SerializeIE (i);
   298 }
   298 }
   299 uint32_t
   299 uint32_t
   300 MgtAssocRequestHeader::Deserialize (Buffer::Iterator start)
   300 MgtAssocRequestHeader::Deserialize (Buffer::Iterator start)
   301 {
   301 {
   302   Buffer::Iterator i = start;
   302   Buffer::Iterator i = start;
   303   i = m_capability.Deserialize (i);
   303   i = m_capability.Deserialize (i);
   304   m_listenInterval = i.ReadNtohU16 ();
   304   m_listenInterval = i.ReadNtohU16 ();
   305   i = m_ssid.Deserialize (i);
   305   i = m_ssid.DeserializeIE (i);
   306   i = m_rates.Deserialize (i);
   306   i = m_rates.DeserializeIE (i);
   307   return i.GetDistanceFrom (start);
   307   return i.GetDistanceFrom (start);
   308 }
   308 }
   309 
   309 
   310 /***********************************************************
   310 /***********************************************************
   311  *          Assoc Response
   311  *          Assoc Response
   376 {
   376 {
   377   Buffer::Iterator i = start;
   377   Buffer::Iterator i = start;
   378   i = m_capability.Serialize (i);
   378   i = m_capability.Serialize (i);
   379   i = m_code.Serialize (i);
   379   i = m_code.Serialize (i);
   380   i.WriteHtonU16 (m_aid);
   380   i.WriteHtonU16 (m_aid);
   381   i = m_rates.Serialize (i);
   381   i = m_rates.SerializeIE (i);
   382 }
   382 }
   383 uint32_t
   383 uint32_t
   384 MgtAssocResponseHeader::Deserialize (Buffer::Iterator start)
   384 MgtAssocResponseHeader::Deserialize (Buffer::Iterator start)
   385 {
   385 {
   386   Buffer::Iterator i = start;
   386   Buffer::Iterator i = start;
   387   i = m_capability.Deserialize (i);
   387   i = m_capability.Deserialize (i);
   388   i = m_code.Deserialize (i);
   388   i = m_code.Deserialize (i);
   389   m_aid = i.ReadNtohU16 ();
   389   m_aid = i.ReadNtohU16 ();
   390   i = m_rates.Deserialize (i);
   390   i = m_rates.DeserializeIE (i);
   391   return i.GetDistanceFrom (start);
   391   return i.GetDistanceFrom (start);
   392 }
   392 }
   393 /**********************************************************
   393 /**********************************************************
   394  *   ActionFrame
   394  *   ActionFrame
   395  **********************************************************/
   395  **********************************************************/