PcapPlusPlus  Next
DoIpLayer.h File Reference
#include <vector>
#include <cstring>
#include "Layer.h"
#include "Logger.h"

Go to the source code of this file.

Classes

struct  pcpp::doiphdr
 
class  pcpp::DoIpLayer
 
class  pcpp::DoIpGenericHeaderNack
 Represents a DoIP Generic Header Negative Acknowledgement message. More...
 
class  pcpp::DoIpVehicleIdentificationRequest
 Represents a Vehicle Identification Request message in the DoIP protocol. More...
 
class  pcpp::DoIpVehicleIdentificationRequestWithEID
 Represents a DoIP Vehicle Identification Request with EID. More...
 
class  pcpp::DoIpVehicleIdentificationRequestWithVIN
 Represents a DoIP Vehicle Identification Request with VIN. More...
 
class  pcpp::DoIpVehicleAnnouncementMessage
 Represents a DoIP Vehicle Announcement message. More...
 
class  pcpp::DoIpRoutingActivationRequest
 Represents a DoIP Routing Activation Request message. More...
 
class  pcpp::DoIpRoutingActivationResponse
 Represents a DoIP Routing Activation Response message. More...
 
class  pcpp::DoIpAliveCheckRequest
 Represents an Alive Check Request message in the DoIP protocol. More...
 
class  pcpp::DoIpAliveCheckResponse
 Represents a DoIP Alive Check Response message. More...
 
class  pcpp::DoIpEntityStatusRequest
 Represents an Entity Status Request message in the DoIP protocol. More...
 
class  pcpp::DoIpEntityStatusResponse
 Represents a DoIP Entity Status Response message. More...
 
class  pcpp::DoIpDiagnosticPowerModeRequest
 Represents a Diagnostic Power Mode Request message in the DoIP protocol. More...
 
class  pcpp::DoIpDiagnosticPowerModeResponse
 Represents a DoIP Diagnostic Power Mode Response message. More...
 
class  pcpp::DoIpDiagnosticBase
 Represents a DoIP Diagnostic Message sent between tester and ECU. This class includes source and target addresses. More...
 
struct  pcpp::DoIpDiagnosticBase::common_diagnostic_header
 An internal structure representing the common diagnostic header. More...
 
class  pcpp::DoIpDiagnosticMessage
 Represents a DoIP Diagnostic message sent between tester and ECU. More...
 
class  pcpp::DoIpDiagnosticResponseMessageBase
 Represents a Basic class for Diagnostic message (ACK/NACK) sent back to tester. More...
 
class  pcpp::DoIpDiagnosticMessageAck
 Represents a positive acknowledgment message in response to a DiagnosticMessage. More...
 
class  pcpp::DoIpDiagnosticMessageNack
 Represents a negative acknowledgment message in response to a DiagnosticMessage. More...
 

Namespaces

 pcpp
 The main namespace for the PcapPlusPlus lib.
 

Enumerations

enum class  pcpp::DoIpActivationTypes : uint8_t { pcpp::DEFAULT = 0x00U , pcpp::WWH_OBD = 0x01U , pcpp::CENTRAL_SECURITY = 0xE0U , pcpp::UNKNOWN }
 Enum representing DoIP routing activation types. These values specify the type of routing activation used in DoIP(Diagnostic over IP). More...
 
enum class  pcpp::DoIpGenericHeaderNackCodes : uint8_t {
  pcpp::INCORRECT_PATTERN = 0x00U , pcpp::UNKNOWN_PAYLOAD_TYPE = 0x01U , pcpp::MESSAGE_TOO_LARGE = 0x02U , pcpp::OUT_OF_MEMORY = 0x03U ,
  pcpp::INVALID_PAYLOAD_LENGTH = 0x04U , pcpp::UNKNOWN
}
 Enum representing DoIP Generic Header NACK codes (ISO 13400). These codes are used to indicate specific errors in the DoIP Generic Header. More...
 
