Vector BLF
AfdxLineStatus.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 
36 struct VECTOR_BLF_EXPORT AfdxLineStatus final {
37  AfdxLineStatus() noexcept = default;
38  virtual ~AfdxLineStatus() noexcept = default;
39  AfdxLineStatus(const AfdxLineStatus &) = default;
40  AfdxLineStatus & operator=(const AfdxLineStatus &) = default;
41  AfdxLineStatus(AfdxLineStatus &&) = default;
42  AfdxLineStatus & operator=(AfdxLineStatus &&) = default;
43 
45  virtual void read(AbstractFile & is);
46 
48  virtual void write(AbstractFile & os);
49 
51  virtual DWORD calculateObjectSize() const;
52 
60  WORD flags {};
61 
70  BYTE linkStatus {};
71 
78  BYTE ethernetPhy {};
79 
86  BYTE duplex {};
87 
94  BYTE mdi {};
95 
102  BYTE connector {};
103 
110  BYTE clockMode {};
111 
119  BYTE pairs {};
120 
122  BYTE reservedAfdxLineStatus1 {};
123 
125  WORD reservedAfdxLineStatus2 {};
126 
130  ULONG bitrate {};
131 };
132 
133 }
134 }
Definition: AbstractFile.h:36
Definition: AfdxLineStatus.h:36