summaryrefslogtreecommitdiff
path: root/daemons/gptp/common/avbts_osipc.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'daemons/gptp/common/avbts_osipc.hpp')
-rw-r--r--daemons/gptp/common/avbts_osipc.hpp63
1 files changed, 56 insertions, 7 deletions
diff --git a/daemons/gptp/common/avbts_osipc.hpp b/daemons/gptp/common/avbts_osipc.hpp
index 4d3daf3a..00bac5dd 100644
--- a/daemons/gptp/common/avbts_osipc.hpp
+++ b/daemons/gptp/common/avbts_osipc.hpp
@@ -36,7 +36,7 @@
#include <stdint.h>
#include <ptptypes.hpp>
-#include <avbts_port.hpp>
+#include <ether_port.hpp>
/**@file*/
@@ -63,6 +63,7 @@ public:
/**
* @brief Updates IPC values
+ *
* @param ml_phoffset Master to local phase offset
* @param ls_phoffset Local to system phase offset
* @param ml_freqoffset Master to local frequency offset
@@ -71,14 +72,62 @@ public:
* @param sync_count Count of syncs
* @param pdelay_count Count of pdelays
* @param port_state Port's state
- * @param asCapable asCapable flag
+ * @param asCapable asCapable flag
+ *
* @return Implementation dependent.
*/
- virtual bool update
- ( int64_t ml_phoffset, int64_t ls_phoffset,
- FrequencyRatio ml_freqoffset, FrequencyRatio ls_freq_offset,
- uint64_t local_time, uint32_t sync_count, uint32_t pdelay_count,
- PortState port_state, bool asCapable ) = 0;
+ virtual bool update(
+ int64_t ml_phoffset,
+ int64_t ls_phoffset,
+ FrequencyRatio ml_freqoffset,
+ FrequencyRatio ls_freq_offset,
+ uint64_t local_time,
+ uint32_t sync_count,
+ uint32_t pdelay_count,
+ PortState port_state,
+ bool asCapable ) = 0;
+
+ /**
+ * @brief Updates grandmaster IPC values
+ *
+ * @param gptp_grandmaster_id Current grandmaster id (all 0's if no grandmaster selected)
+ * @param gptp_domain_number gPTP domain number
+ *
+ * @return Implementation dependent.
+ */
+ virtual bool update_grandmaster(
+ uint8_t gptp_grandmaster_id[],
+ uint8_t gptp_domain_number ) = 0;
+
+ /**
+ * @brief Updates network interface IPC values
+ *
+ * @param clock_identity The clock identity of the interface
+ * @param priority1 The priority1 field of the grandmaster functionality of the interface, or 0xFF if not supported
+ * @param clock_class The clockClass field of the grandmaster functionality of the interface, or 0xFF if not supported
+ * @param offset_scaled_log_variance The offsetScaledLogVariance field of the grandmaster functionality of the interface, or 0x0000 if not supported
+ * @param clock_accuracy The clockAccuracy field of the grandmaster functionality of the interface, or 0xFF if not supported
+ * @param priority2 The priority2 field of the grandmaster functionality of the interface, or 0xFF if not supported
+ * @param domain_number The domainNumber field of the grandmaster functionality of the interface, or 0 if not supported
+ * @param log_sync_interval The currentLogSyncInterval field of the grandmaster functionality of the interface, or 0 if not supported
+ * @param log_announce_interval The currentLogAnnounceInterval field of the grandmaster functionality of the interface, or 0 if not supported
+ * @param log_pdelay_interval The currentLogPDelayReqInterval field of the grandmaster functionality of the interface, or 0 if not supported
+ * @param port_number The portNumber field of the interface, or 0x0000 if not supported
+ *
+ * @return Implementation dependent.
+ */
+ virtual bool update_network_interface(
+ uint8_t clock_identity[],
+ uint8_t priority1,
+ uint8_t clock_class,
+ int16_t offset_scaled_log_variance,
+ uint8_t clock_accuracy,
+ uint8_t priority2,
+ uint8_t domain_number,
+ int8_t log_sync_interval,
+ int8_t log_announce_interval,
+ int8_t log_pdelay_interval,
+ uint16_t port_number ) = 0;
/*
* Destroys IPC