libdoip  0.1.0
DoIP (Diagnostics over Internet Protocol) ISO 13400 C++17 Library
DoIPMessage.h File Reference
#include <iomanip>
#include <iostream>
#include <memory>
#include <optional>
#include <stdint.h>
#include "AnsiColors.h"
#include "ByteArray.h"
#include "DoIPAddress.h"
#include "DoIPFurtherAction.h"
#include "DoIPIdentifiers.h"
#include "DoIPNegativeAck.h"
#include "DoIPNegativeDiagnosticAck.h"
#include "DoIPPayloadType.h"
#include "DoIPRoutingActivationType.h"
#include "DoIPSyncStatus.h"
Include dependency graph for DoIPMessage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  doip::DoIPMessage
 Represents a complete DoIP message with internal ByteArray representation. More...
 

Namespaces

 doip
 
 doip::message
 Factory functions for creating specific DoIP message types.
 

Typedefs

using doip::OptDoIPMessage = std::optional< DoIPMessage >
 

Functions

DoIPMessage doip::message::makeVehicleIdentificationRequest ()
 Creates a vehicle identification request message. More...
 
DoIPMessage doip::message::makeVehicleIdentificationResponse (const DoIpVin &vin, const DoIPAddress &logicalAddress, const DoIpEid &entityType, const DoIpGid &groupId, DoIPFurtherAction furtherAction=DoIPFurtherAction::NoFurtherAction, DoIPSyncStatus syncStatus=DoIPSyncStatus::GidVinSynchronized)
 Creates a vehicle identification response message. More...
 
DoIPMessage doip::message::makeNegativeAckMessage (DoIPNegativeAck nack)
 Creates a generic DoIP negative response (NACK). More...
 
DoIPMessage doip::message::makeDiagnosticMessage (const DoIPAddress &sa, const DoIPAddress &ta, const ByteArray &msg_payload)
 Creates a diagnostic message. More...
 
DoIPMessage doip::message::makeDiagnosticPositiveResponse (const DoIPAddress &sa, const DoIPAddress &ta, const ByteArray &msg_payload)
 void b More...
 
DoIPMessage doip::message::makeDiagnosticNegativeResponse (const DoIPAddress &sa, const DoIPAddress &ta, DoIPNegativeDiagnosticAck nack, const ByteArray &msg_payload)
 Creates a diagnostic negative ACK message (NACK). More...
 
DoIPMessage doip::message::makeAliveCheckRequest ()
 Create an 'alive check' request. More...
 
DoIPMessage doip::message::makeAliveCheckResponse (const DoIPAddress &sa)
 Create an 'alive check' response. More...
 
DoIPMessage doip::message::makeRoutingActivationRequest (const DoIPAddress &ea, DoIPRoutingActivationType actType=DoIPRoutingActivationType::Default)
 Creates a routing activation request message. More...
 
DoIPMessage doip::message::makeRoutingActivationResponse (const DoIPMessage &routingReq, const DoIPAddress &ea, DoIPRoutingActivationType actType=DoIPRoutingActivationType::Default)
 Creates a routing activation response message. More...
 
std::ostream & doip::operator<< (std::ostream &os, const DoIPMessage &msg)
 Stream operator for DoIPMessage. More...
 

Variables

constexpr uint8_t doip::ISO_13400_2010 = 1
 ISO/DIS 13400-2:2010. More...
 
constexpr uint8_t doip::ISO_13400_2012 = 2
 ISO 13400-2:2012. More...
 
constexpr uint8_t doip::ISO_13400_2019 = 3
 ISO 13400-2:2019. More...
 
constexpr uint8_t doip::ISO_13400_2025 = 4
 ISO 13400-2:2019/Amd1, ISO 13400-2:2025. More...
 
constexpr uint8_t doip::PROTOCOL_VERSION = ISO_13400_2025
 Current protocol version (table 16) More...
 
constexpr uint8_t doip::PROTOCOL_VERSION_INV = static_cast<uint8_t>(~ISO_13400_2025)
 
constexpr uint8_t doip::DIAGNOSTIC_MESSAGE_ACK = 0
 Positive ack for diagnostic message (table 24) More...
 
constexpr size_t doip::DOIP_HEADER_SIZE = 8
 Size of the DoIP header. More...
 
constexpr size_t doip::DOIP_DIAG_HEADER_SIZE = DOIP_HEADER_SIZE + 4
 Size of the DoIP diagnostic message header. More...