libptpmgmt  1.4
libptpmgmt library that provides the functionality of linuxptp pmc
Classes | Typedefs | Enumerations | Functions
types.h File Reference

Types, enumerators, and structers used by C interface to PTP management messages. More...

#include "name.h"
#include "c/mngIds.h"
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ptpmgmt_TimeInterval_t
 
struct  ptpmgmt_Timestamp_t
 
struct  ptpmgmt_ClockIdentity_t
 
struct  ptpmgmt_PortIdentity_t
 
struct  ptpmgmt_PortAddress_t
 
struct  ptpmgmt_ClockQuality_t
 
struct  ptpmgmt_PTPText_t
 
struct  ptpmgmt_FaultRecord_t
 
struct  ptpmgmt_AcceptableMaster_t
 
struct  ptpmgmt_ManagementId_t
 
struct  ptpmgmt_MsgParams
 
struct  ptpmgmt_LinuxptpUnicastMaster_t
 

Typedefs

typedef uint8_t Nibble_t
 
typedef uint8_t UInteger8_t
 
typedef uint16_t UInteger16_t
 
typedef uint32_t UInteger32_t
 
typedef uint64_t UInteger48_t
 
typedef uint64_t UInteger64_t
 
typedef int8_t Integer8_t
 
typedef int16_t Integer16_t
 
typedef int32_t Integer32_t
 
typedef int64_t Integer48_t
 
typedef int64_t Integer64_t
 
typedef uint8_t Octet_t
 
typedef double Float64_t
 
typedef long double float_seconds
 
typedef long double float_nanoseconds
 
typedef struct ptpmgmt_MsgParamsptpmgmt_pMsgParams
 
typedef const struct ptpmgmt_MsgParamsptpmgmt_cpMsgParams
 

Enumerations

enum  ptpmgmt_MNG_PARSE_ERROR_e {
  PTPMGMT_MNG_PARSE_ERROR_OK , PTPMGMT_MNG_PARSE_ERROR_MSG , PTPMGMT_MNG_PARSE_ERROR_SIG , PTPMGMT_MNG_PARSE_ERROR_SMPTE ,
  PTPMGMT_MNG_PARSE_ERROR_INVALID_ID , PTPMGMT_MNG_PARSE_ERROR_INVALID_TLV , PTPMGMT_MNG_PARSE_ERROR_MISMATCH_TLV , PTPMGMT_MNG_PARSE_ERROR_SIZE_MISS ,
  PTPMGMT_MNG_PARSE_ERROR_TOO_SMALL , PTPMGMT_MNG_PARSE_ERROR_SIZE , PTPMGMT_MNG_PARSE_ERROR_VAL , PTPMGMT_MNG_PARSE_ERROR_HEADER ,
  PTPMGMT_MNG_PARSE_ERROR_ACTION , PTPMGMT_MNG_PARSE_ERROR_UNSUPPORT , PTPMGMT_MNG_PARSE_ERROR_MEM , PTPMGMT_MNG_PARSE_ERROR_AUTH ,
  PTPMGMT_MNG_PARSE_ERROR_AUTH_NONE , PTPMGMT_MNG_PARSE_ERROR_AUTH_WRONG , PTPMGMT_MNG_PARSE_ERROR_AUTH_NOKEY
}
 
enum  ptpmgmt_msgType_e {
  ptpmgmt_Sync = 0 , ptpmgmt_Delay_Req = 1 , ptpmgmt_Pdelay_Req = 2 , ptpmgmt_Pdelay_Resp = 3 ,
  ptpmgmt_Follow_Up = 0x8 , ptpmgmt_Delay_Resp = 0x9 , ptpmgmt_Pdelay_Resp_Follow_Up = 0xa , ptpmgmt_Announce = 0xb ,
  ptpmgmt_Signaling = 0xc , ptpmgmt_Management = 0xd
}
 