enum class  pcpp::DoIpActionCodes : uint8_t {
  pcpp::NO_FURTHER_ACTION_REQUIRED = 0x00U , pcpp::RESERVED_ISO_0x01 = 0x01U , pcpp::RESERVED_ISO_0x02 = 0x02U , pcpp::RESERVED_ISO_0x03 = 0x03U ,
  pcpp::RESERVED_ISO_0x04 = 0x04U , pcpp::RESERVED_ISO_0x05 = 0x05U , pcpp::RESERVED_ISO_0x06 = 0x06U , pcpp::RESERVED_ISO_0x07 = 0x07U ,
  pcpp::RESERVED_ISO_0x08 = 0x08U , pcpp::RESERVED_ISO_0x09 = 0x09U , pcpp::RESERVED_ISO_0x0A = 0x0AU , pcpp::RESERVED_ISO_0x0B = 0x0BU ,
  pcpp::RESERVED_ISO_0x0C = 0x0CU , pcpp::RESERVED_ISO_0x0D = 0x0DU , pcpp::RESERVED_ISO_0x0E = 0x0EU , pcpp::RESERVED_ISO_0x0F = 0x0FU ,
  pcpp::ROUTING_ACTIVATION_REQUIRED = 0x10U , pcpp::UNKNOWN
}
 Enum representing DoIP action codes for DoIP announcement messages (ISO 13400). These action codes specify the next steps required after receiving a DoIP announcement message. Some codes are reserved for future use by ISO standards. More...
 
enum class  pcpp::DoIpRoutingResponseCodes : uint8_t {
  pcpp::UNKNOWN_SOURCE_ADDRESS = 0x00U , pcpp::NO_FREE_SOCKET = 0x01U , pcpp::WRONG_SOURCE_ADDRESS = 0x02U , pcpp::SOURCE_ADDRESS_ALREADY_REGISTERED = 0x03U ,
  pcpp::MISSING_AUTHENTICATION = 0x04U , pcpp::REJECTED_CONFIRMATION = 0x05U , pcpp::UNSUPPORTED_ACTIVATION_TYPE = 0x06U , pcpp::ENCRYPTED_CONNECTION_TLS = 0x07U ,
  pcpp::RESERVED_ISO_0x08 = 0x08U , pcpp::RESERVED_ISO_0x09 = 0x09U , pcpp::RESERVED_ISO_0x0A = 0x0AU , pcpp::RESERVED_ISO_0x0B = 0x0BU ,
  pcpp::RESERVED_ISO_0x0C = 0x0CU , pcpp::RESERVED_ISO_0x0D = 0x0DU , pcpp::RESERVED_ISO_0x0E = 0x0EU , pcpp::RESERVED_ISO_0x0F = 0x0FU ,
  pcpp::ROUTING_SUCCESSFULLY_ACTIVATED = 0x10U , pcpp::CONFIRMATION_REQUIRED = 0x11U , pcpp::UNKNOWN
}
 Enum representing DoIP routing activation response codes (ISO 13400). These codes are used in response to routing activation requests, providing status or error information related to the request. More...
 
enum class  pcpp::DoIpDiagnosticMessageNackCodes : uint8_t {
  pcpp::RESERVED_ISO_0x00 = 0x00U , pcpp::RESERVED_ISO_0x01 = 0x01U , pcpp::INVALID_SOURCE_ADDRESS = 0x02U , pcpp::INVALID_TARGET_ADDRESS = 0x03U ,
  pcpp::MESSAGE_TOO_LARGE = 0x04U , pcpp::OUT_OF_MEMORY = 0x05U , pcpp::TARGET_UNREACHABLE = 0x06U , pcpp::UNKNOWN_NETWORK = 0x07U ,
  pcpp::TRANSPORT_PROTOCOL_ERROR = 0x08U , pcpp::UNKNOWN
}
 Enum representing DoIP diagnostic message NACK codes (ISO 13400). These codes indicate reasons for rejecting or failing to process a diagnostic message in the DoIP protocol. More...
 
enum class  pcpp::DoIpDiagnosticPowerModeCodes : uint8_t { pcpp::NOT_READY = 0x00U , pcpp::READY = 0x01U , pcpp::NOT_SUPPORTED = 0x02U , pcpp::UNKNOWN }
 Enum representing DoIP diagnostic power mode codes (ISO 13400). These codes indicate the diagnostic power mode status of a DoIP entity, providing information about its readiness for diagnostic operations. More...
 
enum class  pcpp::DoIpDiagnosticAckCodes : uint8_t { pcpp::ACK = 0x00U , pcpp::UNKNOWN }
 Enum representing DoIP diagnostic acknowledgment codes (ISO 13400). These codes are used to acknowledge the receipt or processing of diagnostic messages in the DoIP protocol. More...
 
