Vector BLF
KLineStatusEvent.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 <array>
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 
22 struct VECTOR_BLF_EXPORT KLineStatusEvent final : ObjectHeader {
24 
25  void read(AbstractFile & is) override;
26  void write(AbstractFile & os) override;
27  uint32_t calculateObjectSize() const override;
28 
30  enum Type : uint16_t {
32  toEcu = 0x8000,
33 
35  mask = 0x7FFF
36  };
37 
41  uint16_t type {};
42 
46  uint16_t dataLen {};
47 
51  uint32_t port {};
52 
54  uint64_t reservedKLineStatusEvent {};
55 
59  std::array<uint64_t, 3> data {};
60 };
61 
62 }
63 }
Definition: AbstractFile.h:19
KLINE_STATUSEVENT.
Definition: KLineStatusEvent.h:22
Type
Definition: KLineStatusEvent.h:30
Object header.
Definition: ObjectHeader.h:22