enum  ptpmgmt_tlvType_e {
  PTPMGMT_MANAGEMENT = 0x0001 , PTPMGMT_MANAGEMENT_ERROR_STATUS = 0x0002 , PTPMGMT_ORGANIZATION_EXTENSION = 0x0003 , PTPMGMT_REQUEST_UNICAST_TRANSMISSION = 0x0004 ,
  PTPMGMT_GRANT_UNICAST_TRANSMISSION = 0x0005 , PTPMGMT_CANCEL_UNICAST_TRANSMISSION = 0x0006 , PTPMGMT_ACKNOWLEDGE_CANCEL_UNICAST_TRANSMISSION = 0x0007 , PTPMGMT_PATH_TRACE = 0x0008 ,
  PTPMGMT_ALTERNATE_TIME_OFFSET_INDICATOR = 0x0009 , PTPMGMT_ORGANIZATION_EXTENSION_PROPAGATE = 0x4000 , PTPMGMT_ENHANCED_ACCURACY_METRICS = 0x4001 , PTPMGMT_ORGANIZATION_EXTENSION_DO_NOT_PROPAGATE = 0x8000 ,
  PTPMGMT_L1_SYNC = 0x8001 , PTPMGMT_PORT_COMMUNICATION_AVAILABILITY = 0x8002 , PTPMGMT_PROTOCOL_ADDRESS = 0x8003 , PTPMGMT_SLAVE_RX_SYNC_TIMING_DATA = 0x8004 ,
  PTPMGMT_SLAVE_RX_SYNC_COMPUTED_DATA = 0x8005 , PTPMGMT_SLAVE_TX_EVENT_TIMESTAMPS = 0x8006 , PTPMGMT_CUMULATIVE_RATE_RATIO = 0x8007 , PTPMGMT_TLV_PAD = 0x8008 ,
  PTPMGMT_AUTHENTICATION = 0x8009 , PTPMGMT_SLAVE_DELAY_TIMING_DATA_NP = 0x7f00
}
 
enum  ptpmgmt_actionField_e {
  PTPMGMT_GET = 0 , PTPMGMT_SET = 1 , PTPMGMT_RESPONSE = 2 , PTPMGMT_COMMAND = 3 ,
  PTPMGMT_ACKNOWLEDGE = 4
}
 
enum  ptpmgmt_managementErrorId_e {
  PTPMGMT_RESPONSE_TOO_BIG = 0x0001 , PTPMGMT_NO_SUCH_ID = 0x0002 , PTPMGMT_WRONG_LENGTH = 0x0003 , PTPMGMT_WRONG_VALUE = 0x0004 ,
  PTPMGMT_NOT_SETABLE = 0x0005 , PTPMGMT_NOT_SUPPORTED = 0x0006 , PTPMGMT_GENERAL_ERROR = 0xfffe
}
 
enum  ptpmgmt_clockType_e {
  ptpmgmt_ordinaryClock = 0x8000 , ptpmgmt_boundaryClock = 0x4000 , ptpmgmt_p2pTransparentClock = 0x2000 , ptpmgmt_e2eTransparentClock = 0x1000 ,
  ptpmgmt_managementClock = 0x0800
}
 
enum  ptpmgmt_networkProtocol_e {
  ptpmgmt_UDP_IPv4 = 1 , ptpmgmt_UDP_IPv6 = 2 , ptpmgmt_IEEE_802_3 = 3 , ptpmgmt_DeviceNet = 4 ,
  ptpmgmt_ControlNet = 5 , ptpmgmt_PROFINET = 6
}
 
