|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
Declares PROFINET IO connection-management block structures and wire serialization. More...
#include <array>#include <cstdint>#include <optional>#include <string>#include <vector>#include "profinet/protocol.h"
Include dependency graph for blocks.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | profinet::blocks::BlockHeader |
| PROFINET block header (6 bytes). More... | |
| struct | profinet::blocks::SlotInfo |
| Slot/subslot discovered from a device. More... | |
| struct | profinet::blocks::PeerInfo |
| LLDP peer information from PDPortDataReal. More... | |
| struct | profinet::blocks::PortInfo |
| Port information from PDPortDataReal (0x020F). More... | |
| struct | profinet::blocks::InterfaceInfo |
| Interface information from PDInterfaceDataReal (0x0240). More... | |
| struct | profinet::blocks::PDRealData |
| Parsed PDRealData (0xF841) structure. More... | |
| struct | profinet::blocks::RealIdentificationData |
| Parsed RealIdentificationData (0xF000/0x0013) structure. More... | |
| struct | profinet::blocks::PortStatistics |
| Parsed PDPortStatistic (0x0251) counters. More... | |
| struct | profinet::blocks::ModuleDiffSubmodule |
| Difference info for a single submodule. More... | |
| struct | profinet::blocks::ModuleDiffModule |
| Difference info for a single module (slot). More... | |
| struct | profinet::blocks::ModuleDiffBlock |
| Parsed ModuleDiffBlock (0x8104). More... | |
| struct | profinet::blocks::WriteMultipleResult |
| Result of a single write within a WriteMultiple operation. More... | |
| class | profinet::blocks::IODWriteMultipleBuilder |
| Builder for IODWriteMultipleReq packets (index 0xE040). More... | |
| struct | profinet::blocks::IODWriteMultipleBuilder::Write |
| One queued write operation. More... | |
| struct | profinet::blocks::ExpectedSubmoduleDataDescription |
| Describes I/O data for a submodule (one direction: Input or Output). More... | |
| struct | profinet::blocks::ExpectedSubmodule |
| Expected submodule within a slot. More... | |
| struct | profinet::blocks::ExpectedSubmoduleSlot |
| One slot with in an api submodule. More... | |
| struct | profinet::blocks::ExpectedSubmoduleAPI |
| Expected submodules for a specific API/slot. More... | |
| class | profinet::blocks::ExpectedSubmoduleBlockReq |
| ExpectedSubmoduleBlockReq (0x0104) builder. More... | |
Namespaces | |
| namespace | profinet |
| namespace | profinet::blocks |
Enumerations | |
| enum class | profinet::blocks::ModuleType : std::uint16_t { profinet::blocks::None = 0 , profinet::blocks::InputOnly = 1 , profinet::blocks::OutputOnly = 2 , profinet::blocks::InputAndOutput = 3 } |
Functions | |
| std::pair< BlockHeader, std::size_t > | profinet::blocks::ParseBlockHeader (const Bytes &data, std::size_t offset=0) |
| Parse a 6-byte PROFINET block header at an offset. | |
| std::size_t | profinet::blocks::Align4 (std::size_t offset) |
| Round an offset up to the next 4-byte boundary. | |
| std::tuple< std::uint32_t, std::uint16_t, std::uint16_t, std::size_t > | profinet::blocks::ParseMultipleBlockHeader (const Bytes &data, std::size_t offset=0) |
| Parse a MultipleBlockHeader (0x0400) body. | |
| InterfaceInfo | profinet::blocks::ParsePdInterfaceDataReal (const Bytes &data, std::size_t offset=0, std::size_t blockHeaderSize=blockHeaderLenght) |
| Parse a PDInterfaceDataReal (0x0240) block body. | |
| PortInfo | profinet::blocks::ParsePdPortDataReal (const Bytes &data, std::size_t offset=0, std::uint16_t slot=0, std::uint16_t subslot=0) |
| Parse a PDPortDataReal (0x020F) block body. | |
| PDRealData | profinet::blocks::ParsePdRealData (const Bytes &data) |
| Parse a complete PDRealData (0xF841) response. | |
| RealIdentificationData | profinet::blocks::ParseRealIdentificationData (const Bytes &data) |
| Parse a RealIdentificationData (0xF000 or 0x0013) response. | |
| std::optional< PortStatistics > | profinet::blocks::ParsePortStatistics (const Bytes &data, std::size_t offset=0) |
| Parse a PDPortStatistic (0x0251) block body. | |
| ModuleDiffBlock | profinet::blocks::ParseModuleDiffBlock (const Bytes &data) |
| Parse a ModuleDiffBlock (0x8104) from raw bytes. | |
| std::vector< WriteMultipleResult > | profinet::blocks::ParseWriteMultipleResponse (const Bytes &data) |
| Parse an IODWriteMultipleRes into individual per-write results. | |
Declares PROFINET IO connection-management block structures and wire serialization.
Definition in file blocks.h.