Vector BLF
EthernetRxError.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/ObjectHeader.h>
13 
14 #include <Vector/BLF/vector_blf_export.h>
15 
16 namespace Vector {
17 namespace BLF {
18 
24 struct VECTOR_BLF_EXPORT EthernetRxError final : ObjectHeader {
26 
27  void read(AbstractFile & is) override;
28  void write(AbstractFile & os) override;
29  uint32_t calculateObjectSize() const override;
30 
36  virtual uint16_t calculateStructLength() const;
37 
45  uint16_t structLength {};
46 
50  uint16_t channel {};
51 
53  enum Dir : uint16_t {
55  Rx = 0,
56 
58  Tx = 1,
59 
61  TxRq = 2
62  };
63 
67  uint16_t dir {};
68 
72  uint16_t hardwareChannel {};
73 
79  uint32_t fcs {};
80 
87  uint16_t frameDataLength {};
88 
90  uint16_t reservedEthernetRxError {};
91 
100  uint32_t error {};
101 
108  std::vector<uint8_t> frameData {};
109 };
110 
111 }
112 }
Definition: AbstractFile.h:19
ETHERNET_RX_ERROR.
Definition: EthernetRxError.h:24
Dir
Definition: EthernetRxError.h:53
Object header.
Definition: ObjectHeader.h:22