Vector BLF
AfdxBusStatistic.h
1 /*
2  * Copyright (C) 2013 Tobias Lorenz.
3  * Contact: tobias.lorenz@gmx.net
4  *
5  * This file is part of Tobias Lorenz's Toolkit.
6  *
7  * Commercial License Usage
8  * Licensees holding valid commercial licenses may use this file in
9  * accordance with the commercial license agreement provided with the
10  * Software or, alternatively, in accordance with the terms contained in
11  * a written agreement between you and Tobias Lorenz.
12  *
13  * GNU General Public License 3.0 Usage
14  * Alternatively, this file may be used under the terms of the GNU
15  * General Public License version 3.0 as published by the Free Software
16  * Foundation and appearing in the file LICENSE.GPL included in the
17  * packaging of this file. Please review the following information to
18  * ensure the GNU General Public License version 3.0 requirements will be
19  * met: http://www.gnu.org/copyleft/gpl.html.
20  */
21 
22 #pragma once
23 
24 #include <Vector/BLF/platform.h>
25 
26 #include <Vector/BLF/AbstractFile.h>
27 #include <Vector/BLF/ObjectHeader.h>
28 #include <Vector/BLF/VectorTypes.h>
29 
30 #include <Vector/BLF/vector_blf_export.h>
31 
32 namespace Vector {
33 namespace BLF {
34 
40 struct VECTOR_BLF_EXPORT AfdxBusStatistic final : ObjectHeader {
42 
43  void read(AbstractFile & is) override;
44  void write(AbstractFile & os) override;
45  DWORD calculateObjectSize() const override;
46 
50  WORD channel {};
51 
55  WORD flags {};
56 
60  ULONG statDuration {};
61 
62  /* bus-specific info */
63 
67  ULONG statRxPacketCountHW {};
68 
72  ULONG statTxPacketCountHW {};
73 
77  ULONG statRxErrorCountHW {};
78 
82  ULONG statTxErrorCountHW {};
83 
87  ULONG statRxBytesHW {};
88 
92  ULONG statTxBytesHW {};
93 
94  /* CANwin specific info */
95 
99  ULONG statRxPacketCount {};
100 
104  ULONG statTxPacketCount {};
105 
109  ULONG statDroppedPacketCount {};
110 
114  ULONG statInvalidPacketCount {};
115 
119  ULONG statLostPacketCount {};
120 
121  /* connection related info */
122 
126  BYTE line {};
127 
131  BYTE linkStatus {};
132 
136  WORD linkSpeed {};
137 
141  WORD linkLost {};
142 
144  WORD reservedAfdxBusStatistic1 {};
145 
147  DWORD reservedAfdxBusStatistic2 {};
148 };
149 
150 }
151 }
Definition: AbstractFile.h:36
AFDX_BUS_STATISTIC.
Definition: AfdxBusStatistic.h:40
Object header.
Definition: ObjectHeader.h:40