enum  ptpmgmt_clockAccuracy_e {
  ptpmgmt_Accurate_within_1ps = 0x17 , ptpmgmt_Accurate_within_2_5ps = 0x18 , ptpmgmt_Accurate_within_10ps = 0x19 , ptpmgmt_Accurate_within_25ps = 0x1a ,
  ptpmgmt_Accurate_within_100ps = 0x1b , ptpmgmt_Accurate_within_250ps = 0x1c , ptpmgmt_Accurate_within_1ns = 0x1d , ptpmgmt_Accurate_within_2_5ns = 0x1e ,
  ptpmgmt_Accurate_within_10ns = 0x1f , ptpmgmt_Accurate_within_25ns = 0x20 , ptpmgmt_Accurate_within_100ns = 0x21 , ptpmgmt_Accurate_within_250ns = 0x22 ,
  ptpmgmt_Accurate_within_1us = 0x23 , ptpmgmt_Accurate_within_2_5us = 0x24 , ptpmgmt_Accurate_within_10us = 0x25 , ptpmgmt_Accurate_within_25us = 0x26 ,
  ptpmgmt_Accurate_within_100us = 0x27 , ptpmgmt_Accurate_within_250us = 0x28 , ptpmgmt_Accurate_within_1ms = 0x29 , ptpmgmt_Accurate_within_2_5ms = 0x2a ,
  ptpmgmt_Accurate_within_10ms = 0x2b , ptpmgmt_Accurate_within_25ms = 0x2c , ptpmgmt_Accurate_within_100ms = 0x2d , ptpmgmt_Accurate_within_250ms = 0x2e ,
  ptpmgmt_Accurate_within_1s = 0x2f , ptpmgmt_Accurate_within_10s = 0x30 , ptpmgmt_Accurate_more_10s = 0x31 , ptpmgmt_Accurate_Unknown = 0xfe
}
 
enum  ptpmgmt_faultRecord_e {
  ptpmgmt_F_Emergency = 0x00 , ptpmgmt_F_Alert = 0x01 , ptpmgmt_F_Critical = 0x02 , ptpmgmt_F_Error = 0x03 ,
  ptpmgmt_F_Warning = 0x04 , ptpmgmt_F_Notice = 0x05 , ptpmgmt_F_Informational = 0x06 , ptpmgmt_F_Debug = 0x07
}
 
enum  ptpmgmt_timeSource_e {
  PTPMGMT_ATOMIC_CLOCK = 0x10 , PTPMGMT_GNSS = 0x20 , PTPMGMT_GPS = 0x20 , PTPMGMT_TERRESTRIAL_RADIO = 0x30 ,
  PTPMGMT_SERIAL_TIME_CODE = 0x39 , PTPMGMT_PTP = 0x40 , PTPMGMT_NTP = 0x50 , PTPMGMT_HAND_SET = 0x60 ,
  PTPMGMT_OTHER = 0x90 , PTPMGMT_INTERNAL_OSCILLATOR = 0xa0
}
 
enum  ptpmgmt_portState_e {
  PTPMGMT_INITIALIZING = 1 , PTPMGMT_FAULTY = 2 , PTPMGMT_DISABLED = 3 , PTPMGMT_LISTENING = 4 ,
  PTPMGMT_PRE_MASTER = 5 , PTPMGMT_PRE_TIME_TRANSMITTER = 5 , PTPMGMT_MASTER = 6 , PTPMGMT_TIME_TRANSMITTER = 6 ,
  PTPMGMT_PASSIVE = 7 , PTPMGMT_UNCALIBRATED = 8 , PTPMGMT_SLAVE = 9 , PTPMGMT_TIME_RECEIVER = 9
}
 
enum  ptpmgmt_delayMechanism_e {
  PTPMGMT_AUTO = 0 , PTPMGMT_E2E = 1 , PTPMGMT_P2P = 2 , PTPMGMT_NO_MECHANISM = 0xfe ,
  PTPMGMT_COMMON_P2P = 3 , PTPMGMT_SPECIAL = 4
}
 
enum  ptpmgmt_implementSpecific_e { ptpmgmt_noImplementSpecific , ptpmgmt_linuxptp }
 
enum  ptpmgmt_SMPTEmasterLockingStatus_e {
  PTPMGMT_SMPTE_NOT_IN_USE = 0 , PTPMGMT_SMPTE_FREE_RUN = 1 , PTPMGMT_SMPTE_COLD_LOCKING = 2 , PTPMGMT_SMPTE_WARM_LOCKING = 3 ,
  PTPMGMT_SMPTE_LOCKED = 4
}
 
