|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
DREP-aware fields we need out of a raw incoming RPC request; PROFINET block payloads inside the NRD body are always big-endian regardless of DREP, but the RPC/NRD header fields follow the DREP byte order. More...
#include <rpcTypes.h>
Collaboration diagram for profinet::rpc::raw::RawRpcHeader:Public Attributes | |
| std::uint8_t | version {} |
| RPC protocol version. | |
| std::uint8_t | packetType {} |
| RPC packet type, such as request or response. | |
| std::uint8_t | flags1 {} |
| First RPC flags byte. | |
| std::uint8_t | flags2 {} |
| Second RPC flags byte. | |
| std::uint8_t | serialHigh {} |
| High byte of the RPC serial number. | |
| std::array< std::uint8_t, 3 > | drep {} |
| Data Representation (DREP) bytes. | |
| std::array< std::uint8_t, uuidLenght > | objectUuid {} |
| Raw object UUID bytes. | |
| std::array< std::uint8_t, uuidLenght > | interfaceUuid {} |
| Raw interface UUID bytes. | |
| std::array< std::uint8_t, uuidLenght > | activityUuid {} |
| Raw activity UUID bytes. | |
| std::uint32_t | interfaceVersion {} |
| RPC interface version. | |
| std::uint32_t | sequenceNumber {} |
| RPC sequence number. | |
| std::uint16_t | operationNumber {} |
| RPC operation number. | |
| std::uint8_t | serialLow {} |
| Low byte of the RPC serial number. | |
| bool | isLittleEndian {} |
| True when RPC scalar fields use little-endian byte order. | |
| Bytes | payload |
| Remaining bytes after the fixed RPC header. | |
Static Public Attributes | |
| static constexpr std::uint8_t | kLittleEndianDrepFlag = 0x10U |
| DREP flag indicating little-endian byte order. | |
DREP-aware fields we need out of a raw incoming RPC request; PROFINET block payloads inside the NRD body are always big-endian regardless of DREP, but the RPC/NRD header fields follow the DREP byte order.
Definition at line 310 of file rpcTypes.h.
| std::array<std::uint8_t, uuidLenght> profinet::rpc::raw::RawRpcHeader::activityUuid {} |
Raw activity UUID bytes.
Definition at line 342 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::array<std::uint8_t, 3> profinet::rpc::raw::RawRpcHeader::drep {} |
Data Representation (DREP) bytes.
The first byte contains the byte-order flag used by RPC scalar fields.
Definition at line 333 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint8_t profinet::rpc::raw::RawRpcHeader::flags1 {} |
First RPC flags byte.
Definition at line 322 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint8_t profinet::rpc::raw::RawRpcHeader::flags2 {} |
Second RPC flags byte.
Definition at line 325 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::array<std::uint8_t, uuidLenght> profinet::rpc::raw::RawRpcHeader::interfaceUuid {} |
Raw interface UUID bytes.
Definition at line 339 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint32_t profinet::rpc::raw::RawRpcHeader::interfaceVersion {} |
RPC interface version.
Definition at line 345 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| bool profinet::rpc::raw::RawRpcHeader::isLittleEndian {} |
True when RPC scalar fields use little-endian byte order.
Definition at line 357 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
|
staticconstexpr |
DREP flag indicating little-endian byte order.
Definition at line 313 of file rpcTypes.h.
Referenced by profinet::rpc::RPCCon::EpmLookup(), and profinet::rpc::raw::ParseRawRpcHeader().
| std::array<std::uint8_t, uuidLenght> profinet::rpc::raw::RawRpcHeader::objectUuid {} |
Raw object UUID bytes.
Definition at line 336 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint16_t profinet::rpc::raw::RawRpcHeader::operationNumber {} |
RPC operation number.
Definition at line 351 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint8_t profinet::rpc::raw::RawRpcHeader::packetType {} |
RPC packet type, such as request or response.
Definition at line 319 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| Bytes profinet::rpc::raw::RawRpcHeader::payload |
Remaining bytes after the fixed RPC header.
PROFINET block payloads contained in the RPC body are parsed separately as big-endian wire data.
Definition at line 363 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint32_t profinet::rpc::raw::RawRpcHeader::sequenceNumber {} |
RPC sequence number.
Definition at line 348 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint8_t profinet::rpc::raw::RawRpcHeader::serialHigh {} |
High byte of the RPC serial number.
Definition at line 328 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint8_t profinet::rpc::raw::RawRpcHeader::serialLow {} |
Low byte of the RPC serial number.
Definition at line 354 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().
| std::uint8_t profinet::rpc::raw::RawRpcHeader::version {} |
RPC protocol version.
Definition at line 316 of file rpcTypes.h.
Referenced by profinet::rpc::raw::ParseRawRpcHeader().