Vector BLF
MostEthernetPkt.h
1 // SPDX-FileCopyrightText: 2013-2021 Tobias Lorenz <tobias.lorenz@gmx.net>
2 //
3 // SPDX-License-Identifier: GPL-3.0-or-later
4 
5 #pragma once
6 
7 #include <Vector/BLF/platform.h>
8 
9 #include <vector>
10 
11 #include <Vector/BLF/AbstractFile.h>
12 #include <Vector/BLF/ObjectHeader2.h>
13 
14 #include <Vector/BLF/vector_blf_export.h>
15 
16 namespace Vector {
17 namespace BLF {
18 
24 struct VECTOR_BLF_EXPORT MostEthernetPkt final : ObjectHeader2 {
26 
27  void read(AbstractFile & is) override;
28  void write(AbstractFile & os) override;
29  uint32_t calculateObjectSize() const override;
30 
36  uint16_t channel {};
37 
46  uint8_t dir {};
47 
49  uint8_t reservedMostEthernetPkt1 {};
50 
52  uint32_t reservedMostEthernetPkt2 {};
53 
59  uint64_t sourceMacAdr {};
60 
66  uint64_t destMacAdr {};
67 
80  uint8_t transferType {};
81 
112  uint8_t state {};
113 
151  uint8_t ackNack {};
152 
154  uint8_t reservedMostEthernetPkt3 {};
155 
161  uint32_t crc {};
162 
171  uint8_t pAck {};
172 
182  uint8_t cAck {};
183 
185  uint16_t reservedMostEthernetPkt4 {};
186 
192  uint32_t pktDataLength {};
193 
195  uint64_t reservedMostEthernetPkt5 {};
196 
202  std::vector<uint8_t> pktData {};
203 };
204 
205 }
206 }
Definition: AbstractFile.h:19
MOST_ETHERNET_PKT.
Definition: MostEthernetPkt.h:24
Object header.
Definition: ObjectHeader2.h:22