enum  ptpmgmt_linuxptpTimeStamp_e {
  PTPMGMT_TS_SOFTWARE , PTPMGMT_TS_HARDWARE , PTPMGMT_TS_LEGACY_HW , PTPMGMT_TS_ONESTEP ,
  PTPMGMT_TS_P2P1STEP
}
 
enum  ptpmgmt_linuxptpPowerProfileVersion_e { PTPMGMT_IEEE_C37_238_VERSION_NONE , PTPMGMT_IEEE_C37_238_VERSION_2011 , PTPMGMT_IEEE_C37_238_VERSION_2017 }
 
enum  ptpmgmt_linuxptpUnicastState_e { PTPMGMT_UC_WAIT , PTPMGMT_UC_HAVE_ANN , PTPMGMT_UC_NEED_SYDY , PTPMGMT_UC_HAVE_SYDY }
 
enum  {
  PTPMGMT_F_LI_61 = (1 << 0) , PTPMGMT_F_LI_59 = (1 << 1) , PTPMGMT_F_UTCV = (1 << 2) , PTPMGMT_F_PTP = (1 << 3) ,
  PTPMGMT_F_TTRA = (1 << 4) , PTPMGMT_F_FTRA = (1 << 5)
}
 
enum  ptpmgmt_MsgParams_RcvAuth_e {
  PTPMGMT_RCV_AUTH_NONE = 0 , PTPMGMT_RCV_AUTH_MNG = (1 << 0) , PTPMGMT_RCV_AUTH_SIG_LAST = (1 << 1) , PTPMGMT_RCV_AUTH_SIG_ALL = (1 << 2) ,
  PTPMGMT_RCV_AUTH_ALL = 0x7 , PTPMGMT_RCV_AUTH_IGNORE = (1 << 3)
}
 

Functions

ptpmgmt_pMsgParams ptpmgmt_MsgParams_alloc ()
 

Detailed Description

Types, enumerators, and structers used by C interface to PTP management messages.

Author
Erez Geva <ErezGeva2@gmail.com>

Typedef Documentation

◆ Float64_t

typedef double Float64_t

IEEE Std 754 binary64 (64-bit double-precision floating-point format)

◆ float_nanoseconds

typedef long double float_nanoseconds

Float nano-seconds

◆ float_seconds

typedef long double float_seconds

Float seconds used in Timestamp_t

◆ Integer16_t

typedef int16_t Integer16_t

IEEE 1588 Protocol signed 16 bits integer

◆ Integer32_t

typedef int32_t Integer32_t

IEEE 1588 Protocol signed 32 bits integer

◆ Integer48_t

typedef int64_t Integer48_t

IEEE 1588 Protocol signed 48 bits integer

◆ Integer64_t

typedef int64_t Integer64_t

IEEE 1588 Protocol signed 64 bits integer

◆ Integer8_t

typedef int8_t Integer8_t

IEEE 1588 Protocol signed 8 bits integer

◆ Nibble_t

typedef uint8_t Nibble_t

IEEE 1588 Protocol 2 x 4 bits integer

◆ Octet_t

typedef uint8_t Octet_t

IEEE 1588 protocol octet

◆ ptpmgmt_cpMsgParams

typedef const struct ptpmgmt_MsgParams* ptpmgmt_cpMsgParams

pointer to constant ptpmgmt_MsgParams structure

◆ ptpmgmt_pMsgParams

pointer to ptpmgmt_MsgParams structure

◆ UInteger16_t

typedef uint16_t UInteger16_t

IEEE 1588 Protocol unsigned 16 bits integer

◆ UInteger32_t

typedef uint32_t UInteger32_t

IEEE 1588 Protocol unsigned 32 bits integer

◆ UInteger48_t

typedef uint64_t UInteger48_t

IEEE 1588 Protocol unsigned 48 bits integer

◆ UInteger64_t

typedef uint64_t UInteger64_t

IEEE 1588 Protocol unsigned 64 bits integer

◆ UInteger8_t

