src/node/ipv4-address.h
author Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
Wed, 18 Jul 2007 12:17:53 +0100
changeset 934 1bfcc65213c7
parent 933 df68dad55087
permissions -rw-r--r--
Backed out changeset df68dad55087ea649a33f04e78b4ff4cf324acdd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
/*
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
 * Copyright (c) 2005 INRIA
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
 * All rights reserved.
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
 *
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
 * it under the terms of the GNU General Public License version 2 as
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
 * published by the Free Software Foundation;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
 *
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
 * GNU General Public License for more details.
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
 *
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
 * along with this program; if not, write to the Free Software
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
 *
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
 */
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
#ifndef IPV4_ADDRESS_H
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
#define IPV4_ADDRESS_H
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
#include <stdint.h>
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
#include <ostream>
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
namespace ns3 {
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
625
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    30
/** Ipv4 addresses are stored in host order in
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    31
  * this class.
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    32
  */
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
class Ipv4Address {
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
public:
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
  Ipv4Address ();
625
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    36
  /**
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    37
   * input address is in host order.
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    38
   * \param address The host order 32-bit address
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    39
   */
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
  Ipv4Address (uint32_t address);
625
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    41
  /** 
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    42
    * \brief Constructs an Ipv4Address by parsing a the input C-string
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    43
    *
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    44
    * Input address is in format:
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    45
    * hhh.xxx.xxx.lll
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    46
    * where h is the high byte and l the
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    47
    * low byte
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    48
    * \param address C-string containing the address as described above
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    49
    */
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    50
  Ipv4Address (char const *address);
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    51
  
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    52
  /**
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    53
   * \brief Comparison operation between two Ipv4Addresses
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    54
   * \param other address to which to compare this address
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    55
   * \return True if the addresses are equal. False otherwise.
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
   */
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
  bool IsEqual (Ipv4Address other) const;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    58
625
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    59
  /** 
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    60
   * \brief Get the host-order 32-bit IP address
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    61
   *
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    62
   * Using this method is frowned upon.
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    63
   * Please, do _not_ use this method.
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
   * It is there only for chunk-ipv4.
625
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    65
   * \return the host-order 32-bit IP address
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    66
   */
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    67
  uint32_t GetHostOrder (void) const;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    68
  void SetHostOrder (uint32_t ip);
625
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    69
  /**
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    70
   * Serialize this address to a 4-byte buffer
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    71
   * \param buf output buffer to which this address gets overwritten with this
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    72
   * Ipv4Address
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    73
   */
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    74
  void Serialize (uint8_t buf[4]) const;
625
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    75
  /**
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    76
   * \brief Print this address to the given output stream
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    77
   *
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    78
   * The print format is in the typical "192.168.1.1"
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    79
   * \param os The output stream to which this Ipv4Address is printed
12fa3d0c4f94 droptail and ipv4address dox
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 256
diff changeset
    80
   */
256
8978ff0dc351 replace pointer with reference
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 234
diff changeset
    81
  void Print (std::ostream &os) const;
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    82
934
1bfcc65213c7 Backed out changeset df68dad55087ea649a33f04e78b4ff4cf324acdd
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 933
diff changeset
    83
  bool IsBroadcast (void);
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    84
  bool IsMulticast (void);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    85
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    86
  static Ipv4Address GetZero (void);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    87
  static Ipv4Address GetAny (void);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    88
  static Ipv4Address GetBroadcast (void);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    89
  static Ipv4Address GetLoopback (void);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    90
private:
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    91
  uint32_t m_address;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    92
};
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    93
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    94
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    95
class Ipv4Mask {
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    96
public:
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    97
  Ipv4Mask ();
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
  Ipv4Mask (uint32_t mask);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
  Ipv4Mask (char const *mask);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   100
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
  bool IsMatch (Ipv4Address a, Ipv4Address b) const;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   103
  bool IsEqual (Ipv4Mask other) const;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   104
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   105
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   106
  /* Using this method is frowned upon.
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   107
   * Please, do _not_ use this method.
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   108
   */
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   109
  uint32_t GetHostOrder (void) const;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   110
  void SetHostOrder (uint32_t value);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   111
256
8978ff0dc351 replace pointer with reference
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 234
diff changeset
   112
  void Print (std::ostream &os) const;
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   113
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   114
  static Ipv4Mask GetLoopback (void);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   115
  static Ipv4Mask GetZero (void);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   116
private:
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   117
  uint32_t m_mask;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   118
};
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   119
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   120
std::ostream& operator<< (std::ostream& os, Ipv4Address const& address);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   121
std::ostream& operator<< (std::ostream& os, Ipv4Mask const& mask);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   122
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   123
bool operator == (Ipv4Address const &a, Ipv4Address const &b);
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   124
bool operator != (Ipv4Address const &a, Ipv4Address const &b);
784
a3f6b5783790 Add Ipv4Address operator <, to allow Ipv4Address to be used in std::set; Closes #39.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 782
diff changeset
   125
bool operator < (Ipv4Address const &addrA, Ipv4Address const &addrB);
a3f6b5783790 Add Ipv4Address operator <, to allow Ipv4Address to be used in std::set; Closes #39.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 782
diff changeset
   126
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   127
class Ipv4AddressHash : public std::unary_function<Ipv4Address, size_t> {
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   128
public:
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   129
  size_t operator()(Ipv4Address const &x) const;
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   130
};
782
ca907fdc28fb Add Ipv4Mask == and != operators, similarly to Ipv4Address.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 625
diff changeset
   131
ca907fdc28fb Add Ipv4Mask == and != operators, similarly to Ipv4Address.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 625
diff changeset
   132
bool operator == (Ipv4Mask const &a, Ipv4Mask const &b);
ca907fdc28fb Add Ipv4Mask == and != operators, similarly to Ipv4Address.
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 625
diff changeset
   133
bool operator != (Ipv4Mask const &a, Ipv4Mask const &b);
234
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   134
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   135
}; // namespace ns3
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   136
6124bda39cb3 code from all trees.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   137
#endif /* IPV4_ADDRESS_H */