Vector BLF
Loading...
Searching...
No Matches
EthernetStatus.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/BLF/AbstractFile.h>
10#include <Vector/BLF/ObjectHeader.h>
11
12#include <Vector/BLF/vector_blf_export.h>
13
14namespace Vector {
15namespace BLF {
16
22struct VECTOR_BLF_EXPORT EthernetStatus final : ObjectHeader {
23 EthernetStatus();
24
25 void read(AbstractFile & is) override;
26 void write(AbstractFile & os) override;
27 uint32_t calculateObjectSize() const override;
28
32 uint16_t channel {};
33
35 enum Flags : uint16_t {
37 LinkStatus = 0x0001,
38
40 Bitrate = 0x0002,
41
43 EthernetPhy = 0x0004,
44
46 Duplex = 0x0008,
47
49 MdiType = 0x0010,
50
52 Connector = 0x0020,
53
55 ClockMode = 0x0040,
56
58 BrPair = 0x0080,
59
62 };
63
65 uint16_t flags;
66
68 enum LinkStatus : uint8_t {
71
74
76 LinkUp = 2,
77
80
83 };
84
88 uint8_t linkStatus {};
89
91 enum EthernetPhy : uint8_t {
94
97
100 };
101
105 uint8_t ethernetPhy {};
106
108 enum Duplex : uint8_t {
111
114
117 };
118
122 uint8_t duplex {};
123
125 enum Mdi : uint8_t {
128
131
134 };
135
137 uint8_t mdi {};
138
140 enum Connector : uint8_t {
143
145 Rj45 = 1,
146
149 };
150
152 uint8_t connector {};
153
155 enum ClockMode : uint8_t {
158
161
164 };
165
167 uint8_t clockMode {};
168
170 enum Pairs : uint8_t {
173
176
179
182 };
183
185 uint8_t pairs {};
186
188 uint8_t hardwareChannel {};
189
193 uint32_t bitrate {};
194};
195
196}
197}
Definition AbstractFile.h:19
uint8_t ethernetPhy
Ethernet Phy.
Definition EthernetStatus.h:105
void read(AbstractFile &is) override
Definition EthernetStatus.cpp:14
uint16_t channel
Definition EthernetStatus.h:32
Duplex
Definition EthernetStatus.h:108
@ HalfDuplex
Definition EthernetStatus.h:113
@ UnknownDuplex
Definition EthernetStatus.h:110
@ FullDuplex
Definition EthernetStatus.h:116
uint8_t mdi
Definition EthernetStatus.h:137
Flags
Definition EthernetStatus.h:35
@ HardwareChannel
Definition EthernetStatus.h:61
@ BrPair
Definition EthernetStatus.h:58
@ Bitrate
Definition EthernetStatus.h:40
@ MdiType
Definition EthernetStatus.h:49
uint8_t clockMode
Definition EthernetStatus.h:167
uint16_t flags
Definition EthernetStatus.h:65
Mdi
Definition EthernetStatus.h:125
@ Direct
Definition EthernetStatus.h:130
@ UnknownMdi
Definition EthernetStatus.h:127
@ Crossover
Definition EthernetStatus.h:133
uint32_t bitrate
Bitrate in [kbit/sec].
Definition EthernetStatus.h:193
LinkStatus
Definition EthernetStatus.h:68
@ LinkError
Definition EthernetStatus.h:82
@ UnknownLinkStatus
Definition EthernetStatus.h:70
@ LinkDown
Definition EthernetStatus.h:73
@ Negotiate
Definition EthernetStatus.h:79
@ LinkUp
Definition EthernetStatus.h:76
void write(AbstractFile &os) override
Definition EthernetStatus.cpp:29
uint32_t calculateObjectSize() const override
Definition EthernetStatus.cpp:44
uint8_t connector
Definition EthernetStatus.h:152
uint8_t pairs
Definition EthernetStatus.h:185
uint8_t hardwareChannel
Definition EthernetStatus.h:188
uint8_t duplex
Duplex.
Definition EthernetStatus.h:122
Connector
Definition EthernetStatus.h:140
@ DSub
Definition EthernetStatus.h:148
@ UnknownConnector
Definition EthernetStatus.h:142
@ Rj45
Definition EthernetStatus.h:145
EthernetPhy
Definition EthernetStatus.h:91
@ Ieee802_3
Definition EthernetStatus.h:96
@ BroadR_Reach
Definition EthernetStatus.h:99
@ UnknownEthernetPhy
Definition EthernetStatus.h:93
Pairs
Definition EthernetStatus.h:170
@ Br2Pair
Definition EthernetStatus.h:178
@ UnknownPairs
Definition EthernetStatus.h:172
@ Br4Pair
Definition EthernetStatus.h:181
@ Br1Pair
Definition EthernetStatus.h:175
ClockMode
Definition EthernetStatus.h:155
@ Master
Definition EthernetStatus.h:160
@ UnknownClockMode
Definition EthernetStatus.h:157
@ Slave
Definition EthernetStatus.h:163
uint8_t linkStatus
Link Status.
Definition EthernetStatus.h:88