12#ifndef __PTPMGMT_C_PROC_H
13#define __PTPMGMT_C_PROC_H
40static const uint16_t PTPMGMT_INITIALIZE_EVENT = 0x0000;
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;
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;
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
struct ptpmgmt_AcceptableMaster_t * list
Definition mngTlvs.h:272
Integer16_t actualTableSize
Definition mngTlvs.h:270
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
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
UInteger8_t announceReceiptTimeout
Definition mngTlvs.h:166
enum ptpmgmt_clockAccuracy_e clockAccuracy
Definition mngTlvs.h:188
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
uint32_t as_capable
Definition mngTlvs.h:605
Integer32_t scaledNeighborRateRatio
Definition mngTlvs.h:604
struct ptpmgmt_TimeInterval_t meanLinkDelay
Definition mngTlvs.h:602
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
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
enum ptpmgmt_delayMechanism_e delayMechanism
Definition mngTlvs.h:365
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
UInteger16_t numberOfFaultRecords
Definition mngTlvs.h:47
struct ptpmgmt_FaultRecord_t * faultRecords
Definition mngTlvs.h:48
UInteger8_t actualTableSize
Definition mngTlvs.h:250
struct ptpmgmt_PortAddress_t * PortAddress
Definition mngTlvs.h:252
Integer8_t logQueryInterval
Definition mngTlvs.h:249
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
uint8_t flags
Definition mngTlvs.h:389
uint16_t initializationKey
Definition mngTlvs.h:43
Integer8_t logAnnounceInterval
Definition mngTlvs.h:160
Integer8_t logMinPdelayReqInterval
Definition mngTlvs.h:344
Integer8_t logSyncInterval
Definition mngTlvs.h:171
uint8_t flags
Definition mngTlvs.h:381
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
uint8_t flags
Definition mngTlvs.h:243
struct ptpmgmt_ClockIdentity_t * pathSequence
Definition mngTlvs.h:234
size_t actualTableSize
Definition mngTlvs.h:235
Integer64_t delayAsymmetry
Definition mngTlvs.h:613
Integer64_t egressLatency
Definition mngTlvs.h:611
Integer64_t ingressLatency
Definition mngTlvs.h:612
UInteger32_t neighborPropDelayThresh
Definition mngTlvs.h:446
Integer32_t asCapable
Definition mngTlvs.h:447
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
struct ptpmgmt_PortIdentity_t portIdentity
Definition mngTlvs.h:583
UInteger8_t flags
Definition mngTlvs.h:585
Integer32_t phc_index
Definition mngTlvs.h:584
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
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
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
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
UInteger8_t primaryDomain
Definition mngTlvs.h:358
UInteger8_t priority1
Definition mngTlvs.h:139
UInteger8_t priority2
Definition mngTlvs.h:143
uint8_t flags
Definition mngTlvs.h:155
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
enum ptpmgmt_timeSource_e timeSource
Definition mngTlvs.h:217
uint8_t flags
Definition mngTlvs.h:216
Integer16_t currentUtcOffset
Definition mngTlvs.h:95
enum ptpmgmt_timeSource_e timeSource
Definition mngTlvs.h:106
uint8_t flags
Definition mngTlvs.h:105
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
struct ptpmgmt_Timestamp_t currentTime
Definition mngTlvs.h:184
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
UInteger16_t maxTableSize
Definition mngTlvs.h:266
Integer16_t actualTableSize
Definition mngTlvs.h:575
struct ptpmgmt_LinuxptpUnicastMaster_t * unicastMasters
Definition mngTlvs.h:577
struct ptpmgmt_PortAddress_t * PortAddress
Definition mngTlvs.h:261
Integer8_t logQueryInterval
Definition mngTlvs.h:258
UInteger16_t actualTableSize
Definition mngTlvs.h:259
uint8_t flags
Definition mngTlvs.h:225
struct ptpmgmt_PTPText_t userDescription
Definition mngTlvs.h:37
uint8_t flags
Definition mngTlvs.h:199
Integer16_t currentUtcOffset
Definition mngTlvs.h:192
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