Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.12.0.1
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_CLOCK_OPER_NONE = 0,
118  OPEN_LINUXPTP_ONE_STEP = 1,
119  OPEN_LINUXPTP_TWO_STEP = 2
120 } OPEN_LINUXPTP_CLOCK_OPERATION_t;
121 
122 /* linuxPTP Profiles */
123 typedef enum
124 {
125  OPEN_LINUXPTP_PROFILE_DEFAULT = 0,
126  OPEN_LINUXPTP_PROFILE_AES67 = 1,
127  OPEN_LINUXPTP_PROFILE_SMPTE_2059_2 = 2,
128  OPEN_LINUXPTP_PROFILE_AES_R16_2016 = 3
129 } OPEN_LINUXPTP_PROFILES_t;
130 
131 /* linuxPTP Delay Mechanism*/
132 typedef enum
133 {
134  OPEN_LINUXPTP_E2E_DELAY_MECHANISM = 1,
135  OPEN_LINUXPTP_P2P_DELAY_MECHANISM = 2,
136  OPEN_LINUXPTP_COMMON_P2P_DELAY_MECHANISM = 3,
137  OPEN_LINUXPTP_SPECIAL_DELAY_MECHANISM = 4,
138  OPEN_LINUXPTP_NO_DELAY_MECHANISM = 254,
139 } OPEN_LINUXPTP_DELAY_MECHANISM_t;
140 
141 typedef enum
142 {
143  OPEN_LINUXPTP_TRANSPORT_NONE = 0,
144  OPEN_LINUXPTP_TRANSPORT_V4,
145  OPEN_LINUXPTP_TRANSPORT_V6,
146  OPEN_LINUXPTP_TRANSPORT_L2,
147 } OPEN_LINUXPTP_TRANSPORT_MODE_t;
148 
149 /* PTP port states */
150 typedef enum
151 {
152  OPEN_LINUXPTP_PTP_PORT_STATE_NONE = 0,
153  OPEN_LINUXPTP_PTP_PORT_STATE_INITIALIZING,
154  OPEN_LINUXPTP_PTP_PORT_STATE_FAULTY,
155  OPEN_LINUXPTP_PTP_PORT_STATE_DISABLED,
156  OPEN_LINUXPTP_PTP_PORT_STATE_LISTENING,
157  OPEN_LINUXPTP_PTP_PORT_STATE_PRE_MASTER,
158  OPEN_LINUXPTP_PTP_PORT_STATE_MASTER,
159  OPEN_LINUXPTP_PTP_PORT_STATE_PASSIVE,
160  OPEN_LINUXPTP_PTP_PORT_STATE_UNCALIBRATED,
161  OPEN_LINUXPTP_PTP_PORT_STATE_SLAVE,
162  OPEN_LINUXPTP_PTP_PORT_STATE_LAST
163 } OPEN_LINUXPTP_PORTSTATE_TYPE_t;
164 
165 /* Time properties information */
166 typedef enum
167 {
168  OPEN_LINUXPTP_TIME_PROPERTIES_NONE = 0,
169  OPEN_LINUXPTP_TIME_PROPERTIES_CURRENTUTCOFFSET,
170  OPEN_LINUXPTP_TIME_PROPERTIES_LEAP61,
171  OPEN_LINUXPTP_TIME_PROPERTIES_LEAP59,
172  OPEN_LINUXPTP_TIME_PROPERTIES_CURRENTUTCOFFSETVALID,
173  OPEN_LINUXPTP_TIME_PROPERTIES_PTPTIMESCALE,
174  OPEN_LINUXPTP_TIME_PROPERTIES_TIMETRACEABLE,
175  OPEN_LINUXPTP_TIME_PROPERTIES_FREQUENCYTRACEABLE,
176  OPEN_LINUXPTP_TIME_PROPERTIES_TIMESOURCE,
177  OPEN_LINUXPTP_TIME_PROPERTIES_LAST
178 
179 } OPEN_LINUXPTP_TIME_PROPERTIES_TYPE_t;
180 
181 
182 #define OPEN_LINUXPTP_PRIORITY_1_MINIMUM 0
183 #define OPEN_LINUXPTP_PRIORITY_1_DEFAULT 128
184 #define OPEN_LINUXPTP_PRIORITY_1_MAXIMUM 255
185 
186 #define OPEN_LINUXPTP_PRIORITY_2_MINIMUM 0
187 #define OPEN_LINUXPTP_PRIORITY_2_DEFAULT 128
188 #define OPEN_LINUXPTP_PRIORITY_2_MAXIMUM 255
189 
190 /* 1588 Default Profile */
191 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DOMAIN_MINIMUM 0
192 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DOMAIN_DEFAULT 0
193 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DOMAIN_MAXIMUM 127
194 
195 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_INTERVAL_MINIMUM 0
196 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_INTERVAL_DEFAULT 1
197 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_INTERVAL_MAXIMUM 4
198 
199 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_TIMEOUT_MINIMUM 2
200 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_TIMEOUT_DEFAULT 3
201 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_ANNOUNCE_TIMEOUT_MAXIMUM 10
202 
203 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_SYNC_INTERVAL_MINIMUM -1
204 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_SYNC_INTERVAL_DEFAULT 0
205 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_SYNC_INTERVAL_MAXIMUM 1
206 
207 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DELAY_REQ_INTERVAL_MINIMUM 0
208 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DELAY_REQ_INTERVAL_DEFAULT 0
209 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_DELAY_REQ_INTERVAL_MAXIMUM 5
210 
211 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_PDELAY_REQ_INTERVAL_MINIMUM 0
212 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_PDELAY_REQ_INTERVAL_DEFAULT 0
213 #define OPEN_LINUXPTP_1588_DEFAULT_PROFILE_PDELAY_REQ_INTERVAL_MAXIMUM 5
214 
215 /*AES67 Profile */
216 #define OPEN_LINUXPTP_AES67_PROFILE_DOMAIN_MINIMUM 0
217 #define OPEN_LINUXPTP_AES67_PROFILE_DOMAIN_DEFAULT 0
218 #define OPEN_LINUXPTP_AES67_PROFILE_DOMAIN_MAXIMUM 127
219 
220 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_INTERVAL_MINIMUM 0
221 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_INTERVAL_DEFAULT 1
222 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_INTERVAL_MAXIMUM 4
223 
224 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_TIMEOUT_MINIMUM 2
225 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_TIMEOUT_DEFAULT 3
226 #define OPEN_LINUXPTP_AES67_PROFILE_ANNOUNCE_TIMEOUT_MAXIMUM 10
227 
228 #define OPEN_LINUXPTP_AES67_PROFILE_SYNC_INTERVAL_MINIMUM -4
229 #define OPEN_LINUXPTP_AES67_PROFILE_SYNC_INTERVAL_DEFAULT -3
230 #define OPEN_LINUXPTP_AES67_PROFILE_SYNC_INTERVAL_MAXIMUM 1
231 
232 #define OPEN_LINUXPTP_AES67_PROFILE_DELAY_REQ_INTERVAL_MINIMUM -3
233 #define OPEN_LINUXPTP_AES67_PROFILE_DELAY_REQ_INTERVAL_DEFAULT 0
234 #define OPEN_LINUXPTP_AES67_PROFILE_DELAY_REQ_INTERVAL_MAXIMUM 5
235 
236 #define OPEN_LINUXPTP_AES67_PROFILE_PDELAY_REQ_INTERVAL_MINIMUM 0
237 #define OPEN_LINUXPTP_AES67_PROFILE_PDELAY_REQ_INTERVAL_DEFAULT 0
238 #define OPEN_LINUXPTP_AES67_PROFILE_PDELAY_REQ_INTERVAL_MAXIMUM 5
239 
240 /*SMPTE-2059-2 Profile */
241 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DOMAIN_MINIMUM 0
242 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DOMAIN_DEFAULT 127
243 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DOMAIN_MAXIMUM 127
244 
245 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_INTERVAL_MINIMUM -3
246 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_INTERVAL_DEFAULT 0
247 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_INTERVAL_MAXIMUM 1
248 
249 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_TIMEOUT_MINIMUM 2
250 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_TIMEOUT_DEFAULT 3
251 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_ANNOUNCE_TIMEOUT_MAXIMUM 10
252 
253 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_SYNC_INTERVAL_MINIMUM -7
254 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_SYNC_INTERVAL_DEFAULT -3
255 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_SYNC_INTERVAL_MAXIMUM -1
256 
257 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DELAY_REQ_INTERVAL_MINIMUM -7
258 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DELAY_REQ_INTERVAL_DEFAULT -3
259 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_DELAY_REQ_INTERVAL_MAXIMUM 4
260 
261 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_PDELAY_REQ_INTERVAL_MINIMUM -7
262 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_PDELAY_REQ_INTERVAL_DEFAULT -3
263 #define OPEN_LINUXPTP_SMPTE_2059_2_PROFILE_PDELAY_REQ_INTERVAL_MAXIMUM 4
264 
265 /*AES-R16-2016 Profile */
266 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DOMAIN_MINIMUM 127
267 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DOMAIN_DEFAULT 127
268 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DOMAIN_MAXIMUM 127
269 
270 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_INTERVAL_MINIMUM 0
271 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_INTERVAL_DEFAULT 0
272 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_INTERVAL_MAXIMUM 1
273 
274 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_TIMEOUT_MINIMUM 3
275 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_TIMEOUT_DEFAULT 3
276 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_ANNOUNCE_TIMEOUT_MAXIMUM 3
277 
278 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_SYNC_INTERVAL_MINIMUM -4
279 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_SYNC_INTERVAL_DEFAULT -3
280 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_SYNC_INTERVAL_MAXIMUM 1
281 
282 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DELAY_REQ_INTERVAL_MINIMUM -4
283 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DELAY_REQ_INTERVAL_DEFAULT -3
284 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_DELAY_REQ_INTERVAL_MAXIMUM 5
285 
286 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_PDELAY_REQ_INTERVAL_MINIMUM -4
287 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_PDELAY_REQ_INTERVAL_DEFAULT -3
288 #define OPEN_LINUXPTP_AES_R16_2016_PROFILE_PDELAY_REQ_INTERVAL_MAXIMUM 5
289 
290 /*************************************************************************/
307  OPEN_CONTROL_t mode);
308 
309 /*************************************************************************/
325  OPEN_CONTROL_t *mode);
326 
327 /*************************************************************************/
347  uint32_t ifNum, OPEN_CONTROL_t mode);
348 
349 /*************************************************************************/
366  uint32_t ifNum, OPEN_CONTROL_t *mode);
367 
368 /*************************************************************************/
384  open_buffdesc *clockMeanPathDelay);
385 
386 /*************************************************************************/
403  uint32_t ifNum, int32_t *portState);
404 
405 /*************************************************************************/
422  uint32_t ifNum,
423  open_buffdesc *p2pPathDelay);
424 
425 /*************************************************************************/
443  uint32_t ifNum,
444  OPEN_LINUXPTP_STATS_TYPE_t statType,
445  int32_t *statsCount);
446 
447 /*************************************************************************/
464  OPEN_LINUXPTP_DS_TYPE_t type,
465  open_buffdesc *identity);
466 
467 /*************************************************************************/
484  OPEN_LINUXPTP_DS_TYPE_t type,
485  int32_t *value);
486 
487 /*************************************************************************/
505  OPEN_LINUXPTP_CLOCK_PRIORITY_t prioType,
506  uint32_t prioVal);
507 
508 /*************************************************************************/
525  OPEN_LINUXPTP_CLOCK_PRIORITY_t prioType,
526  uint32_t *prioVal);
527 
528 /*************************************************************************/
545  OPEN_LINUXPTP_CLOCK_OPERATION_t operMode);
546 
547 /*************************************************************************/
563  OPEN_LINUXPTP_CLOCK_OPERATION_t *operMode);
564 
565 /*************************************************************************/
582  uint32_t ipAddr);
583 
584 /*************************************************************************/
600  uint32_t *ipAddr);
601 
602 /*************************************************************************/
619  open_in6_addr_t ipAddr);
620 
621 /*************************************************************************/
637  open_in6_addr_t *ipAddr);
638 
639 /*************************************************************************/
656  OPEN_LINUXPTP_PROFILES_t ptpProfile);
657 
658 /*************************************************************************/
674  OPEN_LINUXPTP_PROFILES_t *ptpProfile);
675 
676 /*************************************************************************/
694  OPEN_LINUXPTP_PROFILES_t ptpProfile,
695  OPEN_LINUXPTP_TRANSPORT_MODE_t transMode);
696 
697 /*************************************************************************/
714  OPEN_LINUXPTP_PROFILES_t ptpProfile,
715  OPEN_LINUXPTP_TRANSPORT_MODE_t *transMode);
716 
717 /*************************************************************************/
735  OPEN_LINUXPTP_PROFILES_t ptpProfile,
736  int32_t announceInterval);
737 
738 /*************************************************************************/
755  OPEN_LINUXPTP_PROFILES_t ptpProfile,
756  int32_t *announceInterval);
757 
758 /*************************************************************************/
776  OPEN_LINUXPTP_PROFILES_t ptpProfile,
777  uint32_t announceTimeout);
778 
779 /*************************************************************************/
796  OPEN_LINUXPTP_PROFILES_t ptpProfile,
797  uint32_t *announceTimeout);
798 
799 /*************************************************************************/
817  OPEN_LINUXPTP_PROFILES_t ptpProfile,
818  int32_t syncInterval);
819 
820 /*************************************************************************/
837  OPEN_LINUXPTP_PROFILES_t ptpProfile,
838  int32_t *syncInterval);
839 
840 /*************************************************************************/
858  OPEN_LINUXPTP_PROFILES_t ptpProfile,
859  int32_t delayReqInterval);
860 
861 /*************************************************************************/
878  OPEN_LINUXPTP_PROFILES_t ptpProfile,
879  int32_t *delayReqInterval);
880 
881 /*************************************************************************/
899  OPEN_LINUXPTP_PROFILES_t ptpProfile,
900  int32_t pDelayReqInterval);
901 
902 /*************************************************************************/
919  OPEN_LINUXPTP_PROFILES_t ptpProfile,
920  int32_t *pDelayReqInterval);
921 
922 /*************************************************************************/
940  OPEN_LINUXPTP_PROFILES_t ptpProfile,
941  uint32_t domain);
942 
943 /*************************************************************************/
960  OPEN_LINUXPTP_PROFILES_t ptpProfile,
961  uint32_t *domain);
962 
963 /*************************************************************************/
981  OPEN_LINUXPTP_PROFILES_t ptpProfile,
982  OPEN_LINUXPTP_DELAY_MECHANISM_t delayMech);
983 
984 /*************************************************************************/
1001  OPEN_LINUXPTP_PROFILES_t ptpProfile,
1002  OPEN_LINUXPTP_DELAY_MECHANISM_t *delayMech);
1003 
1004 /*************************************************************************/
1021  uint32_t level);
1022 
1023 /*************************************************************************/
1039  uint32_t *level);
1040 
1041 /*************************************************************************/
1057  uint32_t ifNum);
1058 
1059 /*************************************************************************/
1076  uint32_t ifNum, OPEN_BOOL_t *status);
1077 
1078 /*************************************************************************/
1095  uint32_t ifNum, OPEN_BOOL_t *isValid);
1096 
1097 /*************************************************************************/
1114  uint32_t domain,
1115  OPEN_BOOL_t *isValidDomain);
1116 
1117 /*************************************************************************/
1134  OPEN_LINUXPTP_TIME_PROPERTIES_TYPE_t type,
1135  int32_t *value);
1136 
1137 /*************************************************************************/
1153  uint32_t *stepsRemoved);
1154 
1155 /*************************************************************************/
1171  open_buffdesc *offsetFromMaster);
1172 
1173 /*************************************************************************/
1189  uint32_t *clockRole);
1190 
1191 /*************************************************************************/
1208  OPEN_BOOL_t traceMode);
1209 
1210 /*************************************************************************/
1226  OPEN_BOOL_t *traceMode);
1227 
1228 /*************************************************************************/
1245  OPEN_LINUXPTP_DS_TYPE_t type,
1246  open_buffdesc *identity);
1247 
1248 /*************************************************************************/
1266  OPEN_BOOL_t *isLinuxptpSupported);
1267 
1268 /*************************************************************************/
1284  OPEN_BOOL_t *processStatus);
1285 
1286 /*************************************************************************/
1304  OPEN_LINUXPTP_CLOCK_OPERATION_t *operMode);
1305 
1306 #endif /* OPENAPI_LINUXPTP_H_INCLUDED */
1307 
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 openapiLinuxptpProcessRunningStatusGet(openapiClientHandle_t *client_handle, OPEN_BOOL_t *processStatus)
Get LinuxPTP process running status.
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_error_t openapiLinuxptpParentClockOperModeGet(openapiClientHandle_t *client_handle, OPEN_LINUXPTP_CLOCK_OPERATION_t *operMode)
Get LinuxPTP parent clock operation mode.
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 openapiLinuxptpIsSupported(openapiClientHandle_t *client_handle, OPEN_BOOL_t *isLinuxptpSupported)
Check whether Linux PTP is supported.
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.