typedef uint8_t UInteger8_t

IEEE 1588 Protocol unsigned 8 bits integer

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Clock time properties bit mask

Enumerator
PTPMGMT_F_LI_61 

The last minute of the current UTC day contains 61 seconds

PTPMGMT_F_LI_59 

the last minute of the current UTC day contains 59 seconds

PTPMGMT_F_UTCV 

Current UTC offset is valid

PTPMGMT_F_PTP 

The timescale of the grandmaster PTP Instance is PTP

PTPMGMT_F_TTRA 

timescale is traceable to a primary reference

PTPMGMT_F_FTRA 

The frequency determining the timescale is traceable to a primary reference

◆ ptpmgmt_actionField_e

PTP management action

Enumerator
PTPMGMT_GET 

Send a get message

PTPMGMT_SET 

Send a set message

PTPMGMT_RESPONSE 

Receive response for a get or a set message

PTPMGMT_COMMAND 

Send command message

PTPMGMT_ACKNOWLEDGE 

Receive acknowledge on command

◆ ptpmgmt_clockAccuracy_e

PTP clock accuracy

Enumerator
ptpmgmt_Accurate_within_1ps 

higher than 1 picosecond

ptpmgmt_Accurate_within_2_5ps 

higher than 2.5 picoseconds

ptpmgmt_Accurate_within_10ps 

higher than 10 picoseconds

ptpmgmt_Accurate_within_25ps 

higher than 25 picoseconds

ptpmgmt_Accurate_within_100ps 

higher than 100 picoseconds

ptpmgmt_Accurate_within_250ps 

higher than 250 picoseconds

ptpmgmt_Accurate_within_1ns 

higher than 1 nanosecond

ptpmgmt_Accurate_within_2_5ns 

higher than 2.5 nanoseconds

ptpmgmt_Accurate_within_10ns 

higher than 10 nanoseconds

ptpmgmt_Accurate_within_25ns 

higher than 25 nanoseconds

ptpmgmt_Accurate_within_100ns 

higher than 100 nanoseconds

ptpmgmt_Accurate_within_250ns 

higher than 250 nanoseconds

ptpmgmt_Accurate_within_1us 

higher than 1 microsecond

ptpmgmt_Accurate_within_2_5us 

higher than 2.5 microseconds

ptpmgmt_Accurate_within_10us 

higher than 10 microseconds

ptpmgmt_Accurate_within_25us 

higher than 25 microseconds

ptpmgmt_Accurate_within_100us 

higher than 100 microseconds

ptpmgmt_Accurate_within_250us 

higher than 250 microseconds

ptpmgmt_Accurate_within_1ms 

higher than 1 millisecond

ptpmgmt_Accurate_within_2_5ms 

higher than 2.5 milliseconds

ptpmgmt_Accurate_within_10ms 

higher than 10 milliseconds

ptpmgmt_Accurate_within_25ms 

higher than 25 milliseconds

ptpmgmt_Accurate_within_100ms 

higher than 100 milliseconds

ptpmgmt_Accurate_within_250ms 

higher than 250 milliseconds

ptpmgmt_Accurate_within_1s 

higher than 1 seconds

ptpmgmt_Accurate_within_10s 

higher than 10 seconds

ptpmgmt_Accurate_more_10s 

lower than 10 seconds

ptpmgmt_Accurate_Unknown 

Unknown

◆ ptpmgmt_clockType_e

PTP clock type bit mask

A PTP clock could act as more than a single type

Note
: Ruby's wrapping, capitalize first letter of enumerators values
Enumerator
ptpmgmt_ordinaryClock 

ordinary clock

ptpmgmt_boundaryClock 

boundary clock

ptpmgmt_p2pTransparentClock 

peer-to-peer transparent clock

ptpmgmt_e2eTransparentClock 

end-to-end transparent clock

ptpmgmt_managementClock 

management node (deprecated)

◆ ptpmgmt_delayMechanism_e

Delay mechanizem

Enumerator
PTPMGMT_AUTO 

