A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
address-utils.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006 INRIA
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
18
*/
19
#ifndef ADDRESS_UTILS_H
20
#define ADDRESS_UTILS_H
21
22
#include "
ipv4-address.h
"
23
#include "
ipv6-address.h
"
24
#include "
mac16-address.h
"
25
#include "
mac48-address.h
"
26
#include "
mac64-address.h
"
27
28
#include "ns3/address.h"
29
#include "ns3/buffer.h"
30
31
namespace
ns3
32
{
33
34
/**
35
* \brief Write an Ipv4Address to a Buffer
36
* \param i a reference to the buffer to write to
37
* \param ad the Ipv4Address
38
*/
39
void
WriteTo
(Buffer::Iterator& i, Ipv4Address ad);
40
41
/**
42
* \brief Write an Ipv4Address to a Buffer
43
* \param i a reference to the buffer to write to
44
* \param ad the Ipv6Address
45
*/
46
void
WriteTo
(Buffer::Iterator& i, Ipv6Address ad);
47
48
/**
49
* \brief Write an Address to a Buffer
50
* \param i a reference to the buffer to write to
51
* \param ad the Address
52
*/
53
void
WriteTo
(Buffer::Iterator& i,
const
Address& ad);
54
55
/**
56
* \brief Write an Mac64Address to a Buffer
57
* \param i a reference to the buffer to write to
58
* \param ad the Mac64Address
59
*/
60
void
WriteTo
(Buffer::Iterator& i, Mac64Address ad);
61
62
/**
63
* \brief Write an Mac48Address to a Buffer
64
* \param i a reference to the buffer to write to
65
* \param ad the Mac48Address
66
*/
67
void
WriteTo
(Buffer::Iterator& i, Mac48Address ad);
68
69
/**
70
* \brief Write an Mac16Address to a Buffer
71
* \param i a reference to the buffer to write to
72
* \param ad the Mac16Address
73
*/
74
void
WriteTo
(Buffer::Iterator& i, Mac16Address ad);
75
76
/**
77
* \brief Read an Ipv4Address from a Buffer
78
* \param i a reference to the buffer to read from
79
* \param ad a reference to the Ipv4Address to be read
80
*/
81
void
ReadFrom
(Buffer::Iterator& i, Ipv4Address& ad);
82
83
/**
84
* \brief Read an Ipv6Address from a Buffer
85
* \param i a reference to the buffer to read from
86
* \param ad a reference to the Ipv6Address to be read
87
*/
88
void
ReadFrom
(Buffer::Iterator& i, Ipv6Address& ad);
89
90
/**
91
* \brief Read an Address from a Buffer
92
* \param i a reference to the buffer to read from
93
* \param ad a reference to the Address to be read
94
* \param len the length of the Address
95
*/
96
void
ReadFrom
(Buffer::Iterator& i, Address& ad,
uint32_t
len);
97
98
/**
99
* \brief Read a Mac64Address from a Buffer
100
* \param i a reference to the buffer to read from
101
* \param ad a reference to the Mac64Address to be read
102
*/
103
void
ReadFrom
(Buffer::Iterator& i, Mac64Address& ad);
104
105
/**
106
* \brief Read a Mac48Address from a Buffer
107
* \param i a reference to the buffer to read from
108
* \param ad a reference to the Mac48Address to be read
109
*/
110
void
ReadFrom
(Buffer::Iterator& i, Mac48Address& ad);
111
112
/**
113
* \brief Read a Mac16Address from a Buffer
114
* \param i a reference to the buffer to read from
115
* \param ad a reference to the Mac16Address to be read
116
*/
117
void
ReadFrom
(Buffer::Iterator& i, Mac16Address& ad);
118
119
namespace
addressUtils
120
{
121
122
/**
123
* \brief Address family-independent test for a multicast address
124
*/
125
bool
IsMulticast
(
const
Address& ad);
126
};
// namespace addressUtils
127
128
};
// namespace ns3
129
130
#endif
/* ADDRESS_UTILS_H */
uint32_t
ipv4-address.h
ipv6-address.h
mac16-address.h
mac48-address.h
mac64-address.h
ns3::addressUtils::IsMulticast
bool IsMulticast(const Address &ad)
Address family-independent test for a multicast address.
Definition:
address-utils.cc:141
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::WriteTo
void WriteTo(Buffer::Iterator &i, Ipv4Address ad)
Write an Ipv4Address to a Buffer.
Definition:
address-utils.cc:32
ns3::ReadFrom
void ReadFrom(Buffer::Iterator &i, Ipv4Address &ad)
Read an Ipv4Address from a Buffer.
Definition:
address-utils.cc:85
src
network
utils
address-utils.h
Generated on Tue May 28 2024 23:38:41 for ns-3 by
1.9.6