33 lines
576 B
C++
33 lines
576 B
C++
#pragma once
|
|
|
|
#include "BaseICMP.h"
|
|
|
|
namespace ehs
|
|
{
|
|
class ICMP : public BaseICMP
|
|
{
|
|
private:
|
|
Int_32 hdl;
|
|
|
|
public:
|
|
ICMP();
|
|
|
|
ICMP(IP version);
|
|
|
|
ICMP(ICMP &&icmp) noexcept;
|
|
|
|
ICMP(const ICMP &icmp);
|
|
|
|
ICMP &operator=(ICMP &&icmp) noexcept;
|
|
|
|
ICMP &operator=(const ICMP &icmp);
|
|
|
|
UInt_64 Send(const Str_8 &address, ICMP_Header header, const Byte *data, UInt_64 size) override;
|
|
|
|
UInt_64 Receive(Str_8 &address, ICMP_Header header, Serializer<UInt_64> &data) override;
|
|
|
|
void SetReceiveTimeout(UInt_64 timeout) override;
|
|
|
|
bool IsValid() const override;
|
|
};
|
|
} |