|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
Additional unit tests for PROFINET block helpers and parsers. More...
#include <gtest/gtest.h>#include <array>#include <cstdint>#include <string>#include <tuple>#include <utility>#include <vector>#include "profinet/blocks.h"#include "profinet/indices.h"#include "profinet/wire.h"
Include dependency graph for test_blocksMore.cpp:Go to the source code of this file.
Functions | |
| TEST_F (BlocksMoreTests, BlockHeaderBodyLengthHandlesLengthsBelowTwo) | |
| TEST_F (BlocksMoreTests, BlockHeaderTypeNameHandlesUnknownType) | |
| TEST_F (BlocksMoreTests, SlotInfoToStringFormatsSubslot) | |
| TEST_F (BlocksMoreTests, PeerInfoMacStrFormatsAddress) | |
| TEST_F (BlocksMoreTests, PortInfoMauTypeNameCoversKnownAndUnknownValues) | |
| TEST_F (BlocksMoreTests, PortInfoLinkStateCoversAllBranches) | |
| TEST_F (BlocksMoreTests, InterfaceInfoFormattingHelpers) | |
| TEST_F (BlocksMoreTests, ParseBlockHeaderSupportsOffset) | |
| TEST_F (BlocksMoreTests, ParseBlockHeaderRejectsTruncatedOffset) | |
| TEST_F (BlocksMoreTests, ParseMultipleBlockHeaderParsesAllFields) | |
| TEST_F (BlocksMoreTests, ParseMultipleBlockHeaderRejectsTruncatedInput) | |
| TEST_F (BlocksMoreTests, ParsePdInterfaceDataRealParsesCompleteData) | |
| TEST_F (BlocksMoreTests, ParsePdInterfaceDataRealRejectsMissingChassisLength) | |
| TEST_F (BlocksMoreTests, ParsePdInterfaceDataRealRejectsTruncatedChassis) | |
| TEST_F (BlocksMoreTests, ParsePdInterfaceDataRealRejectsTruncatedMac) | |
| TEST_F (BlocksMoreTests, ParsePdInterfaceDataRealRejectsTruncatedIpConfiguration) | |
| TEST_F (BlocksMoreTests, ParsePdPortDataRealKeepsSuppliedLocationForEmptyInput) | |
| TEST_F (BlocksMoreTests, ParsePdPortDataRealHandlesMissingPortLength) | |
| TEST_F (BlocksMoreTests, ParsePdPortDataRealHandlesMissingPeerCount) | |
| TEST_F (BlocksMoreTests, ParsePdPortDataRealHandlesMissingPeerMac) | |
| TEST_F (BlocksMoreTests, ParsePdPortDataRealHandlesMissingMau) | |
| TEST_F (BlocksMoreTests, ParsePdPortDataRealHandlesIncompleteBoundaries) | |
| TEST_F (BlocksMoreTests, ParsePdPortDataRealHandlesIncompleteLinkState) | |
| TEST_F (BlocksMoreTests, ParsePdPortDataRealHandlesIncompleteMediaType) | |
| TEST_F (BlocksMoreTests, ParsePdRealDataCollectsMultipleHeaderContent) | |
| TEST_F (BlocksMoreTests, ParsePdRealDataSkipsNonMultipleBlock) | |
| TEST_F (BlocksMoreTests, ParsePdRealDataIgnoresMalformedMultipleHeader) | |
| TEST_F (BlocksMoreTests, ParseRealIdentificationDataAcceptsRecognizedHeader) | |
| TEST_F (BlocksMoreTests, ParseRealIdentificationDataFallsBackToRawBody) | |
| TEST_F (BlocksMoreTests, ParseRealIdentificationDataHandlesTruncatedEntry) | |
| TEST_F (BlocksMoreTests, ParsePortStatisticsSupportsOffset) | |
| TEST_F (BlocksMoreTests, ModuleDiffSubmoduleStateNameCoversValues) | |
| TEST_F (BlocksMoreTests, ModuleDiffModuleEvaluatesState) | |
| TEST_F (BlocksMoreTests, ModuleDiffBlockReportsAllMismatches) | |
| TEST_F (BlocksMoreTests, IODWriteMultipleBuilderBuildsEmptyPacket) | |
| TEST_F (BlocksMoreTests, IODWriteMultipleBuilderStoresApiAndMultipleWrites) | |
| TEST_F (BlocksMoreTests, ParseWriteMultipleResponseRejectsShortInput) | |
| TEST_F (BlocksMoreTests, ParseWriteMultipleResponseHandlesMinimalResponse) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleDataDescriptionSerializes) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleSubmoduleTypeMasksLowBits) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleSerializes) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleSlotSerializes) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleAPISerializes) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleBlockReqCreatesSeparateApis) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleBlockReqBuildsOutputOnlySubmodule) | |
| TEST_F (BlocksMoreTests, WriteMultipleResultSuccessReflectsStatus) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleBlockReqCoversAllSubmoduleTypes) | |
| TEST_F (BlocksMoreTests, ExpectedSubmoduleBlockReqReusesExistingApiAndSlot) | |
| TEST_F (BlocksMoreTests, ParseModuleDiffBlockHandlesHeaderWithoutBody) | |
| TEST_F (BlocksMoreTests, ParseModuleDiffBlockStopsOnTruncatedApi) | |
| TEST_F (BlocksMoreTests, ParseModuleDiffBlockStopsOnTruncatedModule) | |
| TEST_F (BlocksMoreTests, ParsePortStatisticsRejectsTruncatedOffset) | |
| TEST_F (BlocksMoreTests, ParseRealIdentificationDataParsesV11ApiGroupedLayout) | |
| TEST_F (BlocksMoreTests, ParseWriteMultipleResponseParsesSuccessfulResult) | |
| TEST_F (BlocksMoreTests, ParseWriteMultipleResponseParsesFailedResult) | |
| TEST_F (BlocksMoreTests, ParseWriteMultipleResponseStopsOnUnexpectedBlockType) | |
| TEST_F (BlocksMoreTests, IODWriteMultipleBuilderSerializesWriteDetails) | |
Additional unit tests for PROFINET block helpers and parsers.
Adds branch-oriented coverage for block header helpers, topology data, real identification data, module-difference evaluation, write-multiple serialization/parsing, expected-submodule serialization, and truncated payload handling without duplicating the existing happy-path tests.
Definition in file test_blocksMore.cpp.
| TEST_F | ( | BlocksMoreTests | , |
| BlockHeaderBodyLengthHandlesLengthsBelowTwo | |||
| ) |
Definition at line 331 of file test_blocksMore.cpp.
References profinet::blocks::BlockHeader::blockLength.
| TEST_F | ( | BlocksMoreTests | , |
| BlockHeaderTypeNameHandlesUnknownType | |||
| ) |
Definition at line 340 of file test_blocksMore.cpp.
References profinet::blocks::BlockHeader::blockType.
| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleAPISerializes | |||
| ) |
Definition at line 900 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmoduleSlot::api, and profinet::blocks::ExpectedSubmoduleAPI::api.
| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleBlockReqBuildsOutputOnlySubmodule | |||
| ) |
Definition at line 939 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmoduleBlockReq::AddSubmodule(), and profinet::blocks::ExpectedSubmoduleBlockReq::ToBytes().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleBlockReqCoversAllSubmoduleTypes | |||
| ) |
Definition at line 966 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmoduleBlockReq::AddSubmodule(), and profinet::blocks::ExpectedSubmoduleBlockReq::ToBytes().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleBlockReqCreatesSeparateApis | |||
| ) |
Definition at line 915 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmoduleBlockReq::AddSubmodule(), profinet::wire::Reader::Skip(), profinet::blocks::ExpectedSubmoduleBlockReq::ToBytes(), profinet::wire::Reader::U16(), and profinet::wire::Reader::U32().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleBlockReqReusesExistingApiAndSlot | |||
| ) |
Definition at line 1014 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmoduleBlockReq::AddSubmodule(), profinet::wire::Reader::Skip(), profinet::wire::Reader::SkipTo(), profinet::blocks::ExpectedSubmoduleBlockReq::ToBytes(), and profinet::wire::Reader::U16().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleDataDescriptionSerializes | |||
| ) |
Definition at line 840 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmoduleDataDescription::dataDescription.
| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleSerializes | |||
| ) |
Definition at line 870 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmoduleDataDescription::dataDescription, and profinet::blocks::ExpectedSubmodule::subslotNumber.
| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleSlotSerializes | |||
| ) |
Definition at line 885 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmoduleSlot::api, and profinet::blocks::ExpectedSubmodule::subslotNumber.
| TEST_F | ( | BlocksMoreTests | , |
| ExpectedSubmoduleSubmoduleTypeMasksLowBits | |||
| ) |
Definition at line 860 of file test_blocksMore.cpp.
References profinet::blocks::ExpectedSubmodule::submoduleProperties.
| TEST_F | ( | BlocksMoreTests | , |
| InterfaceInfoFormattingHelpers | |||
| ) |
Definition at line 409 of file test_blocksMore.cpp.
References profinet::blocks::InterfaceInfo::chassisId.
| TEST_F | ( | BlocksMoreTests | , |
| IODWriteMultipleBuilderBuildsEmptyPacket | |||
| ) |
Definition at line 793 of file test_blocksMore.cpp.
References profinet::blocks::IODWriteMultipleBuilder::Build(), profinet::wire::Reader::U16(), and profinet::blocks::IODWriteMultipleBuilder::writeMultipleBlockType.
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| IODWriteMultipleBuilderSerializesWriteDetails | |||
| ) |
Definition at line 1226 of file test_blocksMore.cpp.
References profinet::blocks::IODWriteMultipleBuilder::AddWrite(), profinet::blocks::IODWriteMultipleBuilder::Build(), profinet::wire::Reader::SkipTo(), profinet::wire::Reader::U16(), and profinet::blocks::IODWriteMultipleBuilder::writeMultipleBlockType.
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| IODWriteMultipleBuilderStoresApiAndMultipleWrites | |||
| ) |
Definition at line 806 of file test_blocksMore.cpp.
References profinet::blocks::IODWriteMultipleBuilder::AddWrite(), profinet::blocks::IODWriteMultipleBuilder::Build(), profinet::wire::Reader::Skip(), profinet::wire::Reader::U16(), and profinet::WRITE_MULTIPLE.
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ModuleDiffBlockReportsAllMismatches | |||
| ) |
Definition at line 767 of file test_blocksMore.cpp.
References profinet::blocks::ModuleDiffBlock::AllOk(), profinet::blocks::ModuleDiffBlock::GetMismatches(), profinet::MODULE_STATE_PROPER_MODULE, profinet::blocks::ModuleDiffBlock::modules, profinet::blocks::ModuleDiffModule::moduleState, profinet::blocks::ModuleDiffModule::slotNumber, profinet::SUBMODULE_STATE_OK, profinet::SUBMODULE_STATE_WRONG_SUBMODULE, profinet::blocks::ModuleDiffModule::submodules, and profinet::blocks::ModuleDiffSubmodule::subslotNumber.
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ModuleDiffModuleEvaluatesState | |||
| ) |
Definition at line 755 of file test_blocksMore.cpp.
| TEST_F | ( | BlocksMoreTests | , |
| ModuleDiffSubmoduleStateNameCoversValues | |||
| ) |
Definition at line 738 of file test_blocksMore.cpp.
References profinet::blocks::ModuleDiffSubmodule::IsOk(), profinet::blocks::ModuleDiffSubmodule::StateName(), profinet::SUBMODULE_STATE_OK, profinet::SUBMODULE_STATE_WRONG_SUBMODULE, and profinet::blocks::ModuleDiffSubmodule::submoduleState.
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseBlockHeaderRejectsTruncatedOffset | |||
| ) |
Definition at line 437 of file test_blocksMore.cpp.
References profinet::blocks::ParseBlockHeader().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseBlockHeaderSupportsOffset | |||
| ) |
Definition at line 421 of file test_blocksMore.cpp.
References profinet::blocks::ParseBlockHeader().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseModuleDiffBlockHandlesHeaderWithoutBody | |||
| ) |
Definition at line 1035 of file test_blocksMore.cpp.
References profinet::blocks::ParseModuleDiffBlock().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseModuleDiffBlockStopsOnTruncatedApi | |||
| ) |
Definition at line 1045 of file test_blocksMore.cpp.
References profinet::blocks::ParseModuleDiffBlock(), profinet::wire::PutU16(), and profinet::wire::PutU32().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseModuleDiffBlockStopsOnTruncatedModule | |||
| ) |
Definition at line 1058 of file test_blocksMore.cpp.
References profinet::blocks::ParseModuleDiffBlock(), profinet::wire::PutU16(), and profinet::wire::PutU32().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseMultipleBlockHeaderParsesAllFields | |||
| ) |
Definition at line 444 of file test_blocksMore.cpp.
References profinet::blocks::ParseMultipleBlockHeader(), profinet::wire::PutU16(), and profinet::wire::PutU32().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseMultipleBlockHeaderRejectsTruncatedInput | |||
| ) |
Definition at line 461 of file test_blocksMore.cpp.
References profinet::blocks::ParseMultipleBlockHeader().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdInterfaceDataRealParsesCompleteData | |||
| ) |
Definition at line 467 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdInterfaceDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdInterfaceDataRealRejectsMissingChassisLength | |||
| ) |
Definition at line 481 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdInterfaceDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdInterfaceDataRealRejectsTruncatedChassis | |||
| ) |
Definition at line 487 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdInterfaceDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdInterfaceDataRealRejectsTruncatedIpConfiguration | |||
| ) |
Definition at line 501 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdInterfaceDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdInterfaceDataRealRejectsTruncatedMac | |||
| ) |
Definition at line 493 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdInterfaceDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdPortDataRealHandlesIncompleteBoundaries | |||
| ) |
Definition at line 578 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdPortDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdPortDataRealHandlesIncompleteLinkState | |||
| ) |
Definition at line 591 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdPortDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdPortDataRealHandlesIncompleteMediaType | |||
| ) |
Definition at line 608 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdPortDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdPortDataRealHandlesMissingMau | |||
| ) |
Definition at line 565 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdPortDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdPortDataRealHandlesMissingPeerCount | |||
| ) |
Definition at line 537 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdPortDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdPortDataRealHandlesMissingPeerMac | |||
| ) |
Definition at line 548 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdPortDataReal(), and profinet::blocks::PeerInfo::portId.
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdPortDataRealHandlesMissingPortLength | |||
| ) |
Definition at line 526 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdPortDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdPortDataRealKeepsSuppliedLocationForEmptyInput | |||
| ) |
Definition at line 516 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdPortDataReal().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdRealDataCollectsMultipleHeaderContent | |||
| ) |
Definition at line 621 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdRealData().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdRealDataIgnoresMalformedMultipleHeader | |||
| ) |
Definition at line 662 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdRealData().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePdRealDataSkipsNonMultipleBlock | |||
| ) |
Definition at line 650 of file test_blocksMore.cpp.
References profinet::blocks::ParsePdRealData().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePortStatisticsRejectsTruncatedOffset | |||
| ) |
Definition at line 1072 of file test_blocksMore.cpp.
References profinet::blocks::ParsePortStatistics().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParsePortStatisticsSupportsOffset | |||
| ) |
Definition at line 718 of file test_blocksMore.cpp.
References profinet::blocks::ParsePortStatistics(), profinet::wire::PutU16(), and profinet::wire::PutU32().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseRealIdentificationDataAcceptsRecognizedHeader | |||
| ) |
Definition at line 673 of file test_blocksMore.cpp.
References profinet::blocks::ParseRealIdentificationData().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseRealIdentificationDataFallsBackToRawBody | |||
| ) |
Definition at line 688 of file test_blocksMore.cpp.
References profinet::blocks::ParseRealIdentificationData().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseRealIdentificationDataHandlesTruncatedEntry | |||
| ) |
Definition at line 702 of file test_blocksMore.cpp.
References profinet::blocks::ParseRealIdentificationData(), profinet::wire::PutU16(), and profinet::wire::PutU32().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseRealIdentificationDataParsesV11ApiGroupedLayout | |||
| ) |
Definition at line 1081 of file test_blocksMore.cpp.
References profinet::blocks::ParseRealIdentificationData().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseWriteMultipleResponseHandlesMinimalResponse | |||
| ) |
Definition at line 831 of file test_blocksMore.cpp.
References profinet::blocks::ParseWriteMultipleResponse().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseWriteMultipleResponseParsesFailedResult | |||
| ) |
Definition at line 1155 of file test_blocksMore.cpp.
References profinet::blocks::ParseWriteMultipleResponse().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseWriteMultipleResponseParsesSuccessfulResult | |||
| ) |
Definition at line 1110 of file test_blocksMore.cpp.
References profinet::blocks::ParseWriteMultipleResponse().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseWriteMultipleResponseRejectsShortInput | |||
| ) |
Definition at line 824 of file test_blocksMore.cpp.
References profinet::blocks::ParseWriteMultipleResponse().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| ParseWriteMultipleResponseStopsOnUnexpectedBlockType | |||
| ) |
Definition at line 1198 of file test_blocksMore.cpp.
References profinet::blocks::ParseWriteMultipleResponse().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| PeerInfoMacStrFormatsAddress | |||
| ) |
Definition at line 355 of file test_blocksMore.cpp.
References profinet::blocks::PeerInfo::macAddress.
| TEST_F | ( | BlocksMoreTests | , |
| PortInfoLinkStateCoversAllBranches | |||
| ) |
Definition at line 392 of file test_blocksMore.cpp.
References profinet::blocks::PortInfo::LinkState(), and profinet::blocks::PortInfo::linkStateLink.
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| PortInfoMauTypeNameCoversKnownAndUnknownValues | |||
| ) |
Definition at line 363 of file test_blocksMore.cpp.
References profinet::blocks::PortInfo::mauType, and profinet::blocks::PortInfo::MauTypeName().
Here is the call graph for this function:| TEST_F | ( | BlocksMoreTests | , |
| SlotInfoToStringFormatsSubslot | |||
| ) |
Definition at line 347 of file test_blocksMore.cpp.
References profinet::blocks::SlotInfo::slot.
| TEST_F | ( | BlocksMoreTests | , |
| WriteMultipleResultSuccessReflectsStatus | |||
| ) |
Definition at line 951 of file test_blocksMore.cpp.
References profinet::blocks::WriteMultipleResult::status, and profinet::blocks::WriteMultipleResult::Success().
Here is the call graph for this function: