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 **********************************************************/ |