Branch data Line data Source code
1 : : /* 2 : : ** Copyright (C) 2024 Sylvain Fargier 3 : : ** 4 : : ** This software is provided 'as-is', without any express or implied 5 : : ** warranty. In no event will the authors be held liable for any damages 6 : : ** arising from the use of this software. 7 : : ** 8 : : ** Permission is granted to anyone to use this software for any purpose, 9 : : ** including commercial applications, and to alter it and redistribute it 10 : : ** freely, subject to the following restrictions: 11 : : ** 12 : : ** 1. The origin of this software must not be misrepresented; you must not 13 : : ** claim that you wrote the original software. If you use this software 14 : : ** in a product, an acknowledgment in the product documentation would be 15 : : ** appreciated but is not required. 16 : : ** 2. Altered source versions must be plainly marked as such, and must not be 17 : : ** misrepresented as being the original software. 18 : : ** 3. This notice may not be removed or altered from any source distribution. 19 : : ** 20 : : ** Created on: 2024-01-02T08:49:30 21 : : ** Author: Sylvain Fargier <fargier.sylvain@gmail.com> 22 : : */ 23 : : 24 : : #ifndef ICMPECHOMESSAGE_HPP__ 25 : : #define ICMPECHOMESSAGE_HPP__ 26 : : 27 : : #include "ICMPMessage.hpp" 28 : : 29 : : namespace ccut { 30 : : namespace net { 31 : : 32 : : struct ICMPEchoMessage : public net::ICMPMessage 33 : : { 34 : : using ICMPMessage::ICMPMessage; 35 : : 36 : 1 : ICMPEchoMessage() = default; 37 : : ICMPEchoMessage(const address_t &to, 38 : : uint16_t identifier, 39 : : uint16_t seqNum, 40 : : size_t payloadSize = 0); 41 : : // cppcheck-suppress noExplicitConstructor 42 : 1 : ICMPEchoMessage(const Message &msg) : ICMPMessage(msg) {} 43 : : 44 : : uint16_t identifier() const; 45 : : ICMPEchoMessage &setIdentifier(uint16_t value); 46 : : uint16_t sequenceNum() const; 47 : : ICMPEchoMessage &setSequenceNum(uint16_t value); 48 : : 49 : : bool isValid() const override; 50 : : }; 51 : : 52 : : } // namespace net 53 : : } // namespace ccut 54 : : 55 : : #endif