Automatic probing

Note
LinuxPTP value
PTPMGMT_E2E 

The PTP Port is configured to use the delay request-response mechanism.

PTPMGMT_P2P 

The PTP Port is configured to use the peer-to-peer delay mechanism.

PTPMGMT_NO_MECHANISM 

The PTP Port does not implement the delay mechanism.

PTPMGMT_COMMON_P2P 

The PTP Port is configured to use the Common Mean Link Delay Service option.

PTPMGMT_SPECIAL 

Special Ports do not use either delay mechanism.

◆ ptpmgmt_faultRecord_e

Fault record severity code

Enumerator
ptpmgmt_F_Emergency 

system is unusable

ptpmgmt_F_Alert 

immediate action needed

ptpmgmt_F_Critical 

critical conditions

ptpmgmt_F_Error 

error conditions

ptpmgmt_F_Warning 

warning conditions

ptpmgmt_F_Notice 

normal but significant condition

ptpmgmt_F_Informational 

informational messages

ptpmgmt_F_Debug 

debug-level messages

◆ ptpmgmt_implementSpecific_e

Specify Management TLV implementation-specific to use

Note
: Ruby's wrapping, capitalize first letter of enumerators values
Enumerator
ptpmgmt_noImplementSpecific 

Do not use any implementation-specific

ptpmgmt_linuxptp 

linuxptp project

◆ ptpmgmt_linuxptpPowerProfileVersion_e

linuxptp Power Profile version Specify the which power system profile to use

Enumerator
PTPMGMT_IEEE_C37_238_VERSION_NONE 

Do not use power system

PTPMGMT_IEEE_C37_238_VERSION_2011 

Use IEEE C37.238-2011 profile

PTPMGMT_IEEE_C37_238_VERSION_2017 

Use IEEE C37.238-2017 profile

◆ ptpmgmt_linuxptpTimeStamp_e

linuxptp timestamp Specify the underlaying Linux time stamps type that the daemon receive

Enumerator
PTPMGMT_TS_SOFTWARE 

Using system clock based with an offset that is maintain by driver

PTPMGMT_TS_HARDWARE 

network interface have a PTP Hardware clock, and the driver read the value

PTPMGMT_TS_LEGACY_HW 

Old hardware

PTPMGMT_TS_ONESTEP 

One step PTP, the driver writes the time stamp into the frame

PTPMGMT_TS_P2P1STEP 

One step PTP plus insert time to PDelay_Resp

◆ ptpmgmt_linuxptpUnicastState_e

linuxptp timeReceiver side unicast negotiation state

Enumerator
PTPMGMT_UC_WAIT 

Wait for answer

PTPMGMT_UC_HAVE_ANN 

Have answer

PTPMGMT_UC_NEED_SYDY 

Need to stand by

PTPMGMT_UC_HAVE_SYDY 

In stand by

◆ ptpmgmt_managementErrorId_e

PTP Management Error IDs

Enumerator
PTPMGMT_RESPONSE_TOO_BIG 

Response is too big

PTPMGMT_NO_SUCH_ID 

No such id

PTPMGMT_WRONG_LENGTH 

Wrong length

PTPMGMT_WRONG_VALUE 

Wrong value

PTPMGMT_NOT_SETABLE 

Not setable

PTPMGMT_NOT_SUPPORTED 

Not supported

PTPMGMT_GENERAL_ERROR 

General error

◆ ptpmgmt_MNG_PARSE_ERROR_e

Parsing and building errors

Enumerator
PTPMGMT_MNG_PARSE_ERROR_OK 

No error

PTPMGMT_MNG_PARSE_ERROR_MSG 

Error message

PTPMGMT_MNG_PARSE_ERROR_SIG 

Signalling message

PTPMGMT_MNG_PARSE_ERROR_SMPTE 

SMPTE message

PTPMGMT_MNG_PARSE_ERROR_INVALID_ID 

Invalid TLV mng id or action for TLV

PTPMGMT_MNG_PARSE_ERROR_INVALID_TLV 

