libptpmgmt  1.3
libptpmgmt library that provides the functionality of linuxptp pmc
sig.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: LGPL-3.0-or-later
2  SPDX-FileCopyrightText: Copyright © 2021 Erez Geva <ErezGeva2@gmail.com> */
3 
12 #ifndef __PTPMGMT_SIG_H
13 #define __PTPMGMT_SIG_H
14 
15 #ifdef __cplusplus
16 #include <vector>
17 #include <memory>
18 #include "types.h"
19 
20 __PTPMGMT_NAMESPACE_BEGIN
21 
22 #ifndef SWIG
27 struct MANAGEMENT_t : public BaseSigTlv {
29  std::unique_ptr<BaseMngTlv> tlvData;
30 };
31 #endif /* SWIG */
40 };
51 };
53 struct PATH_TRACE_t : public BaseSigTlv {
54  std::vector<ClockIdentity_t> pathSequence;
55 };
64 };
89 };
91 struct L1_SYNC_t : public BaseSigTlv {
99  uint8_t flags1;
100  const uint8_t flagsMask1 = 0xf;
107  uint8_t flags2;
108  const uint8_t flagsMask2 = 0x7;
109 };
122  const uint8_t flagsMask1 = 0xf;
133  const uint8_t flagsMask2 = 0xf;
134 };
138 };
154  static size_t size() {
155  return sizeof sequenceId + 2 * Timestamp_t::size() +
157  }
158 };
161 
165  std::vector<SLAVE_RX_SYNC_TIMING_DATA_rec_t> list;
166 };
180  static size_t size() {
181  return sizeof sequenceId + 2 * TimeInterval_t::size() +
183  }
184 };
195  uint8_t computedFlags;
196  const uint8_t flagsMask = 0x7;
198  std::vector<SLAVE_RX_SYNC_COMPUTED_DATA_rec_t> list;
199 };
200 
210  static size_t size() { return sizeof sequenceId + Timestamp_t::size(); }
211 };
223  std::vector<SLAVE_TX_EVENT_TIMESTAMPS_rec_t> list;
224 };
229 };
268  uint8_t daylightSaving;
273  uint8_t leapSecondJump;
278  static size_t size() {
279  return 3 * 2 + sizeof(UInteger32_t) * 2 + sizeof(uint8_t) * 3 +
280  sizeof(Integer32_t) * 3 + sizeof_UInteger48_t * 3
281  + sizeof(SMPTEmasterLockingStatus_e);
282  }
283 };
299  static size_t size() {
300  return sizeof sequenceId + TimeInterval_t::size() +
301  2 * Timestamp_t::size();
302  }
303 };
311  std::vector<SLAVE_DELAY_TIMING_DATA_NP_rec_t> list;
312 };
313 
314 __PTPMGMT_NAMESPACE_END
315 #else /* __cplusplus */
316 #include "c/sig.h"
317 #endif /* __cplusplus */
318 
319 #endif /* __PTPMGMT_SIG_H */
PTP signalling TLV structures.
Types, enumerators, and structers used by C interface to PTP management messages.
Hold octets.
Definition: bin.h:28
mng_vals_e
Management TLVs ID.
Definition: mngIds.h:29
PTPText_t displayName
Definition: sig.h:63
UInteger8_t keyField
Definition: sig.h:58
Integer32_t jumpSeconds
Definition: sig.h:60
UInteger48_t timeOfNextJump
Definition: sig.h:61
Integer32_t currentOffset
Definition: sig.h:59
Definition: types.h:962
Definition: types.h:966
Definition: sig.h:226
Integer32_t scaledCumulativeRateRatio
Definition: sig.h:228
Definition: sig.h:66
TimeInterval_t maxStaticInstanceInaccuracy
Definition: sig.h:82
UInteger8_t tcHopCount
Definition: sig.h:68
UInteger8_t bcHopCount
Definition: sig.h:67
TimeInterval_t maxStaticMediumInaccuracy
Definition: sig.h:86
Float64_t varStaticMediumInaccuracy
Definition: sig.h:88
Float64_t varTransientInaccuracy
Definition: sig.h:76
TimeInterval_t maxGmInaccuracy
Definition: sig.h:70
TimeInterval_t maxDynamicInaccuracy
Definition: sig.h:78
Float64_t varDynamicInaccuracy
Definition: sig.h:80
Float64_t varGmInaccuracy
Definition: sig.h:72
Float64_t varStaticInstanceInaccuracy
Definition: sig.h:84
TimeInterval_t maxTransientInaccuracy
Definition: sig.h:74
Definition: sig.h:91
uint8_t flags2
Definition: sig.h:107
const uint8_t flagsMask2
Definition: sig.h:108
const uint8_t flagsMask1
Definition: sig.h:100
uint8_t flags1
Definition: sig.h:99
Definition: sig.h:36
managementErrorId_e managementErrorId
Definition: sig.h:38
mng_vals_e managementId
Definition: sig.h:37
PTPText_t displayData
Definition: sig.h:39
Definition: sig.h:27
mng_vals_e managementId
Definition: sig.h:28
std::unique_ptr< BaseMngTlv > tlvData
Definition: sig.h:29
Definition: sig.h:47
Octet_t organizationSubType[3]
Definition: sig.h:49
Octet_t organizationId[3]
Definition: sig.h:48
Binary dataField
Definition: sig.h:50
Definition: sig.h:53
std::vector< ClockIdentity_t > pathSequence
Definition: sig.h:54
const uint8_t flagsMask1
Definition: sig.h:122
uint8_t delayRespMessageAvailability
Definition: sig.h:132
const uint8_t flagsMask2
Definition: sig.h:133
uint8_t syncMessageAvailability
Definition: sig.h:121
Definition: sig.h:136
PortAddress_t portProtocolAddress
Definition: sig.h:137
Definition: types.h:828
Definition: types.h:762
Definition: types.h:717
static size_t size()
Definition: sig.h:299
Timestamp_t delayResponseTimestamp
Definition: sig.h:294
TimeInterval_t totalCorrectionField
Definition: sig.h:292
UInteger16_t sequenceId
Definition: sig.h:288
Timestamp_t delayOriginTimestamp
Definition: sig.h:290
Definition: sig.h:307
PortIdentity_t sourcePortIdentity
Definition: sig.h:309
std::vector< SLAVE_DELAY_TIMING_DATA_NP_rec_t > list
Definition: sig.h:311
TimeInterval_t meanPathDelay
Definition: sig.h:173
Integer32_t scaledNeighborRateRatio
Definition: sig.h:175
UInteger16_t sequenceId
Definition: sig.h:169
TimeInterval_t offsetFromMaster
Definition: sig.h:171
static size_t size()
Definition: sig.h:180
Definition: sig.h:186
std::vector< SLAVE_RX_SYNC_COMPUTED_DATA_rec_t > list
Definition: sig.h:198
const uint8_t flagsMask
Definition: sig.h:196
uint8_t computedFlags
Definition: sig.h:195
PortIdentity_t sourcePortIdentity
Definition: sig.h:188
Definition: sig.h:140
static size_t size()
Definition: sig.h:154
UInteger16_t sequenceId
Definition: sig.h:141
Timestamp_t syncEventIngressTimestamp
Definition: sig.h:149
Integer32_t scaledCumulativeRateOffset
Definition: sig.h:147
Timestamp_t syncOriginTimestamp
Definition: sig.h:143
TimeInterval_t totalCorrectionField
Definition: sig.h:145
Definition: sig.h:160
std::vector< SLAVE_RX_SYNC_TIMING_DATA_rec_t > list
Definition: sig.h:165
PortIdentity_t syncSourcePortIdentity
Definition: sig.h:163
Definition: sig.h:202
Timestamp_t eventEgressTimestamp
Definition: sig.h:205
static size_t size()
Definition: sig.h:210
UInteger16_t sequenceId
Definition: sig.h:203
Definition: sig.h:213
std::vector< SLAVE_TX_EVENT_TIMESTAMPS_rec_t > list
Definition: sig.h:223
PortIdentity_t sourcePortIdentity
Definition: sig.h:215
msgType_e eventMessageType
Definition: sig.h:221
Definition: sig.h:235
UInteger32_t defaultSystemFrameRate_numerator
Definition: sig.h:239
uint8_t daylightSaving
Definition: sig.h:268
UInteger48_t timeOfNextJump
Definition: sig.h:253
Octet_t organizationId[3]
Definition: sig.h:236
static size_t size()
Definition: sig.h:278
UInteger48_t timeOfNextJam
Definition: sig.h:258
SMPTEmasterLockingStatus_e masterLockingStatus
Definition: sig.h:243
Integer32_t jumpSeconds
Definition: sig.h:248
UInteger32_t defaultSystemFrameRate_denominator
Definition: sig.h:241
uint8_t timeAddressFlags
Definition: sig.h:244
Integer32_t previousJamLocalOffset
Definition: sig.h:267
Integer32_t currentLocalOffset
Definition: sig.h:246
Octet_t organizationSubType[3]
Definition: sig.h:237
uint8_t leapSecondJump
Definition: sig.h:273
UInteger48_t timeOfPreviousJam
Definition: sig.h:263
Definition: types.h:395
static size_t size()
Definition: types.h:401
Definition: types.h:416
static size_t size()
Definition: types.h:434
managementErrorId_e
Definition: types.h:199
uint16_t UInteger16_t
Definition: types.h:40
uint64_t UInteger48_t
Definition: types.h:44
msgType_e
Definition: types.h:114
uint8_t UInteger8_t
Definition: types.h:38
SMPTEmasterLockingStatus_e
Definition: types.h:327
uint32_t UInteger32_t
Definition: types.h:42
uint8_t Octet_t
Definition: types.h:62
int32_t Integer32_t
Definition: types.h:54
const size_t sizeof_UInteger48_t
Definition: types.h:46
double Float64_t
Definition: types.h:64