'ODTONE - Open Dot Twenty One'

PrevUpHomeNext

Struct icmp

odtone::net::ip::icmp

Synopsis

// In header: </home/carlos/Projectos/odtone/inc/odtone/net/ip/icmp/icmp.hpp>


struct icmp {
  // member classes/structs/unions

  class filter {
  public:
    // construct/copy/destruct
    filter(bool);
    filter(bool, uint);

    // public member functions
    void pass();
    void pass(uint);
    void block();
    void block(uint);
    int level(const boost::asio::ip::icmp &) const;
    int name(const boost::asio::ip::icmp &) const;
    const void * data(const boost::asio::ip::icmp &) const;
    size_t size(const boost::asio::ip::icmp &) const;
  };

  class header {
  public:
    // construct/copy/destruct
    header(uint8, uint8);

    // public static functions
    template<typename T> static T * cast(void *, size_t);

    // public member functions
    uint8 type() const;
    uint8 code() const;
    void checksum(uint16);
  };

  class neighbor_advertisement : public odtone::net::ip::icmp::header {
  public:
    // construct/copy/destruct
    neighbor_advertisement();

    // public member functions
    void target(const address_v6::bytes_type &);
    bool R() const;
    bool S() const;
    bool O() const;
    const address_v6::bytes_type & target() const;
    void R(bool);
    void S(bool);
    void O(bool);

    // public data members
    static const uint8 type_value;
    static const uint8 code_value;
  };

  class neighbor_solicitation : public odtone::net::ip::icmp::header {
  public:
    // construct/copy/destruct
    neighbor_solicitation();

    // public member functions
    void target(const address_v6::bytes_type &);
    const address_v6::bytes_type & target() const;

    // public data members
    static const uint8 type_value;
    static const uint8 code_value;
  };

  class router_advertisement : public odtone::net::ip::icmp::header {
  public:
    // construct/copy/destruct
    router_advertisement();

    // public member functions
    uint8 current_hop_limit() const;
    bool M() const;
    bool O() const;
    uint16 lifetime() const;
    uint32 reachable_time() const;
    uint32 retrans_timer() const;
    void current_hop_limit(uint8);
    void M(bool);
    void O(bool);
    void lifetime(uint16);
    void reachable_time(uint32);
    void retrans_timer(uint32);

    // public data members
    static const uint8 type_value;
    static const uint8 code_value;
  };

  class router_solicitation : public odtone::net::ip::icmp::header {
  public:
    // construct/copy/destruct
    router_solicitation();

    // public data members
    static const uint8 type_value;
    static const uint8 code_value;
  };
};

Description


PrevUpHomeNext