Wrong TLV header

PTPMGMT_MNG_PARSE_ERROR_MISMATCH_TLV 

Mismatch TLV

PTPMGMT_MNG_PARSE_ERROR_SIZE_MISS 

Size mismatch of field with length

PTPMGMT_MNG_PARSE_ERROR_TOO_SMALL 

Buffer is too small

PTPMGMT_MNG_PARSE_ERROR_SIZE 

Size is even

PTPMGMT_MNG_PARSE_ERROR_VAL 

Value is out of range or invalid

PTPMGMT_MNG_PARSE_ERROR_HEADER 

Wrong value in header

PTPMGMT_MNG_PARSE_ERROR_ACTION 

Wrong action value

PTPMGMT_MNG_PARSE_ERROR_UNSUPPORT 

Do not know how to parse the TLV data

PTPMGMT_MNG_PARSE_ERROR_MEM 

Fail to allocate TLV data

PTPMGMT_MNG_PARSE_ERROR_AUTH 

Authentication error

PTPMGMT_MNG_PARSE_ERROR_AUTH_NONE 

Received without any Authentication

PTPMGMT_MNG_PARSE_ERROR_AUTH_WRONG 

Received Authentication with wrong ICV

PTPMGMT_MNG_PARSE_ERROR_AUTH_NOKEY 

Received Authentication with unkown key

◆ ptpmgmt_MsgParams_RcvAuth_e

Receive Authentication modes

Enumerator
PTPMGMT_RCV_AUTH_NONE 

Ignore all Authentication TLVs

PTPMGMT_RCV_AUTH_MNG 

Process Authentication TLVs of All Management packts

PTPMGMT_RCV_AUTH_SIG_LAST 

Process last Authentication TLVs of Signaling

PTPMGMT_RCV_AUTH_SIG_ALL 

Process all Authentication TLVs of Signaling

PTPMGMT_RCV_AUTH_ALL 

Process all Authentication TLVs

PTPMGMT_RCV_AUTH_IGNORE 

Continue process, with Authentication errors

◆ ptpmgmt_msgType_e

PTP messages type

Note
: 4 bits
Enumerator
ptpmgmt_Sync 

Synchronization event message

ptpmgmt_Delay_Req 

Delay request event message

ptpmgmt_Pdelay_Req 

Peer delay request event message

ptpmgmt_Pdelay_Resp 

Peer delay response event message

ptpmgmt_Follow_Up 

Follow up message

ptpmgmt_Delay_Resp 

Delay response

ptpmgmt_Pdelay_Resp_Follow_Up 

Peer delay response follow up message

ptpmgmt_Announce 

Announce message

ptpmgmt_Signaling 

Signalling message

ptpmgmt_Management 

Management message

◆ ptpmgmt_networkProtocol_e

PTP using a network layer

Enumerator
ptpmgmt_UDP_IPv4 

UDP over IP version 4

ptpmgmt_UDP_IPv6 

UDP over IP version 6

ptpmgmt_IEEE_802_3 

Raw Ethernet using IEEE 802.3

ptpmgmt_DeviceNet 

DeviceNet

ptpmgmt_ControlNet 

ControlNet

ptpmgmt_PROFINET 

PROFINET

◆ ptpmgmt_portState_e

Port state

Enumerator
PTPMGMT_INITIALIZING 

Initializing

PTPMGMT_FAULTY 

Faulty

PTPMGMT_DISABLED 

Disabled

PTPMGMT_LISTENING 

Listening

PTPMGMT_PRE_MASTER 

Pre timeTransmitter

PTPMGMT_PRE_TIME_TRANSMITTER 

Pre timeTransmitter

PTPMGMT_MASTER 

TimeTransmitter

PTPMGMT_TIME_TRANSMITTER 

TimeTransmitter

PTPMGMT_PASSIVE 

Passive

PTPMGMT_UNCALIBRATED 

Uncalibrated

PTPMGMT_SLAVE 

TimeReceiver

PTPMGMT_TIME_RECEIVER 