enum class  pcpp::DoIpEntityStatusResponseCode : uint8_t { pcpp::GATEWAY = 0x00U , pcpp::NODE = 0x01U , pcpp::UNKNOWN }
 Enum representing DoIP entity status response codes (ISO 13400). These codes are used to indicate the role or type of a DoIP entity in the network. More...
 
enum class  pcpp::DoIpSyncStatus : uint8_t {
  pcpp::VIN_AND_OR_GID_ARE_SINCHRONIZED = 0x00 , pcpp::RESERVED_ISO_0x01 = 0x01U , pcpp::RESERVED_ISO_0x02 = 0x02U , pcpp::RESERVED_ISO_0x03 = 0x03U ,
  pcpp::RESERVED_ISO_0x04 = 0x04U , pcpp::RESERVED_ISO_0x05 = 0x05U , pcpp::RESERVED_ISO_0x06 = 0x06U , pcpp::RESERVED_ISO_0x07 = 0x07U ,
  pcpp::RESERVED_ISO_0x08 = 0x08U , pcpp::RESERVED_ISO_0x09 = 0x09U , pcpp::RESERVED_ISO_0x0A = 0x0AU , pcpp::RESERVED_ISO_0x0B = 0x0BU ,
  pcpp::RESERVED_ISO_0x0C = 0x0CU , pcpp::RESERVED_ISO_0x0D = 0x0DU , pcpp::RESERVED_ISO_0x0E = 0x0EU , pcpp::RESERVED_ISO_0x0F = 0x0FU ,
  pcpp::VIN_AND_OR_GID_ARE_NOT_SINCHRONIZED = 0x10U , pcpp::UNKNOWN
}
 Enum representing DoIP sync status (ISO 13400). These codes are used to indicate whether GID and VIN are synchronized or not. More...
 
enum class  pcpp::DoIpProtocolVersion : uint8_t {
  pcpp::RESERVED_VER = 0x00U , pcpp::ISO13400_2010 = 0x01U , pcpp::ISO13400_2012 = 0x02U , pcpp::ISO13400_2019 = 0x03U ,
  pcpp::ISO13400_2019_AMD1 = 0x04U , pcpp::DEFAULT_VALUE = 0xFFU , pcpp::UNKNOWN = 0xEF
}
 Represents the DoIP (Diagnostics over IP) protocol versions. More...
 
enum class  pcpp::DoIpPayloadTypes : uint16_t {
  pcpp::GENERIC_HEADER_NACK = 0x0000U , pcpp::VEHICLE_IDENTIFICATION_REQUEST = 0x0001U , pcpp::VEHICLE_IDENTIFICATION_REQUEST_WITH_EID = 0x0002U , pcpp::VEHICLE_IDENTIFICATION_REQUEST_WITH_VIN = 0x0003U ,
  pcpp::VEHICLE_ANNOUNCEMENT_MESSAGE = 0x0004U , pcpp::ROUTING_ACTIVATION_REQUEST = 0x0005U , pcpp::ROUTING_ACTIVATION_RESPONSE = 0x0006U , pcpp::ALIVE_CHECK_REQUEST = 0x0007U ,
  pcpp::ALIVE_CHECK_RESPONSE = 0x0008U , pcpp::ENTITY_STATUS_REQUEST = 0x4001U , pcpp::ENTITY_STATUS_RESPONSE = 0x4002U , pcpp::DIAGNOSTIC_POWER_MODE_REQUEST = 0x4003U ,
  pcpp::DIAGNOSTIC_POWER_MODE_RESPONSE = 0x4004U , pcpp::DIAGNOSTIC_MESSAGE = 0x8001U , pcpp::DIAGNOSTIC_MESSAGE_ACK = 0x8002U , pcpp::DIAGNOSTIC_MESSAGE_NACK = 0x8003U
}
 Enum representing DoIP payload types. These payload types are defined as part of theDoIP(Diagnostic over IP) protocol and specify the type of message being transmitted. More...
 
enum class  pcpp::DoIpPorts : uint16_t { pcpp::TCP_UDP_PORT = 13400U , pcpp::TLS_PORT = 3496U }
 Enum representing DoIP diagnostic ports (ISO 13400). These ports are used for communication in the DoIP protocol over different transport layers. More...