This file is indexed.

/usr/include/ns3.17/ns3/radvd-prefix.h is in libns3-dev 3.17+dfsg-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
 * Copyright (c) 2009 Strasbourg University
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation;
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Author: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
 */

#ifndef RADVD_PREFIX_H
#define RADVD_PREFIX_H 

#include <stdint.h>

#include "ns3/ipv6-address.h"
#include "ns3/simple-ref-count.h"

namespace ns3
{

/**
 * \ingroup radvd
 * \class RadvdPrefix
 * \brief Router prefix for radvd application.
 */
class RadvdPrefix : public SimpleRefCount<RadvdPrefix>
{
public:
  /**
   * \brief Constructor.
   * \param network network prefix advertised
   * \param prefixLength prefix length ( 0 < x <= 128)
   * \param preferredLifeTime preferred life time in seconds (default 7 days)
   * \param validLifeTime valid life time in seconds (default 30 days)
   * \param onLinkFlag on link flag
   * \param autonomousFlag autonomous link flag
   * \param routerAddrFlag router address flag (for Mobile IPv6)
   */
  RadvdPrefix (Ipv6Address network, uint8_t prefixLength, uint32_t preferredLifeTime = 604800, uint32_t validLifeTime = 2592000, bool onLinkFlag = true, bool autonomousFlag = true, bool routerAddrFlag = false);

  /**
   * \brief Destructor.
   */
  ~RadvdPrefix ();

  /**
   * \brief Get network prefix.
   * \return network prefix
   */
  Ipv6Address GetNetwork () const;

  /**
   * \brief Set network prefix.
   * \param network network prefix
   */
  void SetNetwork (Ipv6Address network);

  /**
   * \brief Get prefix length.
   * \return prefix length
   */
  uint8_t GetPrefixLength () const;

  /**
   * \brief Set prefix length.
   * \param prefixLength prefix length
   */
  void SetPrefixLength (uint8_t prefixLength);

  /**
   * \brief Get preferred lifetime.
   * \return lifetime
   */
  uint32_t GetPreferredLifeTime () const;

  /**
   * \brief Set preferred lifetime.
   * \param preferredLifeTime lifetime
   */
  void SetPreferredLifeTime (uint32_t preferredLifeTime);

  /**
   * \brief Get valid lifetime.
   * \return lifetime
   */
  uint32_t GetValidLifeTime () const;

  /**
   * \brief Set valid lifetime.
   * \param validLifeTime lifetime
   */
  void SetValidLifeTime (uint32_t validLifeTime);

  /**
   * \brief Is on-link flag ?
   * \return true if on-link is activated, false otherwise
   */
  bool IsOnLinkFlag () const;

  /**
   * \brief Set on-link flag.
   * \param onLinkFlag value
   */
  void SetOnLinkFlag (bool onLinkFlag);

  /**
   * \brief Is autonomous flag ?
   * \return true if autonomous is activated, false otherwise
   */
  bool IsAutonomousFlag () const;

  /**
   * \brief Set autonomous flag.
   * \param autonomousFlag value
   */
  void SetAutonomousFlag (bool autonomousFlag);

  /**
   * \brief Is router address flag ?
   * \return true if router address is activated, false otherwise
   */
  bool IsRouterAddrFlag () const;

  /**
   * \brief Set router address flag.
   * \param routerAddrFlag value
   */
  void SetRouterAddrFlag (bool routerAddrFlag);

private:
  /**
   * \brief Network prefix.
   */
  Ipv6Address m_network;

  /**
   * \brief Prefix length.
   */
  uint8_t m_prefixLength;

  /**
   * \brief Preferred time.
   */
  uint32_t m_preferredLifeTime;

  /**
   * \brief Valid time.
   */
  uint32_t m_validLifeTime;

  /**
   * \brief On link flag, indicates that this prefix can be used for on-link determination.
   */
  bool m_onLinkFlag;

  /**
   * \brief Autonomous flag, it is used for autonomous address configuration (RFC 2462).
   */
  bool m_autonomousFlag;

  /**
   * \brief Router address flag, indicates that router address is sent instead 
   * of network prefix as is required by Mobile IPv6.
   */
  bool m_routerAddrFlag;
};

} /* namespace ns3 */

#endif /* RADVD_PREFIX_H */