TimeReceiver

◆ ptpmgmt_SMPTEmasterLockingStatus_e

SMPTE master clock locking status

Enumerator
PTPMGMT_SMPTE_NOT_IN_USE 

Not in use

PTPMGMT_SMPTE_FREE_RUN 

Free Run

PTPMGMT_SMPTE_COLD_LOCKING 

In response to a disturbance, the grandmaster is re-locking quickly. In this situation, a rapid phase adjustment with a time discontinuity can be expected.

PTPMGMT_SMPTE_WARM_LOCKING 

In response to a disturbance, the grandmaster is re-locking slowly by means of a frequency adjustment, with no phase discontinuity. Time continuity is maintained.

PTPMGMT_SMPTE_LOCKED 

Locked, in normal operation and stable.

◆ ptpmgmt_timeSource_e

Time source type

Enumerator
PTPMGMT_ATOMIC_CLOCK 

Atomic clock

PTPMGMT_GNSS 

Satellite navigation

PTPMGMT_GPS 

Satellite navigation

PTPMGMT_TERRESTRIAL_RADIO 

Terrestrial radio

PTPMGMT_SERIAL_TIME_CODE 

Serial time code

PTPMGMT_PTP 

PTP of a different domain

PTPMGMT_NTP 

IP Network time protocol

PTPMGMT_HAND_SET 

Manually set

PTPMGMT_OTHER 

Other

PTPMGMT_INTERNAL_OSCILLATOR 

Internal oscillator

◆ ptpmgmt_tlvType_e

PTP messages TLV types

Note
: With new signalling TLVs from "IEEE Std 1588-2019@"
Enumerator
PTPMGMT_MANAGEMENT 

Management TLV

PTPMGMT_MANAGEMENT_ERROR_STATUS 

Management Error TLV

PTPMGMT_ORGANIZATION_EXTENSION 

Organization extension

PTPMGMT_REQUEST_UNICAST_TRANSMISSION 

Request unicast

PTPMGMT_GRANT_UNICAST_TRANSMISSION 

Grant unicast

PTPMGMT_CANCEL_UNICAST_TRANSMISSION 

Cancel unicast

PTPMGMT_ACKNOWLEDGE_CANCEL_UNICAST_TRANSMISSION 

Ack cancel unicast

PTPMGMT_PATH_TRACE 

Path trace

PTPMGMT_ALTERNATE_TIME_OFFSET_INDICATOR 

Alternate time offset

PTPMGMT_ORGANIZATION_EXTENSION_PROPAGATE 

Organization extension

PTPMGMT_ENHANCED_ACCURACY_METRICS 

Enhanced accuracy

PTPMGMT_ORGANIZATION_EXTENSION_DO_NOT_PROPAGATE 

Organization extension

PTPMGMT_L1_SYNC 

Layer 1 synchronization

PTPMGMT_PORT_COMMUNICATION_AVAILABILITY 

Port communication

PTPMGMT_PROTOCOL_ADDRESS 

Protocol address

PTPMGMT_SLAVE_RX_SYNC_TIMING_DATA 

TimeReceiver RX sync time

PTPMGMT_SLAVE_RX_SYNC_COMPUTED_DATA 

TimeReceiver RX sync

PTPMGMT_SLAVE_TX_EVENT_TIMESTAMPS 

TimeReceiver TX event

PTPMGMT_CUMULATIVE_RATE_RATIO 

Cumulative rate

PTPMGMT_TLV_PAD 

Padding TLV, ignored

PTPMGMT_AUTHENTICATION 

Authentication

PTPMGMT_SLAVE_DELAY_TIMING_DATA_NP 

TimeReceiver delay time note: linuxptp Experimental value

Function Documentation

◆ ptpmgmt_MsgParams_alloc()

ptpmgmt_pMsgParams ptpmgmt_MsgParams_alloc ( )

Alocate new ptpmgmt_MsgParams structure

Returns
new ptpmgmt_MsgParams structure or null in case of error
Note
: C interface