src/devices/wifi/ssid.cc
author Pavel Boyko <boyko@iitp.ru>
Tue, 16 Jun 2009 17:58:16 +0400
changeset 5074 355de6af8ea9
parent 3587 53e2e87aebd0
child 5819 514ec98954ab
permissions -rw-r--r--
merged with nsnam
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
/*
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
 * Copyright (c) 2006 INRIA
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
 *
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
 *
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
 * GNU General Public License for more details.
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
 *
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
 *
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
 */
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
#include "ssid.h"
1974
0d6b3bead74a replace cassert by ns3/assert.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1938
diff changeset
    21
#include "ns3/assert.h"
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
1938
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
    23
#define ELEMENT_ID (0)
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
    24
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
namespace ns3 {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
Ssid::Ssid ()
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
{
1937
996383a87ae3 add new code to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1888
diff changeset
    29
  m_length = 0;
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
  for (uint8_t i = 0; i < 33; i++) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
      m_ssid[i] = 0;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
    }
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
}
3587
53e2e87aebd0 use std::string instead of raw string
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2582
diff changeset
    35
Ssid::Ssid (std::string s)
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
{
3587
53e2e87aebd0 use std::string instead of raw string
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2582
diff changeset
    37
  NS_ASSERT (s.size () < 32);
53e2e87aebd0 use std::string instead of raw string
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2582
diff changeset
    38
  const char *ssid = s.c_str ();
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
  uint8_t len = 0;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
  while (*ssid != 0 && len < 32) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
      m_ssid[len] = *ssid;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
      ssid++;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
      len++;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
    }
2021
99a028507709 initialize the m_length field.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2020
diff changeset
    46
  NS_ASSERT (len <= 32);
99a028507709 initialize the m_length field.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2020
diff changeset
    47
  m_length = len;
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
  while (len < 33) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    50
      m_ssid[len] = 0;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    51
      len++;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    52
    }
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
}
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    54
Ssid::Ssid (char const ssid[32], uint8_t length)
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    55
{
1974
0d6b3bead74a replace cassert by ns3/assert.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1938
diff changeset
    56
  NS_ASSERT (length <= 32);
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
  uint8_t len = 0;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    58
  while (len < length) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    60
      m_ssid[len] = ssid[len];
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    61
      len++;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    62
    }
2021
99a028507709 initialize the m_length field.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2020
diff changeset
    63
  m_length = length;
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
  while (len < 33) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    65
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    66
      m_ssid[len] = 0;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    67
      len++;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    68
    }
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    69
}
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    70
bool 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    71
Ssid::IsEqual (Ssid const &o) const
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    72
{
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    73
  uint8_t i = 0;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    74
  while (i < 32 && 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    75
         m_ssid[i] == o.m_ssid[i] &&
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    76
         m_ssid[i] != 0) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    77
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    78
      i++;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    79
    }
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    80
  if (m_ssid[i] != o.m_ssid[i]) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    81
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    82
      return false;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    83
    }
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    84
  return true;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    85
}
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    86
bool 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    87
Ssid::IsBroadcast (void) const
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    88
{
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    89
  if (m_ssid[0] == 0) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    90
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    91
      return true;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    92
    }
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    93
  return false;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    94
}
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    95
uint32_t 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    96
Ssid::GetLength (void) const
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    97
{
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
  uint8_t size = 0;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
  while (m_ssid[size] != 0 && size < 32) 
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   100
    {
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
      size++;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
    }
1974
0d6b3bead74a replace cassert by ns3/assert.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1938
diff changeset
   103
  NS_ASSERT (size <= 32);
1888
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   104
  return size;
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   105
}
dbeef4fcff5a add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   106
2013
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   107
char *
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   108
Ssid::PeekString (void) const
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   109
{
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   110
  // it is safe to return a pointer to the buffer because it is
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   111
  // guaranteed to be zero-terminated.
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   112
  return (char *)m_ssid;
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   113
}
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   114
1938
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   115
uint32_t 
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   116
Ssid::GetSerializedSize (void) const
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   117
{
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   118
  return 1 + 1 + m_length;
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   119
}
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   120
Buffer::Iterator 
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   121
Ssid::Serialize (Buffer::Iterator i) const
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   122
{
2021
99a028507709 initialize the m_length field.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2020
diff changeset
   123
  NS_ASSERT (m_length <= 32);
1938
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   124
  i.WriteU8 (ELEMENT_ID);
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   125
  i.WriteU8 (m_length);
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   126
  i.Write (m_ssid, m_length);
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   127
  return i;
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   128
}
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   129
Buffer::Iterator 
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   130
Ssid::Deserialize (Buffer::Iterator i)
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   131
{
2077
8ff95ff1ed2e fix optimized builds
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2021
diff changeset
   132
  uint8_t elementId;
8ff95ff1ed2e fix optimized builds
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2021
diff changeset
   133
  elementId = i.ReadU8 ();
1938
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   134
  NS_ASSERT (elementId == ELEMENT_ID);
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   135
  m_length = i.ReadU8 ();
2020
38a5381d93cd check the ssid length
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2013
diff changeset
   136
  NS_ASSERT (m_length <= 32);
1938
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   137
  i.Read (m_ssid, m_length);
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   138
  return i;
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   139
}
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   140
2582
3e28107b870f rename old VALUE leftovers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2527
diff changeset
   141
ATTRIBUTE_HELPER_CPP (Ssid);
2527
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   142
2013
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   143
std::ostream &
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   144
operator << (std::ostream &os, const Ssid &ssid)
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   145
{
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   146
  os << ssid.PeekString ();
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   147
  return os;
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   148
}
4a5335c67eac add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1978
diff changeset
   149
2527
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   150
std::istream &operator >> (std::istream &is, Ssid &ssid)
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   151
{
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   152
  std::string str;
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   153
  is >> str;
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   154
  ssid = Ssid (str.c_str ());
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   155
  return is;
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   156
}
75df305d02d9 give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2077
diff changeset
   157
1938
f7e9802ea8e3 add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1937
diff changeset
   158
1937
996383a87ae3 add new code to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1888
diff changeset
   159
} // namespace ns3