Vector BLF
AfdxStatistic.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 
41 struct VECTOR_BLF_EXPORT AfdxStatistic final : ObjectHeader {
42  AfdxStatistic();
43 
44  void read(AbstractFile & is) override;
45  void write(AbstractFile & os) override;
46  DWORD calculateObjectSize() const override;
47 
53  WORD channel {};
54 
56  enum Flags : WORD {
58  ChannelIsConfigured = 0x0001,
59 
61  HwRelatedCountersValid = 0x0002,
62 
64  CanWinRelatedCountersAreValid = 0x0004,
65 
67  LinkRelatedInfoIsValud = 0x0008,
68 
70  InvalidPacketCounterIsValid = 0x0010,
71 
73  LostPacketCounterIsValud = 0x0020,
74 
76  DroppedPacketCounterIsValid = 0x0040,
77 
79  ByteCountersAreBasedOnCanWinPackets = 0x0080
80  };
81 
83  WORD flags {};
84 
89  ULONG rxPacketCount {};
90 
95  ULONG rxByteCount {};
96 
101  ULONG txPacketCount {};
102 
107  ULONG txByteCount {};
108 
113  ULONG collisionCount {};
114 
119  ULONG errorCount {};
120 
126  ULONG statDroppedRedundantPacketCount {};
127 
133  ULONG statRedundantErrorPacketCount {};
134 
139  ULONG statIntegrityErrorPacketCount {};
140 
145  ULONG statAvrgPeriodMsec {};
146 
151  ULONG statAvrgJitterMysec {};
152 
156  ULONG vlid {};
157 
162  ULONG statDuration {};
163 };
164 
165 }
166 }
Definition: AbstractFile.h:36
AFDX_STATISTIC.
Definition: AfdxStatistic.h:41
Flags
Definition: AfdxStatistic.h:56
Object header.
Definition: ObjectHeader.h:40