Vector BLF
EthernetFrameEx.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 EthernetFrameEx 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 
41  uint16_t structLength {};
42 
51  uint16_t flags {};
52 
56  uint16_t channel {};
57 
61  uint16_t hardwareChannel {};
62 
66  uint64_t frameDuration {};
67 
71  uint32_t frameChecksum {};
72 
76  uint16_t dir {};
77 
81  uint16_t frameLength {};
82 
86  uint32_t frameHandle {};
87 
89  uint32_t reservedEthernetFrameEx {};
90 
94  std::vector<uint8_t> frameData {};
95 };
96 
97 }
98 }
Definition: AbstractFile.h:19
ETHERNET_FRAME_EX.
Definition: EthernetFrameEx.h:24
Object header.
Definition: ObjectHeader.h:22