57 MT_REQUEST_NO_RETURN = 0x01,
59 MT_NOTIFICATION = 0x02,
66 MT_REQUEST_ACK = 0x40,
67 MT_REQUEST_NO_RETURN_ACK = 0x41,
68 MT_NOTIFICATION_ACK = 0x42,
69 MT_RESPONSE_ACK = 0xC0,
74 MT_TP_REQUEST_NO_RETURN = 0x21,
75 MT_TP_NOTIFICATION = 0x22,
76 MT_TP_RESPONSE0 = 0xA0,
89 E_UNKNOWN_SERVICE = 0x02,
90 E_UNKNOWN_METHOD = 0x03,
92 E_NOT_REACHABLE = 0x05,
94 E_WRONG_PROTOCOL_VERSION = 0x07,
95 E_WRONG_INTERFACE_VERSION = 0x08,
96 E_MALFORMED_MESSAGE = 0x09,
97 E_WRONG_MESSAGE_TYPE = 0x0a,
98 E_RESERVED_MIN = 0x0b,
112#pragma warning(disable:4200)
117 static_assert (
sizeof(bool) == 1,
"Unsupported Compiler: sizeof(bool) is greater than 1");
118 uint16_t nVLANId = 0;
120 bool bIsIPv6 =
false;
121 uint16_t nMessageCount = 0;
122 std::array<uint8_t, 16> aSrcIP = { };
123 std::array<uint8_t, 16> aDstIP = { };
124 uint16_t nSrcPort = 0;
125 uint16_t nDstPort = 0;
126 uint32_t nMessageDataSize = 0;
127 uint8_t aMessageData[0] = { };
131#pragma warning(default:4200)
138 lhs.nVLANId != rhs.nVLANId ||
139 lhs.bIsTCP != rhs.bIsTCP ||
140 lhs.bIsIPv6 != rhs.bIsIPv6 ||
141 lhs.nMessageCount != rhs.nMessageCount ||
142 lhs.aSrcIP != rhs.aSrcIP ||
143 lhs.aDstIP != rhs.aDstIP ||
144 lhs.nSrcPort != rhs.nSrcPort ||
145 lhs.nDstPort != rhs.nDstPort ||
146 lhs.nMessageDataSize != rhs.nMessageDataSize;
151 return !(lhs != rhs);
166#pragma warning(disable:4200)
177 uint16_t nServiceId = 0;
179 uint16_t nMethodId = 0;
181 uint32_t nLength = 0;
184 uint32_t GetHeaderId()
const {
185 const auto d =
reinterpret_cast<const uint8_t*
>(&nServiceId);
186 return (
static_cast<uint32_t
>(d[0]) << 24) + (
static_cast<uint32_t
>(d[1]) << 16) + (
static_cast<uint32_t
>(d[2]) << 8) +
static_cast<uint32_t
>(d[3]);
190 uint32_t GetLength()
const {
191 const auto d =
reinterpret_cast<const uint8_t*
>(&nLength);
192 return (
static_cast<uint32_t
>(d[0]) << 24) + (
static_cast<uint32_t
>(d[1]) << 16) + (
static_cast<uint32_t
>(d[2]) << 8) +
static_cast<uint32_t
>(d[3]);
202 static_assert (
sizeof(bool) == 1,
"Unsupported Compiler: sizeof(bool) is greater than 1");
203 uint16_t nVLANId = 0;
205 bool bIsIPv6 =
false;
206 uint16_t nMessageCount = 0;
207 uint8_t aSrcIP[16] = { 0 };
208 uint8_t aDstIP[16] = { 0 };
209 uint16_t nSrcPort = 0;
210 uint16_t nDstPort = 0;
211 uint32_t nMessageDataSize = 0;
221 uint16_t nClientId = 0;
222 uint16_t nSessionId = 0;
223 uint8_t nProtocolVersion = 0;
224 uint8_t nInterfaceVersion = 0;
228 bool IsSegmented()
const {
229 return (
static_cast<uint8_t
>(eMessageType) &
static_cast<uint8_t
>(tMessageType::MT_TP_REQUEST)) != 0;
239 uint32_t nOffset = 0;
241 uint32_t GetOffset()
const {
242 const auto d =
reinterpret_cast<const uint8_t*
>(&nOffset);
243 return (
static_cast<uint32_t
>(d[0]) << 24) + (
static_cast<uint32_t
>(d[1]) << 16) + (
static_cast<uint32_t
>(d[2]) << 8) +
static_cast<uint32_t
>(d[3] & 0xf0);
245 bool HasMoreSegments()
const {
246 const auto d =
reinterpret_cast<const uint8_t*
>(&nOffset);
247 return (d[3] & 0x01) != 0;
310 enum eCompuScaleType : uint8_t
324 const char* pStrElementName;
326 const char* pStrTypeName;
329 uint8_t nAlignment = 1;
334 uint8_t nLengthBytes;
339 uint32_t nNextSiblingOffset;
362 enum eTLVWireType : uint8_t
368 WT_COMPLEX_DEFAULT_LENGTH = 4,
369 WT_COMPLEX_1_BYTE_LENGTH = 5,
370 WT_COMPLEX_2_BYTE_LENGTH = 6,
371 WT_COMPLEX_4_BYTE_LENGTH = 7
375 enum eSerializationType : uint8_t
383 eSerializationType oType = ST_BASIC;
389 enum eBasicSignalType : uint8_t
399 eBasicSignalType nType;
405 bool bByteOrderMotorola;
410 size_t nCountCompuScales;
421 enum eSomeIpArrayType : uint8_t
434 eSomeIpArrayType nType;
448 bool bContainsOptionals;
471 uint64_t nLengthInBit;
474 uint64_t nUpdateBitPosition;
478 uint8_t _reserved[64];
480 static_assert(
sizeof(oDetail) ==
sizeof(uDetails::_reserved),
"tSomeIpSerializationInfo is incompatible with original hood::tSomeIpSerializationInfo");
481 static_assert(
alignof(
uDetails) == 1,
"tSomeIpSerializationInfo is incompatible with original hood::tSomeIpSerializationInfo");
489 enum eTransformationType : uint8_t
502 TT_SOME_IP_TRANSFORMER,
504 TT_SOME_IP_SERVICE_DISCOVERY
506 eTransformationType nTransformationType = TT_NONE;
510 uint16_t nHeaderBits = 0;
513 uint16_t nTrailingBits = 0;
516 uint32_t nAliasedMessageId;
521 uint8_t _reserved[64];
523 static_assert(
sizeof(oDetail) ==
sizeof(uDetails::_reserved),
"tSomeIpTransformation is incompatible with original hood::tSomeIpSerializationInfo");
524 static_assert(
alignof(
uDetails) == 1,
"tSomeIpTransformation is incompatible with original hood::tSomeIpSerializationInfo");
537 uint32_t nMessageId = 0;
539 const char* pstrName =
nullptr;
540 const char* pstrPath =
nullptr;
544 uint64_t nMessageSizeInBit = 0;
548 uint8_t nDefaultLengthBytes = 0;
552 size_t nTransformationChainLength = 0;
556 size_t nMemberCount = 0;
566 const char* pstrName =
nullptr;
567 const char* pstrPath =
nullptr;
584 uint8_t aIP[16] = { 0 };
597 uint32_t nConnectionId = 0;
606 size_t nSocketMessageInfoCount = 0;
615 uint32_t nChannelId = 0;
617 const char* pstrName =
nullptr;
618 const char* pstrPath =
nullptr;
619 uint16_t nVLANId = 0;
628 uint32_t nClusterId = 0;
630 const char* pstrName =
nullptr;
631 const char* pstrPath =
nullptr;
635#pragma warning(default:4200)
642 lhs.nVLANId != rhs.nVLANId ||
643 lhs.bIsTCP != rhs.bIsTCP ||
644 lhs.bIsIPv6 != rhs.bIsIPv6 ||
645 lhs.nMessageCount != rhs.nMessageCount ||
646 lhs.aSrcIP != rhs.aSrcIP ||
647 lhs.aDstIP != rhs.aDstIP ||
648 lhs.nSrcPort != rhs.nSrcPort ||
649 lhs.nDstPort != rhs.nDstPort ||
650 lhs.nMessageDataSize != rhs.nMessageDataSize;
655 return !(lhs != rhs);
661 lhs.nClientId != rhs.nClientId ||
662 lhs.nSessionId != rhs.nSessionId ||
663 lhs.nProtocolVersion != rhs.nProtocolVersion ||
664 lhs.nInterfaceVersion != rhs.nInterfaceVersion ||
665 lhs.eMessageType != rhs.eMessageType ||
666 lhs.eReturnCode != rhs.eReturnCode;
671 return !(lhs != rhs);
696using hood::operator!=;
698using hood::operator==;
Namespace for functionality provided by V3.1.0.
Definition raw_ethernet_types.h:45
tMessageType
Definition someip_types.h:53
tReturnCode
Definition someip_types.h:86
Namespace for functionality provided by V3.7.0.
Definition someip_coder_intf.h:45
Namespace for SOME/IP in ADTF-Devicetoolbox.
Definition raw_ethernet_types.h:40
hood::tCompuScale tCompuScale
Definition someip_types.h:688
hood::tSomeIpMessageHeader tSomeIpMessageHeader
Definition someip_types.h:678
brake::tReturnCode tReturnCode
Definition someip_types.h:158
hood::tSomeIpSessionHeader tSomeIpSessionHeader
Definition someip_types.h:686
hood::tSomeIpSerializationInfo tSomeIpSerializationInfo
Definition someip_types.h:682
bool operator!=(const tSomeIpSampleHeader &lhs, const tSomeIpSampleHeader &rhs)
Definition someip_types.h:639
bool operator==(const tSomeIpSampleHeader &lhs, const tSomeIpSampleHeader &rhs)
Definition someip_types.h:653
hood::tClusterInfo tClusterInfo
Definition someip_types.h:694
hood::tDataConstraint tDataConstraint
Definition someip_types.h:690
hood::tSomeIpSampleHeader tSomeIpSampleHeader
Definition someip_types.h:676
hood::tSomeIpTpHeader tSomeIpTpHeader
Definition someip_types.h:680
hood::tSomeIpMessageInfo tSomeIpMessageInfo
Definition someip_types.h:692
hood::tSomeIpTransformation tSomeIpTransformation
Definition someip_types.h:684
brake::tMessageType tMessageType
Definition someip_types.h:156
Namespace for SDK of ADTF-Devicetoolbox.
Definition bus_database_intf.h:42
Devicetoolbox - Namespace.
Definition bus_database_intf.h:36
ADTF - Namespace.
Definition bus_database_intf.h:30
Definition someip_types.h:613
Definition someip_types.h:626
Definition someip_types.h:295
Definition someip_types.h:303
Definition someip_types.h:282
Definition someip_types.h:270
Definition someip_types.h:562
Definition someip_types.h:595
Definition someip_types.h:534
Definition someip_types.h:343
Definition someip_types.h:420
Definition someip_types.h:388
Definition someip_types.h:469
Definition someip_types.h:445
Definition someip_types.h:461
Definition someip_types.h:322
Definition someip_types.h:575
Definition someip_types.h:583
Definition someip_types.h:293
Definition someip_types.h:386
Definition someip_types.h:255