| /* |
| * Copyright (c) 2024 BayLibre SAS |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /** |
| * @file btca.c |
| * @brief Interface for Best TimeTransmitter Clock Algorithm. |
| * |
| * References are to version 2019 of IEEE 1588, ("PTP") |
| */ |
| |
| #ifndef ZEPHYR_INCLUDE_PTP_BTCA_H_ |
| #define ZEPHYR_INCLUDE_PTP_BTCA_H_ |
| |
| #include "ds.h" |
| #include "port.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * @brief Function comparing two datasets. |
| * |
| * @param[in] a Pointer to the first dataset. |
| * @param[in] b Pointer to the second dataset. |
| * |
| * @return Negative if b is better than a, 0 if a == b, else positive. |
| */ |
| int ptp_btca_ds_cmp(const struct ptp_dataset *a, const struct ptp_dataset *b); |
| |
| /** |
| * @brief Function performing Best TimeTransmitter Clock state decision algorithm. |
| * |
| * @param[in] port Pointer to a PTP Port. |
| * |
| * @return Proposed PTP Port's state after execution of the state decision algorithm. |
| */ |
| enum ptp_port_state ptp_btca_state_decision(struct ptp_port *port); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| /** |
| * @} |
| */ |
| |
| #endif /* ZEPHYR_INCLUDE_PTP_BCMA_H_ */ |