Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.11.1.2
openapi_linuxptp.h
Go to the documentation of this file.
1 
9 /**********************************************************************
10 *
11 * Copyright 2023 Broadcom.
12 *
13 * Licensed under the Apache License, Version 2.0 (the "License");
14 * you may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.0
18 *
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
24 *
25 ***********************************************************************
26 *
27 * @filename openapi_linuxptp.h
28 *
29 * @purpose This code implements the OpEN LinuxPTP API
30 *
31 * @component OPEN
32 *
33 * @create 02/13/2023
34 *
35 * @end
36 *
37 *********************************************************************/
38 #ifndef OPENAPI_LINUXPTP_H_INCLUDED
39 #define OPENAPI_LINUXPTP_H_INCLUDED
40 
41 #include "openapi_common.h"
42 
43 /* Types of interface statistics */
44 typedef enum
45 {
46  OPEN_LINUXPTP_STATS_NONE = 0,
47  OPEN_LINUXPTP_ANNOUNCE_TX_COUNT,
48  OPEN_LINUXPTP_ANNOUNCE_RX_COUNT,
49  OPEN_LINUXPTP_ANNOUNCE_RX_TIMEOUTS,
50  OPEN_LINUXPTP_SYNC_TX_COUNT,
51  OPEN_LINUXPTP_SYNC_RX_COUNT,
52  OPEN_LINUXPTP_SYNC_MISMATCH,
53  OPEN_LINUXPTP_SYNC_RX_TIMEOUTS,
54  OPEN_LINUXPTP_FOLLOWUP_TX_COUNT,
55  OPEN_LINUXPTP_FOLLOWUP_RX_COUNT,
56  OPEN_LINUXPTP_FOLLOWUP_MISMATCH,
57  OPEN_LINUXPTP_DELAY_REQ_TX_COUNT,
58  OPEN_LINUXPTP_DELAY_REQ_RX_COUNT,
59  OPEN_LINUXPTP_PDELAY_REQ_TX_COUNT,
60  OPEN_LINUXPTP_PDELAY_REQ_RX_COUNT,
61  OPEN_LINUXPTP_PDELAY_RESP_TX_COUNT,
62  OPEN_LINUXPTP_PDELAY_RESP_RX_COUNT,
63  OPEN_LINUXPTP_DELAY_RESP_TX_COUNT,
64  OPEN_LINUXPTP_DELAY_RESP_RX_COUNT,
65  OPEN_LINUXPTP_PDELAY_RESP_FOLLOWUP_TX_COUNT,
66  OPEN_LINUXPTP_PDELAY_RESP_FOLLOWUP_RX_COUNT,
67  OPEN_LINUXPTP_SIGNALING_TX_COUNT,
68  OPEN_LINUXPTP_SIGNALING_RX_COUNT,
69  OPEN_LINUXPTP_MANAGEMENT_TX_COUNT,
70  OPEN_LINUXPTP_MANAGEMENT_RX_COUNT,
71  OPEN_LINUXPTP_STATS_LAST
72 
73 } OPEN_LINUXPTP_STATS_TYPE_t;
74 
75 /* Parent, default and current data sets - local, GM and parent clock information */
76 typedef enum
77 {
78  OPEN_LINUXPTP_DS_NONE = 0,
79  OPEN_LINUXPTP_PARENTDS_PARENT_IDENTITY,
80  OPEN_LINUXPTP_PARENTDS_PARENT_STATS,
81  OPEN_LINUXPTP_PARENTDS_PARENT_OFFSET,
82  OPEN_LINUXPTP_PARENTDS_PARENT_PHASE_CHANGE_RATE,
83  OPEN_LINUXPTP_PARENTDS_GM_PRIORITY1,
84  OPEN_LINUXPTP_PARENTDS_GM_CLASS,
85  OPEN_LINUXPTP_PARENTDS_GM_ACCURACY,
86  OPEN_LINUXPTP_PARENTDS_GM_OFFSET,
87  OPEN_LINUXPTP_PARENTDS_GM_PRIORITY2,
88  OPEN_LINUXPTP_PARENTDS_GM_IDENTITY,
89 
90  OPEN_LINUXPTP_CURRENTDS_OFFSET_FROM_MASTER,
91  OPEN_LINUXPTP_CURRENTDS_STEPS_REMOVED,
92  OPEN_LINUXPTP_CURRENTDS_MEAN_PATH_DELAY,
93 
94  OPEN_LINUXPTP_DEFAULTDS_TWO_STEP_FLAG,
95  OPEN_LINUXPTP_DEFAULTDS_NUMBER_OF_PORTS,
96  OPEN_LINUXPTP_DEFAULTDS_PRIORITY1,
97  OPEN_LINUXPTP_DEFAULTDS_CLASS,
98  OPEN_LINUXPTP_DEFAULTDS_ACCURACY,
99  OPEN_LINUXPTP_DEFAULTDS_OFFSET,
100  OPEN_LINUXPTP_DEFAULTDS_PRIORITY2,
101  OPEN_LINUXPTP_DEFAULTDS_IDENTITY,
102  OPEN_LINUXPTP_DEFAULTDS_DOMAIN_IDENTIFIER,
103  OPEN_LINUXPTP_DS_LAST
104 
105 } OPEN_LINUXPTP_DS_TYPE_t;
106 
107 /* linuxPTP Priority types */
108 typedef enum
109 {
110  OPEN_LINUXPTP_CLOCK_PRIORITY1 = 0,
111  OPEN_LINUXPTP_CLOCK_PRIORITY2
112 } OPEN_LINUXPTP_CLOCK_PRIORITY_t;
113 
114 /* linuxPTP Clock Operation modes */
115 typedef enum
116 {
117  OPEN_LINUXPTP_ONE_STEP = 0,
118  OPEN_LINUXPTP_TWO_STEP = 1
119 } OPEN_LINUXPTP_CLOCK_OPERATION_t;
120 
121 /* linuxPTP Profiles */
122 typedef enum
123 {
124  OPEN_LINUXPTP_PROFILE_DEFAULT = 0,
125  OPEN_LINUXPTP_PROFILE_AES67 = 1,
126  OPEN_LINUXPTP_PROFILE_SMPTE_2059_2 = 2,
127  OPEN_LINUXPTP_PROFILE_AES_R16_2016 = 3
128 } OPEN_LINUXPTP_PROFILES_t;
129 
130 /* linuxPTP Delay Mechanism*/
131 typedef enum
132 {
133  OPEN_LINUXPTP_E2E_DELAY_MECHANISM = 1,
134  OPEN_LINUXPTP_P2P_DELAY_MECHANISM = 2,
135  OPEN_LINUXPTP_COMMON_P2P_DELAY_MECHANISM = 3,
136  OPEN_LINUXPTP_SPECIAL_DELAY_MECHANISM = 4,
137  OPEN_LINUXPTP_NO_DELAY_MECHANISM = 254,
138 } OPEN_LINUXPTP_DELAY_MECHANISM_t;
139 
140 typedef enum
141 {
142  OPEN_LINUXPTP_TRANSPORT_NONE = 0,
143  OPEN_LINUXPTP_TRANSPORT_V4,
144  OPEN_LINUXPTP_TRANSPORT_V6,
145  OPEN_LINUXPTP_TRANSPORT_L2,
146 } OPEN_LINUXPTP_TRANSPORT_MODE_t;
147 
148 /* PTP port states */
149 typedef enum
150 {
151  OPEN_LINUXPTP_PTP_PORT_STATE_NONE = 0,
152  OPEN_LINUXPTP_PTP_PORT_STATE_INITIALIZING,
153  OPEN_LINUXPTP_PTP_PORT_STATE_FAULTY,
154  OPEN_LINUXPTP_PTP_PORT_STATE_DISABLED,
155  OPEN_LINUXPTP_PTP_PORT_STATE_LISTENING,
156  OPEN_LINUXPTP_PTP_PORT_STATE_PRE_MASTER,
157  OPEN_LINUXPTP_PTP_PORT_STATE_MASTER,
158  OPEN_LINUXPTP_PTP_PORT_STATE_PASSIVE,
159  OPEN_LINUXPTP_PTP_PORT_STATE_UNCALIBRATED,
160  OPEN_LINUXPTP_PTP_PORT_STATE_SLAVE,
161  OPEN_LINUXPTP_PTP_PORT_STATE_LAST
162 } OPEN_LINUXPTP_PORTSTATE_TYPE_t;
163 
164 /* Time properties information */
165 typedef enum
166 {
167  OPEN_LINUXPTP_TIME_PROPERTIES_NONE = 0,
168  OPEN_LINUXPTP_TIME_PROPERTIES_CURRENTUTCOFFSET,
169  OPEN_LINUXPTP_TIME_PROPERTIES_LEAP61,
170  OPEN_LINUXPTP_TIME_PROPERTIES_LEAP59,
171  OPEN_LINUXPTP_TIME_PROPERTIES_CURRENTUTCOFFSETVALID,
172  OPEN_LINUXPTP_TIME_PROPERTIES_PTPTIMESCALE,
173  OPEN_LINUXPTP_TIME_PROPERTIES_TIMETRACEABLE,
174  OPEN_LINUXPTP_TIME_PROPERTIES_FREQUENCYTRACEABLE,
175  OPEN_LINUXPTP_TIME_PROPERTIES_TIMESOURCE,
176  OPEN_LINUXPTP_TIME_PROPERTIES_LAST
177 
178 } OPEN_LINUXPTP_TIME_PROPERTIES_TYPE_t;
179 
180 
181 #define OPEN_LINUXPTP_PRIORITY_1_MINIMUM 0
182 #define OPEN_LINUXPTP_PRIORITY_1_DEFAULT 128
183 #define OPEN_LINUXPTP_PRIORITY_1_MAXIMUM 255
184 
185 #define OPEN_LINUXPTP_PRIORITY_2_MINIMUM 0
186 #define OPEN_LINUXPTP_PRIORITY_2_DEFAULT 128
187 #define OPEN_LINUXPTP_PRIORITY_2_MAXIMUM 255
188 
189 /* 1588 Default Profile */
190 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DOMAIN_MINIMUM 0
191 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DOMAIN_DEFAULT 0
192 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DOMAIN_MAXIMUM 127
193 
194 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_INTERVAL_MINIMUM 0
195 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_INTERVAL_DEFAULT 1
196 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_INTERVAL_MAXIMUM 4
197 
198 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_TIMEOUT_MINIMUM 2
199 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_TIMEOUT_DEFAULT 3
200 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_TIMEOUT_MAXIMUM 10
201 
202 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_SYNC_INTERVAL_MINIMUM -1
203 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_SYNC_INTERVAL_DEFAULT 0
204 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_SYNC_INTERVAL_MAXIMUM 1
205 
206 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DELAY_REQ_INTERVAL_MINIMUM 0
207 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DELAY_REQ_INTERVAL_DEFAULT 0
208 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DELAY_REQ_INTERVAL_MAXIMUM 5
209 
210 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_PDELAY_REQ_INTERVAL_MINIMUM 0
211 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_PDELAY_REQ_INTERVAL_DEFAULT 0
212 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_PDELAY_REQ_INTERVAL_MAXIMUM 5
213 
214 /*AES67 Profile */
215 #define OPEN_LINUXPTP_AES67_PROFILE_DOMAIN_MINIMUM 0
216 #define OPEN_LINUXPTP_AES67_PROFILE_DOMAIN_DEFAULT 0
217 #define OPEN_LINUXPTP_AES67_PROFILE_DOMAIN_MAXIMUM 127
218 
219 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_INTERVAL_MINIMUM 0
220 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_INTERVAL_DEFAULT 1
221 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_INTERVAL_MAXIMUM 4
222 
223 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_TIMEOUT_MINIMUM 2
224 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_TIMEOUT_DEFAULT 3
225 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_TIMEOUT_MAXIMUM 10
226 
227 #define OPEN_LINUXPTP_AES67_PROFILE_SYNC_INTERVAL_MINIMUM -4
228 #define OPEN_LINUXPTP_AES67_PROFILE_SYNC_INTERVAL_DEFAULT -3
229 #define OPEN_LINUXPTP_AES67_PROFILE_SYNC_INTERVAL_MAXIMUM 1
230 
231 #define OPEN_LINUXPTP_AES67_PROFILE_DELAY_REQ_INTERVAL_MINIMUM -3
232 #define OPEN_LINUXPTP_AES67_PROFILE_DELAY_REQ_INTERVAL_DEFAULT 0
233 #define OPEN_LINUXPTP_AES67_PROFILE_DELAY_REQ_INTERVAL_MAXIMUM 5
234 
235 #define OPEN_LINUXPTP_AES67_PROFILE_PDELAY_REQ_INTERVAL_MINIMUM 0
236 #define OPEN_LINUXPTP_AES67_PROFILE_PDELAY_REQ_INTERVAL_DEFAULT 0
237 #define OPEN_LINUXPTP_AES67_PROFILE_PDELAY_REQ_INTERVAL_MAXIMUM 5
238 
239 /*SMPTE-2059-2 Profile */
240 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DOMAIN_MINIMUM 0
241 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DOMAIN_DEFAULT 127
242 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DOMAIN_MAXIMUM 127
243 
244 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_INTERVAL_MINIMUM -3
245 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_INTERVAL_DEFAULT 0
246 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_INTERVAL_MAXIMUM 1
247 
248 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_TIMEOUT_MINIMUM 2
249 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_TIMEOUT_DEFAULT 3
250 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_TIMEOUT_MAXIMUM 10
251 
252 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_SYNC_INTERVAL_MINIMUM -7
253 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_SYNC_INTERVAL_DEFAULT -3
254 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_SYNC_INTERVAL_MAXIMUM -1
255 
256 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DELAY_REQ_INTERVAL_MINIMUM -7
257 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DELAY_REQ_INTERVAL_DEFAULT -3
258 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DELAY_REQ_INTERVAL_MAXIMUM 4
259 
260 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_PDELAY_REQ_INTERVAL_MINIMUM -7
261 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_PDELAY_REQ_INTERVAL_DEFAULT -3
262 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_PDELAY_REQ_INTERVAL_MAXIMUM 4
263 
264 /*AES-R16-2016 Profile */
265 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DOMAIN_MINIMUM 127
266 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DOMAIN_DEFAULT 127
267 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DOMAIN_MAXIMUM 127
268 
269 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_INTERVAL_MINIMUM 0
270 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_INTERVAL_DEFAULT 0
271 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_INTERVAL_MAXIMUM 1
272 
273 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_TIMEOUT_MINIMUM 3
274 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_TIMEOUT_DEFAULT 3
275 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_TIMEOUT_MAXIMUM 3
276 
277 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_SYNC_INTERVAL_MINIMUM -4
278 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_SYNC_INTERVAL_DEFAULT -3
279 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_SYNC_INTERVAL_MAXIMUM 1
280 
281 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DELAY_REQ_INTERVAL_MINIMUM -4
282 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DELAY_REQ_INTERVAL_DEFAULT -3
283 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DELAY_REQ_INTERVAL_MAXIMUM 5
284 
285 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_PDELAY_REQ_INTERVAL_MINIMUM -4
286 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_PDELAY_REQ_INTERVAL_DEFAULT -3
287 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_PDELAY_REQ_INTERVAL_MAXIMUM 5
288 
289 /*************************************************************************/
306  OPEN_CONTROL_t mode);
307 
308 /*************************************************************************/
324  OPEN_CONTROL_t *mode);
325 
326 /*************************************************************************/
344  uint32_t ifNum, OPEN_CONTROL_t mode);
345 
346 /*************************************************************************/
363  uint32_t ifNum, OPEN_CONTROL_t *mode);
364 
365 /*************************************************************************/
381  open_buffdesc *clockMeanPathDelay);
382 
383 /*************************************************************************/
400  uint32_t ifNum, int32_t *portState);
401 
402 /*************************************************************************/
419  uint32_t ifNum,
420  open_buffdesc *p2pPathDelay);
421 
422 /*************************************************************************/
440  uint32_t ifNum,
441  OPEN_LINUXPTP_STATS_TYPE_t statType,
442  int32_t *statsCount);
443 
444 /*************************************************************************/
461  OPEN_LINUXPTP_DS_TYPE_t type,
462  open_buffdesc *identity);
463 
464 /*************************************************************************/
481  OPEN_LINUXPTP_DS_TYPE_t type,
482  int32_t *value);
483 
484 /*************************************************************************/
502  OPEN_LINUXPTP_CLOCK_PRIORITY_t prioType,
503  uint32_t prioVal);
504 
505 /*************************************************************************/
522  OPEN_LINUXPTP_CLOCK_PRIORITY_t prioType,
523  uint32_t *prioVal);
524 
525 /*************************************************************************/
542  OPEN_LINUXPTP_CLOCK_OPERATION_t operMode);
543 
544 /*************************************************************************/
560  OPEN_LINUXPTP_CLOCK_OPERATION_t *operMode);
561 
562 /*************************************************************************/
579  uint32_t ipAddr);
580 
581 /*************************************************************************/
597  uint32_t *ipAddr);
598 
599 /*************************************************************************/
616  open_in6_addr_t ipAddr);
617 
618 /*************************************************************************/
634  open_in6_addr_t *ipAddr);
635 
636 /*************************************************************************/
653  OPEN_LINUXPTP_PROFILES_t ptpProfile);
654 
655 /*************************************************************************/
671  OPEN_LINUXPTP_PROFILES_t *ptpProfile);
672 
673 /*************************************************************************/
691  OPEN_LINUXPTP_PROFILES_t ptpProfile,
692  OPEN_LINUXPTP_TRANSPORT_MODE_t transMode);
693 
694 /*************************************************************************/
711  OPEN_LINUXPTP_PROFILES_t ptpProfile,
712  OPEN_LINUXPTP_TRANSPORT_MODE_t *transMode);
713 
714 /*************************************************************************/
732  OPEN_LINUXPTP_PROFILES_t ptpProfile,
733  int32_t announceInterval);
734 
735 /*************************************************************************/
752  OPEN_LINUXPTP_PROFILES_t ptpProfile,
753  int32_t *announceInterval);
754 
755 /*************************************************************************/
773  OPEN_LINUXPTP_PROFILES_t ptpProfile,
774  uint32_t announceTimeout);
775 
776 /*************************************************************************/
793  OPEN_LINUXPTP_PROFILES_t ptpProfile,
794  uint32_t *announceTimeout);
795 
796 /*************************************************************************/
814  OPEN_LINUXPTP_PROFILES_t ptpProfile,
815  int32_t syncInterval);
816 
817 /*************************************************************************/
834  OPEN_LINUXPTP_PROFILES_t ptpProfile,
835  int32_t *syncInterval);
836 
837 /*************************************************************************/
855  OPEN_LINUXPTP_PROFILES_t ptpProfile,
856  int32_t delayReqInterval);
857 
858 /*************************************************************************/
875  OPEN_LINUXPTP_PROFILES_t ptpProfile,
876  int32_t *delayReqInterval);
877 
878 /*************************************************************************/
896  OPEN_LINUXPTP_PROFILES_t ptpProfile,
897  int32_t pDelayReqInterval);
898 
899 /*************************************************************************/
916  OPEN_LINUXPTP_PROFILES_t ptpProfile,
917  int32_t *pDelayReqInterval);
918 
919 /*************************************************************************/
937  OPEN_LINUXPTP_PROFILES_t ptpProfile,
938  uint32_t domain);
939 
940 /*************************************************************************/
957  OPEN_LINUXPTP_PROFILES_t ptpProfile,
958  uint32_t *domain);
959 
960 /*************************************************************************/
978  OPEN_LINUXPTP_PROFILES_t ptpProfile,
979  OPEN_LINUXPTP_DELAY_MECHANISM_t delayMech);
980 
981 /*************************************************************************/
998  OPEN_LINUXPTP_PROFILES_t ptpProfile,
999  OPEN_LINUXPTP_DELAY_MECHANISM_t *delayMech);
1000 
1001 /*************************************************************************/
1018  uint32_t level);
1019 
1020 /*************************************************************************/
1036  uint32_t *level);
1037 
1038 /*************************************************************************/
1054  uint32_t ifNum);
1055 
1056 /*************************************************************************/
1073  uint32_t ifNum, OPEN_BOOL_t *status);
1074 
1075 /*************************************************************************/
1092  uint32_t ifNum, OPEN_BOOL_t *isValid);
1093 
1094 /*************************************************************************/
1111  uint32_t domain,
1112  OPEN_BOOL_t *isValidDomain);
1113 
1114 /*************************************************************************/
1131  OPEN_LINUXPTP_TIME_PROPERTIES_TYPE_t type,
1132  int32_t *value);
1133 
1134 /*************************************************************************/
1150  uint32_t *stepsRemoved);
1151 
1152 /*************************************************************************/
1168  open_buffdesc *offsetFromMaster);
1169 
1170 /*************************************************************************/
1186  uint32_t *clockRole);
1187 
1188 /*************************************************************************/
1205  OPEN_BOOL_t traceMode);
1206 
1207 /*************************************************************************/
1223  OPEN_BOOL_t *traceMode);
1224 
1225 /*************************************************************************/
1242  OPEN_LINUXPTP_DS_TYPE_t type,
1243  open_buffdesc *identity);
1244 
1245 
1246 #endif /* OPENAPI_LINUXPTP_H_INCLUDED */
1247 
open_error_t openapiLinuxptpAdminModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
Set the linuxPTP Global Admin Mode.
open_error_t openapiLinuxptpIntfStateGet(openapiClientHandle_t *client_handle, uint32_t ifNum, int32_t *portState)
Fetch PTP port state.
open_error_t openapiLinuxptpBridgePriorityGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_CLOCK_PRIORITY_t prioType, uint32_t *prioVal)
Get priority value of the local clock.
open_error_t openapiLinuxptpAnnounceTimeoutGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, uint32_t *announceTimeout)
Get the linuxPTP announce timeout value for a given profile.
open_error_t openapiLinuxptpLoggingGet(openapiClientHandle_t *client_handle, uint32_t *level)
Fetch PTP logging severity level.
open_error_t openapiLinuxptpClockMeanPathDelayGet(openapiClientHandle_t *client_handle, open_buffdesc *clockMeanPathDelay)
Fetch E2E mean path delay.
open_error_t openapiLinuxptpIntfDelayGet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *p2pPathDelay)
Fetch P2P mean path delay.
open_error_t openapiLinuxptpTransportSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, OPEN_LINUXPTP_TRANSPORT_MODE_t transMode)
Configure PTP profile's transport mode.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiLinuxptpSyncIntervalSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, int32_t syncInterval)
Configure sync interval for given PTP profile.
open_error_t openapiLinuxptpSourceIPv6AddrSet(openapiClientHandle_t *client_handle, open_in6_addr_t ipAddr)
Configure source IPv6 address to be used for linuxPTP communication.
open_error_t openapiLinuxptpDomainSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, uint32_t domain)
Configure domain number for given PTP profile.
open_error_t openapiLinuxptpTimePropGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_TIME_PROPERTIES_TYPE_t type, int32_t *value)
Fetch time properties information.
open_error_t openapiLinuxptpIntfStatsGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_LINUXPTP_STATS_TYPE_t statType, int32_t *statsCount)
Fetch statistics for the given type on an interface.
open_error_t openapiLinuxptpDelayMechanismGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, OPEN_LINUXPTP_DELAY_MECHANISM_t *delayMech)
Get the linuxPTP delay mechanism for a given profile.
open_error_t openapiLinuxptpLoggingSet(openapiClientHandle_t *client_handle, uint32_t level)
Configure PTP logging severity level.
open_error_t openapiLinuxptpAnnounceIntervalSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, int32_t announceInterval)
Configure announce interval for given PTP profile.
open_error_t openapiLinuxptpProfileSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile)
Configure PTP profile.
open_error_t openapiLinuxptpSourceIPv4AddrSet(openapiClientHandle_t *client_handle, uint32_t ipAddr)
Configure source IPv4 address to be used for linuxPTP communication.
open_error_t openapiLinuxptpClockOffsetFromMaster(openapiClientHandle_t *client_handle, open_buffdesc *offsetFromMaster)
Fetch current clock offset in time between slave and master.
open_error_t openapiLinuxptpClockStepsRemovedGet(openapiClientHandle_t *client_handle, uint32_t *stepsRemoved)
Fetch number of boundary clocks between local clock and foreign master.
open_error_t openapiLinuxptpClockParamGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_DS_TYPE_t type, int32_t *value)
Fetch parent or GM or local clock parameters.
open_error_t openapiLinuxptpPathTraceTlvSet(openapiClientHandle_t *client_handle, OPEN_BOOL_t traceMode)
Configure PTP path trace TLV.
open_error_t openapiLinuxptpDomainGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, uint32_t *domain)
Get the linuxPTP Domain for a given profile.
open_error_t openapiLinuxptpAnnounceIntervalGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, int32_t *announceInterval)
Get the configured linuxPTP announce interval for a given profile.
open_error_t openapiLinuxptpClockIdGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_DS_TYPE_t type, open_buffdesc *identity)
Fetch parent or GM or local clock identity.
open_error_t openapiLinuxptpTransportGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, OPEN_LINUXPTP_TRANSPORT_MODE_t *transMode)
Get the linuxPTP transport for a given profile.
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
open_error_t openapiLinuxptpSyncIntervalGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, int32_t *syncInterval)
Get the linuxPTP Sync Interval for a given profile.
open_error_t openapiLinuxptpPathTraceTlvGet(openapiClientHandle_t *client_handle, OPEN_BOOL_t *traceMode)
Fetch PTP path trace TLV status.
open_error_t openapiLinuxptpBridgePrioritySet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_CLOCK_PRIORITY_t prioType, uint32_t prioVal)
Configure priority value of the local clock.
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
open_error_t openapiLinuxptpIsValidIntf(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *isValid)
Check whether the interface is eligible for linuxptp operation.
open_error_t openapiLinuxptpIntfAdminModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t mode)
Set the linuxPTP interface Admin Mode.
open_error_t openapiLinuxptpIntfOperStateGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *status)
Get PTP interface operational status.
open_error_t openapiLinuxptpAnnounceTimeoutSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, uint32_t announceTimeout)
Configure announce timeout for given PTP profile.
open_error_t openapiLinuxptpClockRoleGet(openapiClientHandle_t *client_handle, uint32_t *clockRole)
Status of the mode the clock is operating in master or slave.
open_error_t openapiLinuxptpClockOperModeGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_CLOCK_OPERATION_t *operMode)
Get the Clock Operation for the local clock.
open_error_t openapiLinuxptpPathTraceClockIdGetNext(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_DS_TYPE_t type, open_buffdesc *identity)
Fetch next clock identity in the path.
open_error_t openapiLinuxptpDelayRequestIntervalGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, int32_t *delayReqInterval)
Get the linuxPTP delay request Interval for a given profile.
open_error_t openapiLinuxptpSourceIPv6AddrGet(openapiClientHandle_t *client_handle, open_in6_addr_t *ipAddr)
Get the source IPv6 address used for linuxPTP communication.
open_error_t openapiLinuxptpProfileGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t *ptpProfile)
Get the active linuxPTP profile.
open_error_t openapiLinuxptpDelayRequestIntervalSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, int32_t delayReqInterval)
Configure delay request interval for given PTP profile.
open_error_t openapiLinuxptpIntfStatsClear(openapiClientHandle_t *client_handle, uint32_t ifNum)
Clear PTP statistics on an interface.
open_error_t openapiLinuxptpSourceIPv4AddrGet(openapiClientHandle_t *client_handle, uint32_t *ipAddr)
Get the source IPv4 address used for linuxPTP communication.
open_error_t openapiLinuxptpAdminModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
Get the linuxPTP Global Admin Mode.
open_error_t openapiLinuxptpClockOperModeSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_CLOCK_OPERATION_t operMode)
Configure PTP clock operation mode.
open_error_t openapiLinuxptpIsDomainExists(openapiClientHandle_t *client_handle, uint32_t domain, OPEN_BOOL_t *isValidDomain)
Check if the passed domain identifier is configured.
open_error_t openapiLinuxptpPdelayRequestIntervalGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, int32_t *pDelayReqInterval)
Get the linuxPTP peer delay request Interval for a given profile.
open_error_t openapiLinuxptpDelayMechanismSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, OPEN_LINUXPTP_DELAY_MECHANISM_t delayMech)
Configure PTP delay mechanism.
Hash Mode names.
open_error_t openapiLinuxptpPdelayRequestIntervalSet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_PROFILES_t ptpProfile, int32_t pDelayReqInterval)
Configure peer delay request interval for given PTP profile.
open_error_t openapiLinuxptpIntfAdminModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *mode)
Get the linuxPTP interface Admin Mode.