libptpmgmt 2.0
libptpmgmt library that provides the functionality of linuxptp pmc
Loading...
Searching...
No Matches
mngTlvs.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_C_PROC_H
13#define __PTPMGMT_C_PROC_H
14
15#include <stdlib.h>
16#include "c/types.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
40static const uint16_t PTPMGMT_INITIALIZE_EVENT = 0x0000;
155 uint8_t flags;
156};
381 uint8_t flags;
382};
401static const float_nanoseconds PTPMGMT_P41 = 1ULL << 41;
450#define LIBPTPMGMT_EVENT_BITMASK_CNT (64)
452static const int PTPMGMT_NOTIFY_PORT_STATE = 0;
454static const int PTPMGMT_NOTIFY_TIME_SYNC = 1;
456static const int PTPMGMT_NOTIFY_PARENT_DATA_SET = 2;
458static const int PTPMGMT_NOTIFY_CMLDS = 3;
478 int event);
491 int event);
503#define LIBPTPMGMT_MAX_MESSAGE_TYPES (16)
505static const int PTPMGMT_STAT_SYNC = 0;
507static const int PTPMGMT_STAT_DELAY_REQ = 1;
509static const int PTPMGMT_STAT_PDELAY_REQ = 2;
511static const int PTPMGMT_STAT_PDELAY_RESP = 3;
513static const int PTPMGMT_STAT_FOLLOW_UP = 8;
515static const int PTPMGMT_STAT_DELAY_RESP = 9;
517static const int PTPMGMT_STAT_PDELAY_RESP_FOLLOW_UP = 10;
519static const int PTPMGMT_STAT_ANNOUNCE = 11;
521static const int PTPMGMT_STAT_SIGNALING = 12;
523static const int PTPMGMT_STAT_MANAGEMENT = 13;
535static const uint8_t PTPMGMT_SYNC_UNCERTAIN_FALSE = 0;
537static const uint8_t PTPMGMT_SYNC_UNCERTAIN_TRUE = 1;
539static const uint8_t PTPMGMT_SYNC_UNCERTAIN_DONTCARE = 0xff;
622
623#ifdef __cplusplus
624}
625#endif
626
627#endif /* __PTPMGMT_C_PROC_H */
void ptpmgmt_clearEvent_lnp(struct ptpmgmt_SUBSCRIBE_EVENTS_NP_t *tlv, int event)
#define LIBPTPMGMT_EVENT_BITMASK_CNT
Definition mngTlvs.h:450
#define LIBPTPMGMT_MAX_MESSAGE_TYPES
Definition mngTlvs.h:503
void ptpmgmt_setEvent_lnp(struct ptpmgmt_SUBSCRIBE_EVENTS_NP_t *tlv, int event)
void ptpmgmt_clearAll_lnp(struct ptpmgmt_SUBSCRIBE_EVENTS_NP_t *tlv)
bool ptpmgmt_getEvent_lnp(const struct ptpmgmt_SUBSCRIBE_EVENTS_NP_t *tlv, int event)
Types, enumerators, and structers used by C interface to PTP management messages.
ptpmgmt_linuxptpTimeStamp_e
Definition types.h:355
ptpmgmt_linuxptpPowerProfileVersion_e
Definition types.h:371
ptpmgmt_portState_e
Definition types.h:292
ptpmgmt_delayMechanism_e
Definition types.h:307
ptpmgmt_timeSource_e
Definition types.h:279
ptpmgmt_clockAccuracy_e
Definition types.h:237
UInteger16_t maxTableSize
Definition mngTlvs.h:286
uint8_t flags
Definition mngTlvs.h:280
Definition mngTlvs.h:269
struct ptpmgmt_AcceptableMaster_t * list
Definition mngTlvs.h:272
Integer16_t actualTableSize
Definition mngTlvs.h:270
Definition mngTlvs.h:289
uint8_t flags
Definition mngTlvs.h:294
Integer8_t logAlternateMulticastSyncInterval
Definition mngTlvs.h:297
UInteger8_t numberOfAlternateMasters
Definition mngTlvs.h:299
UInteger8_t keyField
Definition mngTlvs.h:303
uint8_t flags
Definition mngTlvs.h:308
UInteger8_t maxKey
Definition mngTlvs.h:318
Definition mngTlvs.h:311
struct ptpmgmt_PTPText_t displayName
Definition mngTlvs.h:314
UInteger8_t keyField
Definition mngTlvs.h:312
Integer32_t currentOffset
Definition mngTlvs.h:323
UInteger8_t keyField
Definition mngTlvs.h:322
UInteger48_t timeOfNextJump
Definition mngTlvs.h:325
Integer32_t jumpSeconds
Definition mngTlvs.h:324
Definition mngTlvs.h:163
UInteger8_t announceReceiptTimeout
Definition mngTlvs.h:166
Definition types.h:459
Definition mngTlvs.h:187
enum ptpmgmt_clockAccuracy_e clockAccuracy
Definition mngTlvs.h:188
Definition mngTlvs.h:23
struct ptpmgmt_PTPText_t userDescription
Definition mngTlvs.h:32
Octet_t profileIdentity[6]
Definition mngTlvs.h:33
struct ptpmgmt_PTPText_t productDescription
Definition mngTlvs.h:30
struct ptpmgmt_PTPText_t physicalLayerProtocol
Definition mngTlvs.h:25
uint16_t clockType
Definition mngTlvs.h:24
Octet_t manufacturerIdentity[3]
Definition mngTlvs.h:29
UInteger16_t physicalAddressLength
Definition mngTlvs.h:26
struct ptpmgmt_PortAddress_t protocolAddress
Definition mngTlvs.h:28
uint8_t * physicalAddress
Definition mngTlvs.h:27
struct ptpmgmt_PTPText_t revisionData
Definition mngTlvs.h:31
Definition mngTlvs.h:601
uint32_t as_capable
Definition mngTlvs.h:605
Integer32_t scaledNeighborRateRatio
Definition mngTlvs.h:604
struct ptpmgmt_TimeInterval_t meanLinkDelay
Definition mngTlvs.h:602
Definition mngTlvs.h:66
UInteger16_t stepsRemoved
Definition mngTlvs.h:67
struct ptpmgmt_TimeInterval_t offsetFromMaster
Definition mngTlvs.h:69
struct ptpmgmt_TimeInterval_t meanPathDelay
Definition mngTlvs.h:71
Definition types.h:412
Definition types.h:433
Definition mngTlvs.h:51
struct ptpmgmt_ClockQuality_t clockQuality
Definition mngTlvs.h:60
UInteger16_t numberPorts
Definition mngTlvs.h:58
UInteger8_t priority1
Definition mngTlvs.h:59
UInteger8_t priority2
Definition mngTlvs.h:61
struct ptpmgmt_ClockIdentity_t clockIdentity
Definition mngTlvs.h:62
UInteger8_t domainNumber
Definition mngTlvs.h:63
uint8_t flags
Definition mngTlvs.h:57
Definition mngTlvs.h:361
enum ptpmgmt_delayMechanism_e delayMechanism
Definition mngTlvs.h:365
Definition mngTlvs.h:146
UInteger8_t domainNumber
Definition mngTlvs.h:147
UInteger16_t stepsRemoved
Definition mngTlvs.h:620
struct ptpmgmt_ClockIdentity_t gmIdentity
Definition mngTlvs.h:619
uint8_t flags
Definition mngTlvs.h:373
enum ptpmgmt_portState_e desiredState
Definition mngTlvs.h:398
uint8_t flags
Definition mngTlvs.h:397
Definition mngTlvs.h:46
UInteger16_t numberOfFaultRecords
Definition mngTlvs.h:47
struct ptpmgmt_FaultRecord_t * faultRecords
Definition mngTlvs.h:48
Definition types.h:450
Definition mngTlvs.h:246
UInteger8_t actualTableSize
Definition mngTlvs.h:250
struct ptpmgmt_PortAddress_t * PortAddress
Definition mngTlvs.h:252
Integer8_t logQueryInterval
Definition mngTlvs.h:249
Definition mngTlvs.h:426
uint8_t flags
Definition mngTlvs.h:438
struct ptpmgmt_ClockQuality_t clockQuality
Definition mngTlvs.h:427
enum ptpmgmt_timeSource_e timeSource
Definition mngTlvs.h:439
Integer16_t currentUtcOffset
Definition mngTlvs.h:428
Definition mngTlvs.h:384
uint8_t flags
Definition mngTlvs.h:389
Definition mngTlvs.h:42
uint16_t initializationKey
Definition mngTlvs.h:43
Definition mngTlvs.h:158
Integer8_t logAnnounceInterval
Definition mngTlvs.h:160
Integer8_t logMinPdelayReqInterval
Definition mngTlvs.h:344
Definition mngTlvs.h:169
Integer8_t logSyncInterval
Definition mngTlvs.h:171
Definition types.h:551
Definition mngTlvs.h:376
uint8_t flags
Definition mngTlvs.h:381
Definition mngTlvs.h:74
uint8_t flags
Definition mngTlvs.h:80
UInteger16_t observedParentOffsetScaledLogVariance
Definition mngTlvs.h:83
UInteger8_t grandmasterPriority1
Definition mngTlvs.h:87
struct ptpmgmt_ClockIdentity_t grandmasterIdentity
Definition mngTlvs.h:91
struct ptpmgmt_ClockQuality_t grandmasterClockQuality
Definition mngTlvs.h:89
Integer32_t observedParentClockPhaseChangeRate
Definition mngTlvs.h:86
UInteger8_t grandmasterPriority2
Definition mngTlvs.h:90
struct ptpmgmt_PortIdentity_t parentPortIdentity
Definition mngTlvs.h:75
Definition mngTlvs.h:238
uint8_t flags
Definition mngTlvs.h:243
Definition mngTlvs.h:233
struct ptpmgmt_ClockIdentity_t * pathSequence
Definition mngTlvs.h:234
size_t actualTableSize
Definition mngTlvs.h:235
Definition mngTlvs.h:610
Integer64_t delayAsymmetry
Definition mngTlvs.h:613
Integer64_t egressLatency
Definition mngTlvs.h:611
Integer64_t ingressLatency
Definition mngTlvs.h:612
Definition mngTlvs.h:444
UInteger32_t neighborPropDelayThresh
Definition mngTlvs.h:446
Integer32_t asCapable
Definition mngTlvs.h:447
Definition mngTlvs.h:109
struct ptpmgmt_TimeInterval_t peerMeanPathDelay
Definition mngTlvs.h:115
Integer8_t logMinDelayReqInterval
Definition mngTlvs.h:114
struct ptpmgmt_PortIdentity_t portIdentity
Definition mngTlvs.h:110
Integer8_t logMinPdelayReqInterval
Definition mngTlvs.h:129
enum ptpmgmt_portState_e portState
Definition mngTlvs.h:111
enum ptpmgmt_delayMechanism_e delayMechanism
Definition mngTlvs.h:126
Integer8_t logSyncInterval
Definition mngTlvs.h:122
UInteger8_t announceReceiptTimeout
Definition mngTlvs.h:120
Nibble_t versionNumber
Definition mngTlvs.h:135
Integer8_t logAnnounceInterval
Definition mngTlvs.h:117
Definition mngTlvs.h:582
struct ptpmgmt_PortIdentity_t portIdentity
Definition mngTlvs.h:583
UInteger8_t flags
Definition mngTlvs.h:585
Integer32_t phc_index
Definition mngTlvs.h:584
Definition mngTlvs.h:495
struct ptpmgmt_PTPText_t interface
Definition mngTlvs.h:500
enum ptpmgmt_portState_e portState
Definition mngTlvs.h:497
enum ptpmgmt_linuxptpTimeStamp_e timestamping
Definition mngTlvs.h:499
struct ptpmgmt_PortIdentity_t portIdentity
Definition mngTlvs.h:496
Definition mngTlvs.h:555
uint64_t followup_mismatch
Definition mngTlvs.h:569
uint64_t master_announce_timeout
Definition mngTlvs.h:565
uint64_t unicast_service_timeout
Definition mngTlvs.h:561
uint64_t sync_timeout
Definition mngTlvs.h:558
uint64_t sync_mismatch
Definition mngTlvs.h:568
uint64_t announce_timeout
Definition mngTlvs.h:557
uint64_t unicast_request_timeout
Definition mngTlvs.h:563
struct ptpmgmt_PortIdentity_t portIdentity
Definition mngTlvs.h:556
uint64_t qualification_timeout
Definition mngTlvs.h:567
uint64_t delay_timeout
Definition mngTlvs.h:559
uint64_t master_sync_timeout
Definition mngTlvs.h:566
Definition mngTlvs.h:527
struct ptpmgmt_PortIdentity_t portIdentity
Definition mngTlvs.h:528
uint64_t txMsgType[LIBPTPMGMT_MAX_MESSAGE_TYPES]
Definition mngTlvs.h:532
uint64_t rxMsgType[LIBPTPMGMT_MAX_MESSAGE_TYPES]
Definition mngTlvs.h:530
Definition mngTlvs.h:590
UInteger32_t networkTimeInaccuracy
Definition mngTlvs.h:595
UInteger32_t totalTimeInaccuracy
Definition mngTlvs.h:596
UInteger16_t grandmasterID
Definition mngTlvs.h:593
enum ptpmgmt_linuxptpPowerProfileVersion_e version
Definition mngTlvs.h:592
UInteger32_t grandmasterTimeInaccuracy
Definition mngTlvs.h:594
Definition mngTlvs.h:357
UInteger8_t primaryDomain
Definition mngTlvs.h:358
Definition mngTlvs.h:138
UInteger8_t priority1
Definition mngTlvs.h:139
Definition mngTlvs.h:142
UInteger8_t priority2
Definition mngTlvs.h:143
Definition types.h:439
Definition types.h:421
Definition types.h:416
Definition mngTlvs.h:150
uint8_t flags
Definition mngTlvs.h:155
Definition mngTlvs.h:462
uint8_t bitmask[LIBPTPMGMT_EVENT_BITMASK_CNT]
Definition mngTlvs.h:464
uint16_t duration
Definition mngTlvs.h:463
uint8_t val
Definition mngTlvs.h:550
Definition mngTlvs.h:211
enum ptpmgmt_timeSource_e timeSource
Definition mngTlvs.h:217
uint8_t flags
Definition mngTlvs.h:216
Definition mngTlvs.h:94
Integer16_t currentUtcOffset
Definition mngTlvs.h:95
enum ptpmgmt_timeSource_e timeSource
Definition mngTlvs.h:106
uint8_t flags
Definition mngTlvs.h:105
Definition mngTlvs.h:405
Integer32_t gmPresent
Definition mngTlvs.h:420
uint16_t fractional_nanoseconds
Definition mngTlvs.h:419
uint16_t nanoseconds_msb
Definition mngTlvs.h:415
Integer32_t scaledLastGmPhaseChange
Definition mngTlvs.h:411
int64_t master_offset
Definition mngTlvs.h:406
uint64_t nanoseconds_lsb
Definition mngTlvs.h:417
Integer32_t cumulativeScaledRateOffset
Definition mngTlvs.h:409
UInteger16_t gmTimeBaseIndicator
Definition mngTlvs.h:413
struct ptpmgmt_ClockIdentity_t gmIdentity
Definition mngTlvs.h:421
int64_t ingress_time
Definition mngTlvs.h:407
Definition mngTlvs.h:183
struct ptpmgmt_Timestamp_t currentTime
Definition mngTlvs.h:184
Definition mngTlvs.h:202
uint8_t flags
Definition mngTlvs.h:208
UInteger8_t primaryDomain
Definition mngTlvs.h:354
UInteger16_t numberPorts
Definition mngTlvs.h:349
enum ptpmgmt_delayMechanism_e delayMechanism
Definition mngTlvs.h:353
struct ptpmgmt_ClockIdentity_t clockIdentity
Definition mngTlvs.h:348
struct ptpmgmt_TimeInterval_t peerMeanPathDelay
Definition mngTlvs.h:338
uint8_t flags
Definition mngTlvs.h:334
Integer8_t logMinPdelayReqInterval
Definition mngTlvs.h:337
struct ptpmgmt_PortIdentity_t portIdentity
Definition mngTlvs.h:329
Definition types.h:403
Definition types.h:407
UInteger16_t maxTableSize
Definition mngTlvs.h:266
Definition mngTlvs.h:574
Integer16_t actualTableSize
Definition mngTlvs.h:575
struct ptpmgmt_LinuxptpUnicastMaster_t * unicastMasters
Definition mngTlvs.h:577
Definition mngTlvs.h:255
struct ptpmgmt_PortAddress_t * PortAddress
Definition mngTlvs.h:261
Integer8_t logQueryInterval
Definition mngTlvs.h:258
UInteger16_t actualTableSize
Definition mngTlvs.h:259
Definition mngTlvs.h:220
uint8_t flags
Definition mngTlvs.h:225
Definition mngTlvs.h:36
struct ptpmgmt_PTPText_t userDescription
Definition mngTlvs.h:37
Definition mngTlvs.h:191
uint8_t flags
Definition mngTlvs.h:199
Integer16_t currentUtcOffset
Definition mngTlvs.h:192
Definition mngTlvs.h:174
Nibble_t versionNumber
Definition mngTlvs.h:180
uint16_t UInteger16_t
Definition types.h:40
uint64_t UInteger48_t
Definition types.h:44
uint8_t Nibble_t
Definition types.h:36
uint8_t UInteger8_t
Definition types.h:38
long double float_nanoseconds
Definition types.h:68
uint32_t UInteger32_t
Definition types.h:42
int8_t Integer8_t
Definition types.h:50
uint8_t Octet_t
Definition types.h:62
int16_t Integer16_t
Definition types.h:52
int32_t Integer32_t
Definition types.h:54
int64_t Integer64_t
Definition types.h:60