81 } |
92 } |
82 void |
93 void |
83 MgtProbeRequestHeader::Print (std::ostream &os) const |
94 MgtProbeRequestHeader::Print (std::ostream &os) const |
84 { |
95 { |
85 os << "ssid=" << m_ssid << ", " |
96 os << "ssid=" << m_ssid << ", " |
86 << "rates=" << m_rates; |
97 << "rates=" << m_rates << ", " |
|
98 << "HT Capabilities=" << m_htCapability; |
87 } |
99 } |
88 void |
100 void |
89 MgtProbeRequestHeader::Serialize (Buffer::Iterator start) const |
101 MgtProbeRequestHeader::Serialize (Buffer::Iterator start) const |
90 { |
102 { |
91 Buffer::Iterator i = start; |
103 Buffer::Iterator i = start; |
92 i = m_ssid.Serialize (i); |
104 i = m_ssid.Serialize (i); |
93 i = m_rates.Serialize (i); |
105 i = m_rates.Serialize (i); |
94 i = m_rates.extended.Serialize (i); |
106 i = m_rates.extended.Serialize (i); |
|
107 i = m_htCapability.Serialize(i); |
95 } |
108 } |
96 uint32_t |
109 uint32_t |
97 MgtProbeRequestHeader::Deserialize (Buffer::Iterator start) |
110 MgtProbeRequestHeader::Deserialize (Buffer::Iterator start) |
98 { |
111 { |
99 Buffer::Iterator i = start; |
112 Buffer::Iterator i = start; |
100 i = m_ssid.Deserialize (i); |
113 i = m_ssid.Deserialize (i); |
101 i = m_rates.Deserialize (i); |
114 i = m_rates.Deserialize (i); |
102 i = m_rates.extended.DeserializeIfPresent (i); |
115 i = m_rates.extended.DeserializeIfPresent (i); |
|
116 i = m_htCapability.DeserializeIfPresent (i); |
103 return i.GetDistanceFrom (start); |
117 return i.GetDistanceFrom (start); |
104 } |
118 } |
105 |
119 |
106 |
120 |
107 /*********************************************************** |
121 /*********************************************************** |
175 size += m_capability.GetSerializedSize (); |
199 size += m_capability.GetSerializedSize (); |
176 size += m_ssid.GetSerializedSize (); |
200 size += m_ssid.GetSerializedSize (); |
177 size += m_rates.GetSerializedSize (); |
201 size += m_rates.GetSerializedSize (); |
178 //size += 3; // ds parameter set |
202 //size += 3; // ds parameter set |
179 size += m_rates.extended.GetSerializedSize (); |
203 size += m_rates.extended.GetSerializedSize (); |
|
204 size += m_htCapability.GetSerializedSize(); |
180 // xxx |
205 // xxx |
181 return size; |
206 return size; |
182 } |
207 } |
183 void |
208 void |
184 MgtProbeResponseHeader::Print (std::ostream &os) const |
209 MgtProbeResponseHeader::Print (std::ostream &os) const |
185 { |
210 { |
186 os << "ssid=" << m_ssid << ", " |
211 os << "ssid=" << m_ssid << ", " |
187 << "rates=" << m_rates; |
212 << "rates=" << m_rates << ", " |
|
213 << "HT Capabilities=" << m_htCapability; |
188 } |
214 } |
189 void |
215 void |
190 MgtProbeResponseHeader::Serialize (Buffer::Iterator start) const |
216 MgtProbeResponseHeader::Serialize (Buffer::Iterator start) const |
191 { |
217 { |
192 // timestamp |
218 // timestamp |
205 i = m_capability.Serialize (i); |
231 i = m_capability.Serialize (i); |
206 i = m_ssid.Serialize (i); |
232 i = m_ssid.Serialize (i); |
207 i = m_rates.Serialize (i); |
233 i = m_rates.Serialize (i); |
208 //i.WriteU8 (0, 3); // ds parameter set. |
234 //i.WriteU8 (0, 3); // ds parameter set. |
209 i = m_rates.extended.Serialize (i); |
235 i = m_rates.extended.Serialize (i); |
|
236 i = m_htCapability.Serialize(i); |
210 } |
237 } |
211 uint32_t |
238 uint32_t |
212 MgtProbeResponseHeader::Deserialize (Buffer::Iterator start) |
239 MgtProbeResponseHeader::Deserialize (Buffer::Iterator start) |
213 { |
240 { |
214 Buffer::Iterator i = start; |
241 Buffer::Iterator i = start; |
218 i = m_capability.Deserialize (i); |
245 i = m_capability.Deserialize (i); |
219 i = m_ssid.Deserialize (i); |
246 i = m_ssid.Deserialize (i); |
220 i = m_rates.Deserialize (i); |
247 i = m_rates.Deserialize (i); |
221 //i.Next (3); // ds parameter set |
248 //i.Next (3); // ds parameter set |
222 i = m_rates.extended.DeserializeIfPresent (i); |
249 i = m_rates.extended.DeserializeIfPresent (i); |
|
250 i = m_htCapability.DeserializeIfPresent (i); |
223 return i.GetDistanceFrom (start); |
251 return i.GetDistanceFrom (start); |
224 } |
252 } |
225 |
253 |
226 /*********************************************************** |
254 /*********************************************************** |
227 * Assoc Request |
255 * Assoc Request |
245 void |
273 void |
246 MgtAssocRequestHeader::SetSupportedRates (SupportedRates rates) |
274 MgtAssocRequestHeader::SetSupportedRates (SupportedRates rates) |
247 { |
275 { |
248 m_rates = rates; |
276 m_rates = rates; |
249 } |
277 } |
|
278 void |
|
279 MgtAssocRequestHeader::SetHtCapabilities(HtCapabilities htcapabilities) |
|
280 { |
|
281 m_htCapability = htcapabilities; |
|
282 } |
250 void |
283 void |
251 MgtAssocRequestHeader::SetListenInterval (uint16_t interval) |
284 MgtAssocRequestHeader::SetListenInterval (uint16_t interval) |
252 { |
285 { |
253 m_listenInterval = interval; |
286 m_listenInterval = interval; |
|
287 } |
|
288 HtCapabilities |
|
289 MgtAssocRequestHeader::GetHtCapabilities (void) const |
|
290 { |
|
291 return m_htCapability; |
254 } |
292 } |
255 Ssid |
293 Ssid |
256 MgtAssocRequestHeader::GetSsid (void) const |
294 MgtAssocRequestHeader::GetSsid (void) const |
257 { |
295 { |
258 return m_ssid; |
296 return m_ssid; |
288 uint32_t size = 0; |
326 uint32_t size = 0; |
289 size += m_capability.GetSerializedSize (); |
327 size += m_capability.GetSerializedSize (); |
290 size += 2; |
328 size += 2; |
291 size += m_ssid.GetSerializedSize (); |
329 size += m_ssid.GetSerializedSize (); |
292 size += m_rates.GetSerializedSize (); |
330 size += m_rates.GetSerializedSize (); |
|
331 size += m_htCapability.GetSerializedSize(); |
293 size += m_rates.extended.GetSerializedSize (); |
332 size += m_rates.extended.GetSerializedSize (); |
294 return size; |
333 return size; |
295 } |
334 } |
296 void |
335 void |
297 MgtAssocRequestHeader::Print (std::ostream &os) const |
336 MgtAssocRequestHeader::Print (std::ostream &os) const |
298 { |
337 { |
299 os << "ssid=" << m_ssid << ", " |
338 os << "ssid=" << m_ssid << ", " |
300 << "rates=" << m_rates; |
339 << "rates=" << m_rates<< ", " |
|
340 << "HT Capabilities=" << m_htCapability; |
301 } |
341 } |
302 void |
342 void |
303 MgtAssocRequestHeader::Serialize (Buffer::Iterator start) const |
343 MgtAssocRequestHeader::Serialize (Buffer::Iterator start) const |
304 { |
344 { |
305 Buffer::Iterator i = start; |
345 Buffer::Iterator i = start; |
306 i = m_capability.Serialize (i); |
346 i = m_capability.Serialize (i); |
307 i.WriteHtolsbU16 (m_listenInterval); |
347 i.WriteHtolsbU16 (m_listenInterval); |
308 i = m_ssid.Serialize (i); |
348 i = m_ssid.Serialize (i); |
309 i = m_rates.Serialize (i); |
349 i = m_rates.Serialize (i); |
310 i = m_rates.extended.Serialize (i); |
350 i = m_rates.extended.Serialize (i); |
|
351 i = m_htCapability.Serialize(i); |
311 } |
352 } |
312 uint32_t |
353 uint32_t |
313 MgtAssocRequestHeader::Deserialize (Buffer::Iterator start) |
354 MgtAssocRequestHeader::Deserialize (Buffer::Iterator start) |
314 { |
355 { |
315 Buffer::Iterator i = start; |
356 Buffer::Iterator i = start; |
316 i = m_capability.Deserialize (i); |
357 i = m_capability.Deserialize (i); |
317 m_listenInterval = i.ReadLsbtohU16 (); |
358 m_listenInterval = i.ReadLsbtohU16 (); |
318 i = m_ssid.Deserialize (i); |
359 i = m_ssid.Deserialize (i); |
319 i = m_rates.Deserialize (i); |
360 i = m_rates.Deserialize (i); |
320 i = m_rates.extended.DeserializeIfPresent (i); |
361 i = m_rates.extended.DeserializeIfPresent (i); |
|
362 i = m_htCapability.DeserializeIfPresent (i); |
321 return i.GetDistanceFrom (start); |
363 return i.GetDistanceFrom (start); |
322 } |
364 } |
323 |
365 |
324 /*********************************************************** |
366 /*********************************************************** |
325 * Assoc Response |
367 * Assoc Response |
353 void |
395 void |
354 MgtAssocResponseHeader::SetSupportedRates (SupportedRates rates) |
396 MgtAssocResponseHeader::SetSupportedRates (SupportedRates rates) |
355 { |
397 { |
356 m_rates = rates; |
398 m_rates = rates; |
357 } |
399 } |
358 |
400 void |
|
401 MgtAssocResponseHeader::SetHtCapabilities(HtCapabilities htcapabilities) |
|
402 { |
|
403 m_htCapability=htcapabilities; |
|
404 } |
|
405 |
|
406 HtCapabilities |
|
407 MgtAssocResponseHeader::GetHtCapabilities (void) const |
|
408 { |
|
409 return m_htCapability; |
|
410 } |
359 TypeId |
411 TypeId |
360 MgtAssocResponseHeader::GetTypeId (void) |
412 MgtAssocResponseHeader::GetTypeId (void) |
361 { |
413 { |
362 static TypeId tid = TypeId ("ns3::MgtAssocResponseHeader") |
414 static TypeId tid = TypeId ("ns3::MgtAssocResponseHeader") |
363 .SetParent<Header> () |
415 .SetParent<Header> () |
377 size += m_capability.GetSerializedSize (); |
429 size += m_capability.GetSerializedSize (); |
378 size += m_code.GetSerializedSize (); |
430 size += m_code.GetSerializedSize (); |
379 size += 2; // aid |
431 size += 2; // aid |
380 size += m_rates.GetSerializedSize (); |
432 size += m_rates.GetSerializedSize (); |
381 size += m_rates.extended.GetSerializedSize (); |
433 size += m_rates.extended.GetSerializedSize (); |
|
434 size += m_htCapability.GetSerializedSize(); |
382 return size; |
435 return size; |
383 } |
436 } |
384 |
437 |
385 void |
438 void |
386 MgtAssocResponseHeader::Print (std::ostream &os) const |
439 MgtAssocResponseHeader::Print (std::ostream &os) const |
387 { |
440 { |
388 os << "status code=" << m_code << ", " |
441 os << "status code=" << m_code << ", " |
389 << "rates=" << m_rates; |
442 << "rates=" << m_rates << ", " |
|
443 << "HT Capabilities=" << m_htCapability; |
390 } |
444 } |
391 void |
445 void |
392 MgtAssocResponseHeader::Serialize (Buffer::Iterator start) const |
446 MgtAssocResponseHeader::Serialize (Buffer::Iterator start) const |
393 { |
447 { |
394 Buffer::Iterator i = start; |
448 Buffer::Iterator i = start; |
395 i = m_capability.Serialize (i); |
449 i = m_capability.Serialize (i); |
396 i = m_code.Serialize (i); |
450 i = m_code.Serialize (i); |
397 i.WriteHtolsbU16 (m_aid); |
451 i.WriteHtolsbU16 (m_aid); |
398 i = m_rates.Serialize (i); |
452 i = m_rates.Serialize (i); |
399 i = m_rates.extended.Serialize (i); |
453 i = m_rates.extended.Serialize (i); |
|
454 i = m_htCapability.Serialize(i); |
400 } |
455 } |
401 uint32_t |
456 uint32_t |
402 MgtAssocResponseHeader::Deserialize (Buffer::Iterator start) |
457 MgtAssocResponseHeader::Deserialize (Buffer::Iterator start) |
403 { |
458 { |
404 Buffer::Iterator i = start; |
459 Buffer::Iterator i = start; |
405 i = m_capability.Deserialize (i); |
460 i = m_capability.Deserialize (i); |
406 i = m_code.Deserialize (i); |
461 i = m_code.Deserialize (i); |
407 m_aid = i.ReadLsbtohU16 (); |
462 m_aid = i.ReadLsbtohU16 (); |
408 i = m_rates.Deserialize (i); |
463 i = m_rates.Deserialize (i); |
409 i = m_rates.extended.DeserializeIfPresent (i); |
464 i = m_rates.extended.DeserializeIfPresent (i); |
|
465 i = m_htCapability.DeserializeIfPresent (i); |
410 return i.GetDistanceFrom (start); |
466 return i.GetDistanceFrom (start); |
411 } |
467 } |
412 /********************************************************** |
468 /********************************************************** |
413 * ActionFrame |
469 * ActionFrame |
414 **********************************************************/ |
470 **********************************************************/ |