34 #ifndef LINUX_HAL_GENERIC_HPP
35 #define LINUX_HAL_GENERIC_HPP
48 struct LinuxTimestamperIGBPrivate;
49 typedef struct LinuxTimestamperIGBPrivate * LinuxTimestamperIGBPrivate_t;
61 LinuxTimestamperGenericPrivate_t _private;
62 bool cross_stamp_good;
63 std::list<Timestamp> rxTimestampList;
69 LinuxTimestamperIGBPrivate_t igb_private;
110 rxTimestampList.push_front(*tstamp);
132 uint32_t *nominal_clock_rate );
145 unsigned &clock_value,
bool last );
159 unsigned &clock_value,
bool last ) {
161 if( rxTimestampList.empty() )
return -72;
162 timestamp = rxTimestampList.back();
163 rxTimestampList.pop_back();
Definition: ieee1588.hpp:101
bool resetFrequencyAdjustment()
Resets frequency adjustment value to zero and calls linux system calls for frequency adjustment...
struct LinuxTimestamperGenericPrivate * LinuxTimestamperGenericPrivate_t
Definition: linux_hal_generic.hpp:45
std::list< LinuxNetworkInterface * > LinuxNetworkInterfaceList
Definition: linux_hal_common.hpp:223
Definition: avbts_port.hpp:76
virtual bool HWTimestamper_adjclockphase(int64_t phase_adjust)
Adjusts the clock phase.
Definition: linux_hal_generic.hpp:55
virtual bool HWTimestamper_adjclockrate(float freq_offset)
Adjusts the frequency.
uint8_t _version
8 bit version value
Definition: ieee1588.hpp:251
virtual bool HWTimestamper_PPS_start()
Starts the PPS (pulse per second) interface.
Definition: ieee1588.hpp:560
virtual bool HWTimestamper_PPS_stop()
Stops the PPS (pulse per second) interface.
Definition: ieee1588.hpp:566
virtual bool HWTimestamper_init(InterfaceLabel *iface_label, OSNetworkInterface *iface)
Initializes the Hardware timestamp interface.
Definition: linux_hal_generic_tsprivate.hpp:57
Definition: avbts_osnet.hpp:277
void pushRXTimestamp(Timestamp *tstamp)
Inserts a new timestamp to the beginning of the RX timestamp list.
Definition: linux_hal_generic.hpp:108
LinuxTimestamperGeneric()
bool Adjust(void *tmx)
Calls linux system call for adjusting frequency or phase.
virtual ~LinuxTimestamperGeneric()
Definition: linux_hal_common.hpp:81
bool post_init(int ifindex, int sd, TicketingLock *lock)
Post initialization procedure.
Definition: linux_hal_common.hpp:126
uint8_t version
HWTimestamper version.
Definition: ieee1588.hpp:447
virtual int HWTimestamper_rxtimestamp(PortIdentity *identity, uint16_t sequenceId, Timestamp ×tamp, unsigned &clock_value, bool last)
Gets the RX timestamp from the hardware interface. This Currently the RX timestamp is retrieved at Li...
Definition: linux_hal_generic.hpp:158
virtual bool HWTimestamper_gettime(Timestamp *system_time, Timestamp *device_time, uint32_t *local_clock, uint32_t *nominal_clock_rate)
Gets the ptp clock time information.
virtual int HWTimestamper_txtimestamp(PortIdentity *identity, uint16_t sequenceId, Timestamp ×tamp, unsigned &clock_value, bool last)
Gets the TX timestamp from hardware interface.
Definition: ieee1588.hpp:222