commontypes.h Source File

Reference Documentation

Platform
Intel® PAC
Napatech SmartNIC
Content Type
Reference Information
Capture Software Version
Link™ Capture Software 12.10
Napatech Software Suite: include/ntapi/commontypes.h Source File
commontypes.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (C) 2023 Napatech A/S.
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  * * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * * Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * * Neither the name of the Napatech A/S nor the
14  * names of its contributors may be used to endorse or promote products
15  * derived from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL NAPATECH A/S BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  *
29 
30  */
31 
32 /**
33  * @file
34  * This file contains the Common types that can be used by any interface
35  */
36 
37 #ifndef __COMMONTYPES_H__
38 #define __COMMONTYPES_H__
39 
40 #include <limits.h>
41 #include <stdint.h>
42 
43 #if !defined(_MSC_VER) || _MSC_VER > 1800
44 #include <stdbool.h>
45 #else
46 
47 #ifndef __cplusplus
48 
49 /*
50  * In Visual C++ 5.0 and later, bool is implemented as a built-in type with a
51  * size of 1 byte hence the C version should have same size. Use unsigned char
52  * as MSVC does not provide _Bool.
53  */
54 typedef unsigned char bool;
55 #define true 1
56 #define false 0
57 
58 #endif
59 
60 #define __bool_true_false_are_defined 1
61 
62 #endif // _MSC_VER
63 
64 /**
65  * Define cross-platform NT_INLINE keyword for static inline functions
66  */
67 #ifndef NT_INLINE
68 #ifdef _MSC_VER
69 #define NT_INLINE __forceinline
70 #else
71 #define NT_INLINE inline
72 #endif
73 #endif
74 
75 #define NT_MAX_NUM_ADAPTERS 16
76 
77 /** Enumeration used for specifying the flavour when generation the ini file. */
79  INI_FILE_CREATE_MODE_MINIMUM = 0, // Only the needed minimum set of parameters are include in the ini file.
80  INI_FILE_CREATE_MODE_NORMAL, // Parameters which have been used during the initialisation are included.
81  INI_FILE_CREATE_MODE_FULL, // All possibile/allowed parameters are inclued.
82  INI_FILE_CREATE_MODE_DEBUG, // Used when DEBUG compiler flag set (special test build of the driver)
84 };
85 
86 /** Enumeration used for specifying the flavour when generation the ini help text file. */
88  HELP_FILE_CREATE_MODE_NORMAL = 0, // The help text is generated including the normally used parameters
89  HELP_FILE_CREATE_MODE_FULL, // Special purpose/experimental (hidden) parameters are included in the help text file.
90  HELP_FILE_CREATE_MODE_SECRET, // Parameters for internal/development purpose are included (aka secrets).
92 };
93 
94 /**
95  * Timestamp type.
96  */
98  NT_TIMESTAMP_TYPE_NATIVE = 0, //!< 64-bit 10 ns resolution timer from a base of 0
99  NT_TIMESTAMP_TYPE_NATIVE_NDIS, //!< 64-bit 10 ns resolution timer from a base of January 1, 1601
100  NT_TIMESTAMP_TYPE_NATIVE_UNIX, //!< 64-bit 10 ns resolution timer from a base of January 1, 1970
101 #ifndef DOXYGEN_INTERNAL_ONLY
102  NT_TIMESTAMP_TYPE_NDIS, //!< Deprecated
103 #endif
104  /**
105  * PCAP only supported for Rx, thus no in-line adapter support for these time stamps.
106  */
107  NT_TIMESTAMP_TYPE_PCAP, //!< 32-bit seconds and 32-bit usecs from a base of January 1, 1970
108  NT_TIMESTAMP_TYPE_PCAP_NANOTIME, //!< 32-bit seconds and 32-bit nsecs from a base of January 1, 1970
109  NT_TIMESTAMP_TYPE_UNIX_NANOTIME, //!< 64-bit 1 ns resolution timer from a base of January 1, 1970
110 };
111 
112 
113 /**
114  * Time stamp method
115  */
117  NT_TIMESTAMP_METHOD_UNKNOWN = 0, //!< Time stamp method unknown
118  NT_TIMESTAMP_METHOD_SOF, //!< Time stamp at start of frame
119  NT_TIMESTAMP_METHOD_EOF //!< Time stamp at end of frame
120 };
121 
122 /**
123  * Time stamp inject offset
124  */
126  NT_TIMESTAMP_INJECT_OFFSET_UNKNOWN = 0, //!< Time stamp inject offset mode unknown
127  NT_TIMESTAMP_INJECT_OFFSET_UNSUPPORTED, //!< Time stamp inject offset mode is unsupported
128  NT_TIMESTAMP_INJECT_OFFSET_SOF, //!< Time stamp inject offset calculated from start of frame
129  NT_TIMESTAMP_INJECT_OFFSET_EOF //!< Time stamp inject offset calculated from end of frame
130 };
131 
132 /**
133  * Time stamp inject dynamic offset
134  */
136  NT_TIMESTAMP_INJECT_DYNAMIC_OFFSET_UNKNOWN = 0, //!< Time stamp inject offset mode unknown
137  NT_TIMESTAMP_INJECT_DYNAMIC_OFFSET_UNSUPPORTED, //!< Time stamp inject offset mode is unsupported
138  NT_TIMESTAMP_INJECT_DYNAMIC_OFFSET_SOF, //!< Time stamp inject dynamice offset - start of frame
139  NT_TIMESTAMP_INJECT_DYNAMIC_OFFSET_EOF, //!< Time stamp inject dynamice offset - end of frame
140  NT_TIMESTAMP_INJECT_DYNAMIC_OFFSET_L3, //!< Time stamp inject dynamice offset - start of layer 3
141  NT_TIMESTAMP_INJECT_DYNAMIC_OFFSET_L4 //!< Time stamp inject dynamice offset - start of layer 4
142 };
143 
144 /**
145  * Relative TX timing method
146  */
148  NT_TX_TIMING_UNSUPPORTED = 0, //!< Changing TX timing is unsupported
149  NT_TX_TIMING_ABSOLUTE, //!< TX is made absolute (time stamp based)
150  NT_TX_TIMING_RELATIVE, //!< TX is made relative (IFG based)
151 };
152 
153 /**
154  * Thread Priority
155  */
157  NT_THREAD_PRIORITY_NORMAL, //!< System default priority. Probably timesliced
158  NT_THREAD_PRIORITY_RT_LOW, //!< Not timesliced, but can be interrupted by higher priority threads
159  NT_THREAD_PRIORITY_RT_HIGH //!< This highest priority obtainable. Thread will run uninterrupted to completion.
160 };
161 
162 /**
163  * WIS Mode bit mask
164  */
166  NT_WIS_MODE_DISABLED = 0x00, //!< OC-192 WIS mode HW Support but disabled
167  NT_WIS_MODE_ENABLED = 0x01, //!< OC-192 WIS mode enabled
168 };
169 
171  NT_HIGH_FREQUENCY_SAMPLING_DISABLE = 0, //!< High frequency sampling not used
172  NT_HIGH_FREQUENCY_SAMPLING_ENABLE, //!< High frequency sampling activated
173 };
174 
176  NT_OS_TIMESYNC_FAILOVER_DISABLE = 0, //!< OS Timesync failover disabled
177  NT_OS_TIMESYNC_FAILOVER_ENABLE, //!< OS Timesync failover enabled
178 };
179 
180 /**
181  * Host buffer types.
182  * Used to select between RX or TX host buffers.
183  */
185  NT_NET_HOSTBUFFER_TYPE_UNKNOWN=0, //!< Host buffer type is unknown
186  NT_NET_HOSTBUFFER_TYPE_RX, //!< Host buffer type is RX (ntservice.ini file tag: HostBufferRx)
187  NT_NET_HOSTBUFFER_TYPE_TX, //!< Host buffer type is TX (ntservice.ini file tag: HostBufferTx)
188 };
189 
190 /**
191  * Host buffer layout
192  * Defined how the host buffer layout is defined
193  */
195  NT_NET_HOSTBUFFER_LAYOUT_UNKNOWN=0, //!< Unknown host buffer layout
196  NT_NET_HOSTBUFFER_LAYOUT_SLABS, //!< The host buffer is slab based. Packets are in this mode not allowed to spread across slabs and the slab is therefore terminated if the next packet doesn't fit into the current slab. A slab is 1MB.
197  NT_NET_HOSTBUFFER_LAYOUT_CIRCULAR, //!< The host buffer consist of one circular buffer there packets can start at the tail and continue at the head.
198 };
199 
200 /**
201  * The stream types supported.
202  */
204  NT_MSG_ENDPOINT_UNKNOWN=0, //!< Unknown stream type
205  NT_MSG_ENDPOINT_NET_STREAM, //!< Network stream
206  NT_MSG_ENDPOINT_CONFIG_STREAM, //!< Configuration stream
207  NT_MSG_ENDPOINT_STAT_STREAM, //!< Statistics stream
208  NT_MSG_ENDPOINT_EVENT_STREAM, //!< Event stream
209  NT_MSG_ENDPOINT_INFO_STREAM, //!< Info stream
210  NT_MSG_ENDPOINT_SYSTEM_STREAM, //!< System-wide stream. @note This is vital and is automatically created in NT_Init() and must
211  //!< only be created once per process. The reason is that when it closes we expect the process is
212  //!< terminated and will perform system-wide cleanup for all resourced linked to that process.
213  NT_MSG_ENDPOINT_NET_CMD, //!< Network stream related command endpoint
215 };
216 
217 /**
218  * Adapter types
219  */
221  NT_ADAPTER_TYPE_UNKNOWN=0, //!< Unknown adapter type
222  NT_ADAPTER_TYPE_NT4E, //!< NT4E network adapter
223  NT_ADAPTER_TYPE_NT20E, //!< NT20E network adapter
224  NT_ADAPTER_TYPE_NT4E_STD, //!< NT4E-STD network adapter
225  NT_ADAPTER_TYPE_NT4E_PORT, //!< NTPORT4E expansion adapter
226  NT_ADAPTER_TYPE_NTBPE, //!< NTBPE bypass adapter
227  NT_ADAPTER_TYPE_NT20E2, //!< NT20E2 network adapter
230  NT_ADAPTER_TYPE_NT40E2_1, //!< NT40E2-1 network adapter
231  NT_ADAPTER_TYPE_NT40E2_4, //!< NT40E2-4 network adapter
232  NT_ADAPTER_TYPE_NT4E2_4T_BP, //!< NT4E2-4T-BP bypass network adapter
233  NT_ADAPTER_TYPE_NT4E2_4_PTP, //!< NT4E2-4 PTP network adapter with IEEE1588
234  NT_ADAPTER_TYPE_NT20E2_PTP, //!< NT20E2 PTP network adapter with IEEE1588
235  NT_ADAPTER_TYPE_NT40E3_4_PTP, //!< NT40E3 network adapter with IEEE1588
236  NT_ADAPTER_TYPE_NT100E3_1_PTP, //!< NT100E3 network adapter with IEEE1588
237  NT_ADAPTER_TYPE_NT20E3_2_PTP, //!< NT20E3 network adapter with IEEE1588
238  NT_ADAPTER_TYPE_NT80E3_2_PTP, //!< NT80E3 network adapter with IEEE1588
239  NT_ADAPTER_TYPE_NT200E3_2, //!< NT200E3 network adapter
240  NT_ADAPTER_TYPE_NT200A01, //!< NT200A01 network adapter
241  NT_ADAPTER_TYPE_NT200A01_2X100 = NT_ADAPTER_TYPE_NT200A01, //!< NT200A01 2 x 100 Gbps network adapter
242  NT_ADAPTER_TYPE_NT40A01_4X1, //!< NT40A01_4X1 network adapter with IEEE1588
243  NT_ADAPTER_TYPE_NT200A01_2X40, //!< NT200A01 2 x 40 Gbps network adapter
244  NT_ADAPTER_TYPE_NT80E3_2_PTP_8X10, //!< NT80E3 8 x 10 Gbps network adapter with IEEE1588
245  //
246  NT_ADAPTER_TYPE_INTEL_A10_4X10, //!<Intel PAC A10 GX 4 x 10 Gbps network adapter
247  NT_ADAPTER_TYPE_INTEL_A10_1X40, //!<Intel PAC A10 GX 1 x 40 Gbps network adapter
248  //
249  NT_ADAPTER_TYPE_NT200A01_8X10, //!< NT200A01 8 x 10 Gbps network adapter
250  NT_ADAPTER_TYPE_NT200A02_2X100, //!< NT200A02 2 x 100 Gbps network adapter
251  NT_ADAPTER_TYPE_NT200A02_2X40, //!< NT200A02 2 x 40 Gbps network adapter
253  NT_ADAPTER_TYPE_NT200A01_2X10_25 = NT_ADAPTER_TYPE_NT200A01_2X25, //!< NT200A01 2 x 10/25 Gbps network adapter
255  NT_ADAPTER_TYPE_NT200A02_2X10_25 = NT_ADAPTER_TYPE_NT200A02_2X25, //!< NT200A02 2 x 10/25 Gbps network adapter
257  NT_ADAPTER_TYPE_NT200A02_4X10_25 = NT_ADAPTER_TYPE_NT200A02_4X25, //!< NT200A02 4 x 10/25 Gbps network adapter
258  NT_ADAPTER_TYPE_NT200A02_8X10, //!< NT200A02 8 x 10 Gbps network adapter
260  NT_ADAPTER_TYPE_NT50B01_2X10_25 = NT_ADAPTER_TYPE_NT50B01_2X25, //!< NT50B01 2 x 10/25 Gbps network adapter
261  NT_ADAPTER_TYPE_NT200A02_2X1_10, //!< NT200A02 2 x 1/10 Gbps network adapter
262  NT_ADAPTER_TYPE_NT100A01_4X1_10, //!< NT100A01 4 x 1/10 Gbps network adapter
263  NT_ADAPTER_TYPE_NT100A01_4X10_25, //!< NT100A01 4 x 10/25 Gbps network adapter
264  NT_ADAPTER_TYPE_NT50B01_2X1_10, //!< NT50B01 2 x 1/10 Gbps network adapter
265  NT_ADAPTER_TYPE_NT40A11_4X1_10, //!< NT40A11 4 x 1/10 Gbps network adapter
266  NT_ADAPTER_TYPE_NT400D11_2X100, //!< NT400D11 2 x 100 Gbps network adapter
267  //NT_ADAPTER_TYPE_NT200A02_2X1_10_25, //!< NT200A02 2 x 1/10/25 Gbps network adapter. OBS In the future
268 
269  //
270  //
271 //
272 
273 };
274 
276 
277 /**
278  * Adapter PCI generation
279  */
280 
286 };
287 
289 
290 /**
291  * Adapter hardware generation
292  *
293  * NOTE: This is *NOT* equal to PCIe generation
294  */
295 
302 };
303 
305 
306 /**
307  * Adapter FPGA Architecture Generation
308  *
309  * NOTE: may differ from Adapter (hardware) generation
310  */
311 
318 };
319 
321 
322 /**
323  * Packet descriptor type
324  */
326  NT_PACKET_DESCRIPTOR_TYPE_UNKNOWN, //!< Unknown descriptor type
327  NT_PACKET_DESCRIPTOR_TYPE_PCAP, //!< Descriptor type is PCAP
328  NT_PACKET_DESCRIPTOR_TYPE_NT, //!< Descriptor type is NT
329  NT_PACKET_DESCRIPTOR_TYPE_NT_EXTENDED, //!< Descriptor type is NT extended
330  NT_PACKET_DESCRIPTOR_TYPE_DYNAMIC, //!< Descriptor type is Dynamic (fields can be programmed via NTPL)
331 };
332 
333 /*
334  * Napatech Dynamic Descriptor formats.
335  */
337  NT_DYNAMIC_DESCRIPTOR_FORMAT_1 = 1, //!< Dynamic descriptor with 3 dynamic offsets and a dynamic IPProcotol selector.
338  NT_DYNAMIC_DESCRIPTOR_FORMAT_2 = 2, //!< Dynamic descriptor with 2 dynamic offsets and a dynamic IPProcotol selector.
339  NT_DYNAMIC_DESCRIPTOR_FORMAT_3 = 3, //!< Dynamic descriptor 3 is suited for various TX inline scenarios
340  NT_DYNAMIC_DESCRIPTOR_FORMAT_4 = 4, //!< Dynamic descriptor 4 is suited for various correlation scenarios
341 };
342 
343 /**
344  * Product types
345  */
347  NT_PRODUCT_TYPE_UNKNOWN=0, //!< Unknown product type
348  NT_PRODUCT_TYPE_CAPTURE, //!< Capture product type
349  NT_PRODUCT_TYPE_INLINE, //!< In-line product type
350  NT_PRODUCT_TYPE_CAPTURE_REPLAY, //!< Capture-replay product type
351  NT_PRODUCT_TYPE_TRAFFIC_GEN, //!< Traffic generator product type
352  NT_PRODUCT_TYPE_BYPASS, //!< Bypass product type
353 };
354 
356 
357 /**
358  * Profile types
359  */
361  NT_PROFILE_TYPE_UNKNOWN=0, //!< Unknown profile type
362  NT_PROFILE_TYPE_CAPTURE=1<<0, //!< Capture profile type
363  NT_PROFILE_TYPE_INLINE=1<<1, //!< In-line profile type
364  NT_PROFILE_TYPE_CAPTURE_REPLAY=1<<2, //!< Capture-replay profile type
365  NT_PROFILE_TYPE_TRAFFIC_GEN=1<<3, //!< Traffic generator profile type
366 };
367 
368 /**
369  * Product family
370  */
372  NT_PRODUCT_FAMILY_UNKNOWN=0, //!< Unknown product family
373  NT_PRODUCT_FAMILY_NT, //!< NT adapter family
374  NT_PRODUCT_FAMILY_NIC, //!< Standard NIC product family
375 };
376 
378 
380  NT_FEATURE_TYPE_BYPASS=1<<0, //!< The adapter has support for bypass.
381  NT_FEATURE_TYPE_NEBS=1<<1, //!< The adapter is a NEBS adapter.
382  NT_FEATURE_TYPE_FAN=1<<2, //!< The adapter has an alternative FAN.
383  NT_FEATURE_TYPE_FEC_SUPP=1<<3, //!< The adapter has support for FEC.
384  NT_FEATURE_TYPE_SOF_SUPP=1<<4, //!< The adapter has support for SOF.
385 };
386 
387 /**
388  * SDRAM module sizes
389  */
391  NT_SDRAM_SIZE_UNKNOWN=0, //!< Unknown RAM size
392  NT_SDRAM_SIZE_0G = (-1), //!< RAM size 0 gigabytes
393  NT_SDRAM_SIZE_512M = 0x1, //!< RAM size 512 megabytes
394  NT_SDRAM_SIZE_1G = 0x2, //!< RAM size 1 gigabyte
395  NT_SDRAM_SIZE_2G = 0x4, //!< RAM size 2 gigabytes
396  NT_SDRAM_SIZE_4G = 0x8, //!< RAM size 4 gigabytes
397  NT_SDRAM_SIZE_5G = 0xA, //!< RAM size 5 gigabytes
398 
399  NT_SDRAM_SIZE_8G = 0x10, //!< RAM size 8 gigabytes
400  NT_SDRAM_SIZE_10G = 0x14, //!< RAM size 10 gigabytes
401  NT_SDRAM_SIZE_12G = 0x18, //!< RAM size 12 gigabytes
402  NT_SDRAM_SIZE_13G5= 0x1B, //!< RAM size 13.5 gigabytes
403 
404  NT_SDRAM_SIZE_16G = 0x20, //!< RAM size 16 gigabytes
405  NT_SDRAM_SIZE_18G = 0x24, //!< RAM size 18 gigabytes
406  NT_SDRAM_SIZE_20G = 0x28, //!< RAM size 20 gigabytes
407 
408  NT_SDRAM_SIZE_24G = 0x30, //!< RAM size 24 gigabytes
409  NT_SDRAM_SIZE_27G = 0x36, //!< RAM size 27 gigabytes
410 
411  NT_SDRAM_SIZE_36G = 0x48, //!< RAM size 36 gigabytes
412 
413 };
414 
415 /**
416  * SDRAM module type
417  */
419  NT_SDRAM_TYPE_UNKNOWN=0, //!< Unknown RAM type
420  NT_SDRAM_TYPE_DDR2 = 0x1, //!< RAM is DDR2
421  NT_SDRAM_TYPE_DDR3 = 0x2, //!< RAM is DDR3
422  NT_SDRAM_TYPE_DDR4 = 0x3, //!< RAM is DDR4
423 };
424 
425 /**
426  * SDRAM OnboardMemorySplit
427  */
434 };
435 
436 /**
437  * Port types
438  * The use of all non-generic XX_NOT_PRESENT is deprecated - use
439  * NT_PORT_TYPE_NIM_NOT_PRESENT instead
440  */
442  NT_PORT_TYPE_NOT_AVAILABLE = 0, //!< The NIM/port type is not available (unknown)
443  NT_PORT_TYPE_NOT_RECOGNISED, //!< The NIM/port type not recognized
444  NT_PORT_TYPE_RJ45, //!< RJ45 type
445  NT_PORT_TYPE_SFP_NOT_PRESENT, //!< SFP type but slot is empty
446  NT_PORT_TYPE_SFP_SX, //!< SFP SX
447  NT_PORT_TYPE_SFP_SX_DD, //!< SFP SX digital diagnostic
448  NT_PORT_TYPE_SFP_LX, //!< SFP LX
449  NT_PORT_TYPE_SFP_LX_DD, //!< SFP LX digital diagnostic
450  NT_PORT_TYPE_SFP_ZX, //!< SFP ZX
451  NT_PORT_TYPE_SFP_ZX_DD, //!< SFP ZX digital diagnostic
452  NT_PORT_TYPE_SFP_CU, //!< SFP copper
453  NT_PORT_TYPE_SFP_CU_DD, //!< SFP copper digital diagnostic
456  NT_PORT_TYPE_XPAK, //!< XPAK
457  NT_PORT_TYPE_SFP_CU_TRI_SPEED, //!< SFP copper tri-speed
458  NT_PORT_TYPE_SFP_CU_TRI_SPEED_DD, //!< SFP copper tri-speed digital diagnostic
459  NT_PORT_TYPE_SFP_PLUS, //!< SFP+ type
460  NT_PORT_TYPE_SFP_PLUS_NOT_PRESENT, //!< SFP+ type but slot is empty
461  NT_PORT_TYPE_XFP_NOT_PRESENT, //!< XFP type but slot is empty
462  NT_PORT_TYPE_QSFP_PLUS_NOT_PRESENT, //!< QSFP type but slot is empty
463  NT_PORT_TYPE_QSFP_PLUS, //!< QSFP type
464  NT_PORT_TYPE_SFP_PLUS_PASSIVE_DAC, //!< SFP+ Passive DAC
465  NT_PORT_TYPE_SFP_PLUS_ACTIVE_DAC, //!< SFP+ Active DAC
466  NT_PORT_TYPE_CFP4, //!< CFP4 type
467  NT_PORT_TYPE_CFP4_LR4 = NT_PORT_TYPE_CFP4, //!< CFP4 100G, LR4 type
468  NT_PORT_TYPE_CFP4_NOT_PRESENT, //!< CFP4 type but slot is empty
469  NT_PORT_TYPE_INITIALIZE, //!< The port type is not fully established yet
470  NT_PORT_TYPE_NIM_NOT_PRESENT, //!< Generic "Not present"
471  NT_PORT_TYPE_HCB, //!< Test mode: Host Compliance Board
472  NT_PORT_TYPE_NOT_SUPPORTED, //!< The NIM type is not supported in this context
473  NT_PORT_TYPE_SFP_PLUS_DUAL_RATE, //!< SFP+ supports 1G/10G
474  NT_PORT_TYPE_CFP4_SR4, //!< CFP4 100G, SR4 type
475  NT_PORT_TYPE_QSFP28_NOT_PRESENT, //!< QSFP28 type but slot is empty
476  NT_PORT_TYPE_QSFP28, //!< QSFP28 type
477  NT_PORT_TYPE_QSFP28_SR4, //!< QSFP28-SR4 type
478  NT_PORT_TYPE_QSFP28_LR4, //!< QSFP28-LR4 type
479  NT_PORT_TYPE_QSFP_PLUS_4X10, //!< Deprecated. The port type should not mention speed eg 4x10 or 1x40
480  NT_PORT_TYPE_QSFP_PASSIVE_DAC_4X10, //!< Deprecated. The port type should not mention speed eg 4x10 or 1x40
482  NT_PORT_TYPE_QSFP_ACTIVE_DAC_4X10, //!< Deprecated. The port type should not mention speed eg 4x10 or 1x40
484  NT_PORT_TYPE_SFP_28, //!< SFP28 type
485  NT_PORT_TYPE_SFP_28_SR, //!< SFP28-SR type
486  NT_PORT_TYPE_SFP_28_LR, //!< SFP28-LR type
487  NT_PORT_TYPE_SFP_28_CR_CA_L, //!< SFP28-CR-CA-L type
488  NT_PORT_TYPE_SFP_28_CR_CA_S, //!< SFP28-CR-CA-S type
489  NT_PORT_TYPE_SFP_28_CR_CA_N, //!< SFP28-CR-CA-N type
490  NT_PORT_TYPE_QSFP28_CR_CA_L, //!< QSFP28-CR-CA-L type
491  NT_PORT_TYPE_QSFP28_CR_CA_S, //!< QSFP28-CR-CA-S type
492  NT_PORT_TYPE_QSFP28_CR_CA_N, //!< QSFP28-CR-CA-N type
493  NT_PORT_TYPE_SFP_28_SR_DR, //!< SFP28-SR-DR type
494  NT_PORT_TYPE_SFP_28_LR_DR, //!< SFP28-LR-DR type
495  NT_PORT_TYPE_SFP_FX, //!< SFP FX
496  NT_PORT_TYPE_SFP_PLUS_CU, //!< SFP+ CU type
497  NT_PORT_TYPE_QSFP28_FR, //!< QSFP28-FR type. Uses PAM4 modulation on one lane only
498  NT_PORT_TYPE_QSFP28_DR, //!< QSFP28-DR type. Uses PAM4 modulation on one lane only
499  NT_PORT_TYPE_QSFP28_LR, //!< QSFP28-LR type. Uses PAM4 modulation on one lane only
500 };
501 
503 
504 /**
505  * Link state.\n
506  * Just after start of ntservice the link state might be unknown since the
507  * monitoring routine is busy reading NIM state and NIM data. This might also
508  * be the case after a NIM is plugged into an interface.
509  * The error state indicates a HW reading error.
510  */
512  NT_LINK_STATE_UNKNOWN = 0, //!< The link state has not been read yet
513  NT_LINK_STATE_DOWN = 1, //!< The link state is DOWN
514  NT_LINK_STATE_UP = 2, //!< The link state is UP
515  NT_LINK_STATE_ERROR = 3 //!< The link state could not be read
516 };
517 
519 
520 /**
521  * Link speed.
522  * Note this is a bitmask.
523  */
526  NT_LINK_SPEED_10M = 0x01, //!< 10 Mbps
527  NT_LINK_SPEED_100M = 0x02, //!< 100 Mbps
528  NT_LINK_SPEED_1G = 0x04, //!< 1 Gbps (Autoneg only)
529  NT_LINK_SPEED_10G = 0x08, //!< 10 Gbps (Autoneg only)
530  NT_LINK_SPEED_40G = 0x10, //!< 40 Gbps (Autoneg only)
531  NT_LINK_SPEED_100G = 0x20, //!< 100 Gbps (Autoneg only)
532  NT_LINK_SPEED_50G = 0x40, //!< 50 Gbps (Autoneg only)
533  NT_LINK_SPEED_25G = 0x80, //!< 25 Gbps (Autoneg only)
534  NT_LINK_SPEED_END //!< always keep this entry as the last in enum
535 };
536 
538 
539 /**
540  * Link duplex mode
541  */
544  NT_LINK_DUPLEX_HALF = 0x01, //!< Half duplex
545  NT_LINK_DUPLEX_FULL = 0x02, //!< Full duplex
546 };
547 
549 
550 /**
551  * Link MDI mode
552  */
555  NT_LINK_MDI_AUTO = 0x01, //!< MDI auto
556  NT_LINK_MDI_MDI = 0x02, //!< MDI mode
557  NT_LINK_MDI_MDIX = 0x04, //!< MDIX mode
558 };
559 
561 
562 /**
563  * Link Auto/Manual mode
564  */
568  NT_LINK_AUTONEG_OFF = NT_LINK_AUTONEG_MANUAL, //!< Auto negotiation OFF
570  NT_LINK_AUTONEG_ON = NT_LINK_AUTONEG_AUTO, //!< Auto negotiation ON
571 };
572 
574 
575 
576 /**
577  * ForceTxLink mode
578  */
583 };
584 
586 
587 
588 /**
589  * TX laser power mode
590  */
592  NT_TX_POWER_UNKNOWN=0, //!< Illegal value - should newer be read or written
593  NT_TX_POWER_NA, //!< Reading: Changing TX Power is not supported.\n Writing: Not valid for writing.
594  NT_TX_POWER_ON, //!< Reading: TX power is on.\n Writing: Turns on the TX power
595  NT_TX_POWER_OFF //!< Reading: TX power is off.\n Writing: Turns off the TX power
596 };
597 
599 
600 /**
601  * Port ID mode
602  */
603 typedef enum NtPortId_e {
604  NT_PORT_ID_UNKNOWN=0, //!< Illegal value - should newer be read or written
605  NT_PORT_ID_NA, //!< Reading: Port Identification is not supported.\n Writing: Not valid for writing.
606  NT_PORT_ID_ON, //!< Reading: Port Identification is on.\n Writing: Turns on the port ID
607  NT_PORT_ID_OFF //!< Reading: Port Identification is off.\n Writing: Turns off the port ID
608 } NtPortId_t;
609 
610 
611 /**
612  * Port FEC (Forward Error Correction) mode
613  */
614 typedef enum NtPortFec_e {
615  NT_PORT_FEC_NA = 0, //!< FEC is not available/unsupported
616  NT_PORT_FEC_ON, //!< FEC is active
617  NT_PORT_FEC_OFF //!< FEC is inactive
618 } NtPortFec_t;
619 
620 
621 /**
622  * Ifg unit
623  */
625  NT_IFG_NS = 0, //!< Ifg unit is in 10 ns ticks
626  NT_IFG_BYTE = 1, //!< Ifg unit is in bytes
627 };
628 
629 
630 /**
631  *
632  */
634  NT_BYPASS_TRIGGER_NONE = 0x00, //!< TODO:
635  NT_BYPASS_TRIGGER_PWRFAIL = 0x01, //!< TODO:
636 };
637 
638 /**
639  *
640  */
642  NT_BYPASS_PORT_STATE_UNKNOWN=0, //!< NT_BYPASS_PORT_STATE_UNKNOWN should be used when reading
643  NT_BYPASS_PORT_STATE_IGNORE=0, //!< NT_BYPASS_PORT_STATE_IGNORE should be used when writing
646 };
647 
648 /**
649  *
650  */
652  NT_OPERATION_UNKNOWN = 0, //!< TODO:
653  NT_OPERATION_READ = 1, //!< TODO:
654  NT_OPERATION_WRITE = 2, //!< TODO:
655 };
656 
657 
658 
659 /**
660  * Time sync protocol
661  */
663  NT_TIMESYNC_PROTOCOL_NT=0, //!< Time sync set to NT time sync
664  NT_TIMESYNC_PROTOCOL_OS, //!< Time sync set to OS time sync
665  NT_TIMESYNC_PROTOCOL_PPS_REL, //!< Time sync set to PPS time sync with no external time source
666  NT_TIMESYNC_PROTOCOL_PPS_ABS, //!< Time sync set to PPS time sync with external time source
667  NT_TIMESYNC_PROTOCOL_FREE, //!< Time sync set to free running
668 };
669 
670 /**
671  * Time sync PPS actions
672  */
674  NT_TIMESYNC_PPS_ACTION_REFERENCE_TIME=0, //!< Send reference TOD to driver
675  NT_TIMESYNC_PPS_ACTION_ENABLE, //!< Enable PPS clock synchronization
676  NT_TIMESYNC_PPS_ACTION_DISABLE, //!< Disable PPS clock synchronization
677 };
678 
679 /**
680  * Time sync connectors
681  */
683  NT_TIMESYNC_CONNECTOR_NONE = 0, //!< Time sync connector unused
684  NT_TIMESYNC_CONNECTOR_EXT = 0x01, //!< Bit mask for external time sync connnector
685  NT_TIMESYNC_CONNECTOR_INT1 = 0x02, //!< Bit mask for internal 1 time sync connnector
686  NT_TIMESYNC_CONNECTOR_INT2 = 0x04, //!< Bit mask for internal 2 time sync connnector
687 };
688 
689 
690 /**
691  * Time sync PPS current clock synchonization mode
692  */
694  NT_TIMESYNC_PPS_MODE_NOT_SYNCING = 0, //!< Currently not using PPS synchronization
695  NT_TIMESYNC_PPS_MODE_PHASE_SYNCING, //!< Currently using phase synchronization method
696  NT_TIMESYNC_PPS_MODE_TIME_SYNCING //!< Currently using time synchronization
697 };
698 
699 
700 /**
701  * Time sync connector settings
702  */
704  NT_TIMESYNC_CONNECTOR_SETTING_NONE = 0, //!< Connector set to None. Connector not used
705  NT_TIMESYNC_CONNECTOR_SETTING_NTTS_IN = 1, //!< Connector set to NttsIn (NT-TS input)
706  NT_TIMESYNC_CONNECTOR_SETTING_PPS_IN = 2, //!< Connector set to PpsIn (PPS input)
707  NT_TIMESYNC_CONNECTOR_SETTING_10MPPS_IN = 3, //!< 10MPPS - Frequency reference input (not yet supported)
708  NT_TIMESYNC_CONNECTOR_SETTING_NTTS_OUT = 4, //!< Connector set to NttsOut (NT-TS output)
709  NT_TIMESYNC_CONNECTOR_SETTING_PPS_OUT = 5, //!< Connector set to PpsOut (PPS output)
710  NT_TIMESYNC_CONNECTOR_SETTING_10MPPS_OUT = 6, //!< 10MPPS - Frequency output (not yet supported)
711  NT_TIMESYNC_CONNECTOR_SETTING_REPEAT_INT1 = 7, //!< Connector set to repeat connector Int1
712  NT_TIMESYNC_CONNECTOR_SETTING_REPEAT_INT2 = 8, //!< Connector set to repeat connector Int2
713  NT_TIMESYNC_CONNECTOR_SETTING_REPEAT_EXT1 = 9, //!< Connector set to repeat connector Ext1
714 };
715 
717 
718 /**
719  * Time sync connector status
720  */
722  NT_TIMESYNC_CONNECTOR_STATUS_NONE = 0, //!< Time sync status not applicable (current TS ref is not a connector)
723  NT_TIMESYNC_CONNECTOR_STATUS_SIGNAL_LOST, //!< Time sync signal lost (NT and PPS)
724  NT_TIMESYNC_CONNECTOR_STATUS_SIGNAL_PRESENT, //!< Time sync signal present (NT and PPS)
725 };
726 
727 /**
728  * Time sync in-sync status
729  *
730  * This is set according to the configured parameters
731  * TimeSyncOSInSyncLimit, TimeSyncPTPInSyncLimit,
732  * TimeSyncPPSInSyncLimit and TimeSyncNTTSInSyncLimit
733  */
735  NT_TIMESYNC_INSYNC_STATUS_NONE = 0, //!< Time sync in-sync status not applicable. Have recently lost the reference signal and no new measurements done yet or reference is FreeRun.
736  NT_TIMESYNC_INSYNC_STATUS_IN_SYNC, //!< Time sync in-sync status is in-sync.
737  NT_TIMESYNC_INSYNC_STATUS_NOT_IN_SYNC //!< Time sync in-sync status is not in-sync.
738 };
739 
740 /**
741  * Time sync PPS status
742  */
744  NT_TIMESYNC_PPS_STATUS_NONE = 0, //!< PPS clock synchronization status invalid
745  NT_TIMESYNC_PPS_STATUS_ENABLED = 0x01, //!< PPS clock synchronization status enabled by app
746  NT_TIMESYNC_PPS_STATUS_DISABLED = 0x02, //!< //!< PPS clock synchronization status disabled
747 };
748 
749 /**
750  * Time sync reference priority
751  */
753  NT_TIMESYNC_REFERENCE_INVALID = 0, //!< Time Sync reference undetermined. Set initially or when in a transition state from one reference to another.
754  NT_TIMESYNC_REFERENCE_FREE_RUN = 1, //!< Time Sync reference id for free running
755  NT_TIMESYNC_REFERENCE_PTP = 2, //!< Time Sync reference id for PTP
756  NT_TIMESYNC_REFERENCE_INT1 = 3, //!< Time Sync reference id for connector internal 1
757  NT_TIMESYNC_REFERENCE_INT2 = 4, //!< Time Sync reference id for connector internal 2
758  NT_TIMESYNC_REFERENCE_EXT1 = 5, //!< Time Sync reference id for connector external 1
759  NT_TIMESYNC_REFERENCE_OSTIME = 6, //!< Time Sync reference id for OS Time
760 };
761 
763 
764 /**
765  * Time sync frequency reference priority
766  */
768  NT_TIMESYNC_FREQ_REFERENCE_INVALID = 0, //!< Time Sync frequency reference id invalid
769  NT_TIMESYNC_FREQ_REFERENCE_FREE_RUN = 1, //!< Time Sync frequency reference id for free running oscillator
770  NT_TIMESYNC_FREQ_REFERENCE_SYNC_E = 2, //!< Time Sync frequency reference id for PTP port Rx recovered clock (SyncE)
771 };
772 
773 /**
774  * Time sync sampling source identifier
775  */
777  NT_TIMESYNC_SAMPLING_EXT1 = 0, //!< Sampling source is External1 connector
778  NT_TIMESYNC_SAMPLING_INT1 = 1, //!< Sampling source is Internal1 connector
779  NT_TIMESYNC_SAMPLING_INT2 = 2, //!< Sampling source is Internal2 connector
780  /* 3,4,5 - for future use */
781  NT_TIMESYNC_SAMPLING_PTP = 6, //!< Sampling source is PTP clock PPS output.
784 };
785 
786 /**
787  * Time sync sampling source status
788  */
790  NT_TIMESYNC_SAMPLING_STATUS_INVALID = 0, //!< Time sync sampling source status unused
791  NT_TIMESYNC_SAMPLING_STATUS_NOT_PRESENT = 1, //!< Time sync sampling source status not present (no signal/undefined)
792  NT_TIMESYNC_SAMPLING_STATUS_PRESENT = 2 //!< Time sync sampling source status present
793 };
794 
795 
796 
797 /**
798  * IEEE 1588 PTP port state identifier
799  */
801  NT_PTP_PORT_STATE_NA = 0, //!< Invalid
802  NT_PTP_PORT_STATE_INIT = 1, //!< Initializing
803  NT_PTP_PORT_STATE_FAULTY = 2, //!< Faulty
804  NT_PTP_PORT_STATE_DISABLED = 3, //!< Disabled
805  NT_PTP_PORT_STATE_LISTENING = 4, //!< Listening
806  NT_PTP_PORT_STATE_PRE_MASTER = 5, //!< Pre Master
807  NT_PTP_PORT_STATE_MASTER = 6, //!< Master
808  NT_PTP_PORT_STATE_PASSIVE = 7, //!< Passive
809  NT_PTP_PORT_STATE_UNCALIBRATED = 8, //!< Uncalibrated
810  NT_PTP_PORT_STATE_SLAVE = 9, //!< Slave
811  NT_PTP_PORT_STATE_INACTIVE = 127, //!< PTP protocol engine inactive
812 };
813 
814 
815 /**
816  * Sensor types
817  */
820  NT_SENSOR_TYPE_TEMPERATURE = 1, //!< Unit: 0.1 degree Celsius
821  NT_SENSOR_TYPE_VOLTAGE = 2, //!< Unit: 1 mV
822  NT_SENSOR_TYPE_CURRENT = 3, //!< Unit: 1 uA
823  NT_SENSOR_TYPE_POWER = 4, //!< Unit: 0.1 uW
824  NT_SENSOR_TYPE_FAN = 5, //!< Unit: 1 RPM (Revolutions Per Minute)
825  NT_SENSOR_TYPE_HIGH_POWER = 6, //!< Unit: 1 mW
827 };
828 
830 
831 /**
832  * Sensor subtypes
833  */
836  NT_SENSOR_SUBTYPE_POWER_OMA, //!< Subtype for NT_SENSOR_TYPE_POWER type on optical modules (optical modulation amplitude measured)
837  NT_SENSOR_SUBTYPE_POWER_AVERAGE, //!< Subtype for NT_SENSOR_TYPE_POWER type on optical modules (average power measured)
838  NT_SENSOR_SUBTYPE_POWER_TOTAL //!< Subtype for NT_SENSOR_TYPE_HIGH_POWER type on adapters (total power consumption)
839 };
840 
842 
843 /**
844  * Sensor source
845  */
847  NT_SENSOR_SOURCE_UNKNOWN = 0x00, //!< Unknown source
848  NT_SENSOR_SOURCE_PORT = 0x01, //!< Sensors located in a port. These are primary sensors - usually NIM temperature. Presence depends on adapter and NIM type.
849  NT_SENSOR_SOURCE_LEVEL1_PORT = 0x02, //!< Level 1 sensors located in a port. These are secondary sensors - usually NIM supply voltage, Tx bias and Rx/Tx optical power. Presence depends on adapter and NIM type.
850 #ifndef DOXYGEN_INTERNAL_ONLY
851  NT_SENSOR_SOURCE_LEVEL2_PORT = 0x04, //!< Level 2 sensors located in a port
852 #endif
853  NT_SENSOR_SOURCE_ADAPTER = 0x08, //!< Sensors mounted on the adapter
854  NT_SENSOR_SOURCE_LEVEL1_ADAPTER = 0x10, //!< Level 1 sensors mounted on the adapter
855 #ifndef DOXYGEN_INTERNAL_ONLY
856  NT_SENSOR_SOURCE_LEVEL2_ADAPTER = 0x20, //!< Level 2 sensors mounted on the adapter
857 #endif
858 };
859 
860 /**
861  * Sensor state
862  */
864  NT_SENSOR_STATE_UNKNOWN = 0, //!< Unknown state
865  NT_SENSOR_STATE_INITIALIZING = 1, //!< The sensor is initializing
866  NT_SENSOR_STATE_NORMAL = 2, //!< Sensor values are within range
867  NT_SENSOR_STATE_ALARM = 3, //!< Sensor values are out of range
868  NT_SENSOR_STATE_NOT_PRESENT = 4 //!< The sensor is not present, for example, SFP without diagnostics
869 };
870 
872 
873 /**
874  * Sensor value
875  */
876 #define NT_SENSOR_NAN (int)0x80000000 //!< Indicates that sensor value or sensor limit is not valid (Not a Number)
877 
878 /**
879  * Master/Slave
880  */
882  NT_BONDING_UNKNOWN, //!< Unknown bonding type
883  NT_BONDING_MASTER, //!< Adapter is master in the bonding
884  NT_BONDING_SLAVE, //!< Adapter is slave in the bonding
885  NT_BONDING_PEER //!< Adapter is bonded, but relationship is symmetric
886 };
887 
888 /**
889  * Maximum name length for streams
890  */
891 #define NT_MAX_STREAM_NAME_LENGTH 20
892 
893 
894 /**
895  * NT20E2 Adapter sensors
896  *
897  * When reading sensors using the @ref InfoStream @ref NtInfoSensor_t
898  * the source must be @ref NtSensorSource_e::NT_SENSOR_SOURCE_ADAPTER to
899  * read the public sensors or @ref NtSensorSource_e::NT_SENSOR_SOURCE_LEVEL1_ADAPTER
900  * to read the Diagnostic sensors.
901  */
903  // Public sensors
904  NT_SENSOR_NT20E2_FPGA, //!< FPGA temperature sensor
905  NT_SENSOR_NT20E2_FAN, //!< FAN speed sensor
906  NT_SENSOR_NT20E2_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor
907  NT_SENSOR_NT20E2_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor
908  NT_SENSOR_NT20E2_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor
909  NT_SENSOR_NT20E2_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor
910 
911  // Diagnostic sensors (Level 1)
912  NT_SENSOR_NT20E2_NT20E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms
913  NT_SENSOR_NT20E2_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
914  NT_SENSOR_NT20E2_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
915  NT_SENSOR_NT20E2_PHY_POWER, //!< PHY power consumption (calculated value) - does not generate alarms
916  NT_SENSOR_NT20E2_SFP_0_POWER, //!< SFP 0 power consumption (calculated value) - does not generate alarms
917  NT_SENSOR_NT20E2_SFP_1_POWER, //!< SFP 1 power consumption (calculated value) - does not generate alarms
918  NT_SENSOR_NT20E2_ADAPTER_MAX, //!< Number of NT20E2 adapter sensors
919 };
920 
921 /**
922  * Generic SFP/SFP+/SFP28 sensors
923  *
924  * These sensors should be used instead of all adapter specific SFP sensors
925  * that have been deprecated..
926  */
933 };
934 
935 /**
936  * Generic QSFP/QSFP+/QSFP28 sensors
937  *
938  * These sensors should be used instead of all adapter specific QSFP sensors
939  * that have been deprecated..
940  */
956 };
957 
958 //!< The following sensors are deprecated - generic types should be used instead
960  // Public sensors
961  NT_SENSOR_NT20E2_NIM, //!< SFP temperature sensor
962 
963  // Diagnostic sensors (Level 1)
964  NT_SENSOR_NT20E2_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms
965  NT_SENSOR_NT20E2_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms
966  NT_SENSOR_NT20E2_TX, //!< SFP TX power sensor - does not generate alarms
967  NT_SENSOR_NT20E2_RX, //!< SFP RX power sensor - does not generate alarms
968  NT_SENSOR_NT20E2_PORT_MAX, //!< Number of NT20E2 port sensors
969 };
970 
971 /**
972  * NT40E2_4 Adapter sensors
973  *
974  * When reading sensors using the @ref InfoStream @ref NtInfoSensor_t
975  * the source must be @ref NtSensorSource_e::NT_SENSOR_SOURCE_ADAPTER to
976  * read the public sensors or @ref NtSensorSource_e::NT_SENSOR_SOURCE_LEVEL1_ADAPTER
977  * to read the Diagnostic sensors.
978  */
980  // Public sensors
981  NT_SENSOR_NT40E2_4_FPGA = NT_SENSOR_NT20E2_FPGA, //!< FPGA temperature sensor
983  NT_SENSOR_NT40E2_4_MAIN_EXAR1_TEMP = NT_SENSOR_NT20E2_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor
984  NT_SENSOR_NT40E2_4_MAIN_EXAR2_TEMP = NT_SENSOR_NT20E2_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor
985  NT_SENSOR_NT40E2_4_FRONT_EXAR_TEMP = NT_SENSOR_NT20E2_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor
986  NT_SENSOR_NT40E2_4_FRONT_TEMP_PBA = NT_SENSOR_NT20E2_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor
987 
988  // Diagnostic sensors (Level 1)
989  NT_SENSOR_NT40E2_4_NT40E2_4_POWER = NT_SENSOR_NT20E2_NT20E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms
990  NT_SENSOR_NT40E2_4_FPGA_POWER = NT_SENSOR_NT20E2_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
991  NT_SENSOR_NT40E2_4_DDR3_POWER = NT_SENSOR_NT20E2_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
992  NT_SENSOR_NT40E2_4_PHY_POWER = NT_SENSOR_NT20E2_PHY_POWER, //!< PHY power consumption (calculated value) - does not generate alarms
993  NT_SENSOR_NT40E2_4_SFP_0_POWER = NT_SENSOR_NT20E2_SFP_0_POWER, //!< SFP 0 power consumption (calculated value) - does not generate alarms
994  NT_SENSOR_NT40E2_4_SFP_1_POWER = NT_SENSOR_NT20E2_SFP_1_POWER, //!< SFP 1 power consumption (calculated value) - does not generate alarms
995  NT_SENSOR_NT40E2_4_ADAPTER_MAX = NT_SENSOR_NT20E2_ADAPTER_MAX, //!< Number of NT40E2_4 adapter sensors
996 };
997 
998 //!< The following sensors are deprecated - generic types should be used instead
1000  // Public sensors
1001  NT_SENSOR_NT40E2_4_NIM = NT_SENSOR_NT20E2_NIM, //!< SFP temperature sensor
1002 
1003  // Diagnostic sensors (Level 1)
1004  NT_SENSOR_NT40E2_4_SUPPLY = NT_SENSOR_NT20E2_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms
1005  NT_SENSOR_NT40E2_4_TX_BIAS = NT_SENSOR_NT20E2_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms
1006  NT_SENSOR_NT40E2_4_TX = NT_SENSOR_NT20E2_TX, //!< SFP TX power sensor - does not generate alarms
1007  NT_SENSOR_NT40E2_4_RX = NT_SENSOR_NT20E2_RX, //!< SFP RX power sensor - does not generate alarms
1008  NT_SENSOR_NT40E2_4_PORT_MAX = NT_SENSOR_NT20E2_PORT_MAX, //!< Number of NT20E2 port sensors
1009 };
1010 
1011 /**
1012  * NT40E2_1 Adapter sensors
1013  *
1014  * When reading sensors using the @ref InfoStream @ref NtInfoSensor_t
1015  * the source must be @ref NtSensorSource_e::NT_SENSOR_SOURCE_ADAPTER to
1016  * read the public sensors or @ref NtSensorSource_e::NT_SENSOR_SOURCE_LEVEL1_ADAPTER
1017  * to read the Diagnostic sensors.
1018  */
1020  // Public sensors
1021  NT_SENSOR_NT40E2_FPGA, //!< FPGA temperature sensor
1022  NT_SENSOR_NT40E2_FAN, //!< FAN speed sensor
1023  NT_SENSOR_NT40E2_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor
1024  NT_SENSOR_NT40E2_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor
1025  NT_SENSOR_NT40E2_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor
1026  NT_SENSOR_NT40E2_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor
1027 
1028  // Diagnostic sensors (Level 1)
1029  NT_SENSOR_NT40E2_NT40E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms
1030  NT_SENSOR_NT40E2_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
1031  NT_SENSOR_NT40E2_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
1032  NT_SENSOR_NT40E2_PHY_POWER, //!< PHY power consumption (calculated value) - does not generate alarms
1033  NT_SENSOR_NT40E2_QSFP_POWER, //!< QSFP power consumption (calculated value) - does not generate alarms
1034  NT_SENSOR_NT40E2_ADAPTER_MAX, //!< Number of NT40E2 adapter sensors
1035 };
1036 
1037 //!< The following sensors are deprecated - generic types should be used instead
1039  // Public sensors
1040  NT_SENSOR_NT40E2_NIM, //!< SFP temperature sensor
1041 
1042  // Diagnostic sensors (Level 1)
1043  NT_SENSOR_NT40E2_SUPPLY, //!< QSFP+ supply voltage sensor
1044  NT_SENSOR_NT40E2_TX_BIAS1, //!< QSFP+ TX bias line 0 current sensor
1045  NT_SENSOR_NT40E2_TX_BIAS2, //!< QSFP+ TX bias line 1 current sensor
1046  NT_SENSOR_NT40E2_TX_BIAS3, //!< QSFP+ TX bias line 2 current sensor
1047  NT_SENSOR_NT40E2_TX_BIAS4, //!< QSFP+ TX bias line 3 current sensor
1048  NT_SENSOR_NT40E2_RX1, //!< QSFP+ RX line 0 power sensor
1049  NT_SENSOR_NT40E2_RX2, //!< QSFP+ RX line 1 power sensor
1050  NT_SENSOR_NT40E2_RX3, //!< QSFP+ RX line 2 power sensor
1051  NT_SENSOR_NT40E2_RX4, //!< QSFP+ RX line 3 power sensor
1052  NT_SENSOR_NT40E2_TX1, //!< QSFP+ TX line 0 power sensor
1053  NT_SENSOR_NT40E2_TX2, //!< QSFP+ TX line 1 power sensor
1054  NT_SENSOR_NT40E2_TX3, //!< QSFP+ TX line 2 power sensor
1055  NT_SENSOR_NT40E2_TX4, //!< QSFP+ TX line 3 power sensor
1056  NT_SENSOR_NT40E2_PORT_MAX, //!< Number of NT40E2 port sensors
1057 };
1058 
1060  // Public sensors
1061  NT_SENSOR_NT20E_FPGA, //!< FPGA temperature sensor (junction temperature)
1062  NT_SENSOR_NT20E_PBA, //!< PCB temperature sensor (PCB temperature)
1063  NT_SENSOR_NT20E_ADAPTER_MAX, //!< Number of NT20E adapter sensors
1064 };
1065 
1067  // Public sensors
1068  NT_SENSOR_NT20E_XFP, //!< XFP temperature sensor
1069 
1070  // Diagnostic sensors (Level 1)
1071  NT_SENSOR_NT20E_TX_BIAS, //!< XFP TX bias current sensor - does not generate alarms
1072  NT_SENSOR_NT20E_TX, //!< XFP TX power sensor - does not generate alarms
1073  NT_SENSOR_NT20E_RX, //!< XFP RX power sensor - does not generate alarms
1074  NT_SENSOR_NT20E_PORT_MAX, //!< Number of NT20E port sensors
1075 };
1076 
1078  // Public sensors
1079  NT_SENSOR_NT4E_FPGA, //!< FPGA temperature sensor (junction temperature)
1080  NT_SENSOR_NT4E_PBA, //!< PCB temperature sensor (PCB temperature)
1081  NT_SENSOR_NT4E_ADAPTER_MAX, //!< Number of NT4E adapter sensors
1082 };
1083 
1084 //!< The following sensors are deprecated - generic types should be used instead
1086  // Public sensors
1087  NT_SENSOR_NT4E_SFP, //!< SFP temperature sensor
1088 
1089  // Diagnostic sensors (Level 1)
1090  NT_SENSOR_NT4E_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms
1091  NT_SENSOR_NT4E_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms
1092  NT_SENSOR_NT4E_TX, //!< SFP TX power sensor - does not generate alarms
1093  NT_SENSOR_NT4E_RX, //!< SFP RX power sensor - does not generate alarms
1094  NT_SENSOR_NT4E_PORT_MAX, //!< Number NT4E of port sensors
1095 };
1096 
1098  // Public sensors
1099  NT_SENSOR_NT4E2_FPGA, //!< FPGA temperature sensor
1100  NT_SENSOR_NT4E2_FAN, //!< FAN speed sensor
1101  NT_SENSOR_NT4E2_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor
1102  NT_SENSOR_NT4E2_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor
1103  NT_SENSOR_NT4E2_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor
1104  NT_SENSOR_NT4E2_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor
1105  NT_SENSOR_NT4E2_FRONT_TEMP_PHY, //!< Front board PHY temperature sensor
1106 
1107  // Diagnostic sensors (Level 1)
1108  NT_SENSOR_NT4E2_NT4E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms
1109  NT_SENSOR_NT4E2_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
1110  NT_SENSOR_NT4E2_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
1111  NT_SENSOR_NT4E2_FRONT_POWER, //!< FRONT power consumption (calculated value) - does not generate alarms
1112  NT_SENSOR_NT4E2_ADAPTER_MAX, //!< Number of NT4E2 adapter sensors
1113 };
1114 
1116  // Public sensors
1117  NT_SENSOR_NT4E2_PTP_FPGA, //!< FPGA temperature sensor
1118  NT_SENSOR_NT4E2_PTP_FAN, //!< FAN speed sensor
1119  NT_SENSOR_NT4E2_PTP_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor
1120  NT_SENSOR_NT4E2_PTP_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor
1121  NT_SENSOR_NT4E2_PTP_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor
1122  NT_SENSOR_NT4E2_PTP_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor
1123 
1124  // Diagnostic sensors (Level 1)
1125  NT_SENSOR_NT4E2_PTP_NT4E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms
1126  NT_SENSOR_NT4E2_PTP_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
1127  NT_SENSOR_NT4E2_PTP_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
1128  NT_SENSOR_NT4E2_PTP_FRONT_POWER, //!< FRONT power consumption (calculated value) - does not generate alarms
1129  NT_SENSOR_NT4E2_PTP_SFP_0_POWER, //!< SFP 0 power consumption (calculated value) - does not generate alarms
1130  NT_SENSOR_NT4E2_PTP_SFP_1_POWER, //!< SFP 1 power consumption (calculated value) - does not generate alarms
1131  NT_SENSOR_NT4E2_PTP_ADAPTER_MAX, //!< Number of NT4E2 adapter sensors
1132 };
1133 
1134 //!< The following sensors are deprecated - generic types should be used instead
1136  // Public sensors
1137  NT_SENSOR_NT4E2_PTP_SFP, //!< SFP temperature sensor
1138 
1139  // Diagnostic sensors (Level 1)
1140  NT_SENSOR_NT4E2_PTP_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms
1141  NT_SENSOR_NT4E2_PTP_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms
1142  NT_SENSOR_NT4E2_PTP_TX, //!< SFP TX power sensor - does not generate alarms
1143  NT_SENSOR_NT4E2_PTP_RX, //!< SFP RX power sensor - does not generate alarms
1144  NT_SENSOR_NT4E2_PTP_PORT_MAX, //!< Number NT4E of port sensors
1145 };
1146 
1148  // Public sensors (Level 0)
1149  NT_SENSOR_NT40E3_4_FPGA_TEMP, //!< FPGA temperature sensor
1150  NT_SENSOR_NT40E3_4_FAN_SPEED, //!< FAN speed sensor
1151  NT_SENSOR_NT40E3_4_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1152  NT_SENSOR_NT40E3_4_PSU0_TEMP, //!< Power supply 0 temperature sensor
1153  NT_SENSOR_NT40E3_4_PSU1_TEMP, //!< Power supply 1 temperature sensor
1154  NT_SENSOR_NT40E3_4_OSC_TEMP, //!< Clock oscillator temperature sensor
1155  NT_SENSOR_NT40E3_4_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure
1156  NT_SENSOR_NT40E3_4_PCB_TEMP, //!< PCB temperature sensor
1157 
1158  // Diagnostic sensors (Level 1)
1159  NT_SENSOR_NT40E3_4_NT40E3_4_POWER, //!< Total power consumption (calculated value) - does not generate alarms
1160  NT_SENSOR_NT40E3_4_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
1161  NT_SENSOR_NT40E3_4_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
1162  NT_SENSOR_NT40E3_4_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms
1163 
1164  NT_SENSOR_NT40E3_4_L1_MAX, //!< Number of NT40E3P4 level 0,1 board sensors
1166 
1167 //!< The following sensors are deprecated - generic types should be used instead
1169  // Public sensors
1170  NT_SENSOR_NT40E3_4_NIM, //!< SFP temperature sensor
1171 
1172  // Diagnostic sensors (Level 1)
1173  NT_SENSOR_NT40E3_4_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms
1174  NT_SENSOR_NT40E3_4_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms
1175  NT_SENSOR_NT40E3_4_TX, //!< SFP TX power sensor - does not generate alarms
1176  NT_SENSOR_NT40E3_4_RX, //!< SFP RX power sensor - does not generate alarms
1177  NT_SENSOR_NT40E3_4_PORT_MAX, //!< Number of NT40E3P4 port sensors
1179 
1181  // Public sensors (Level 0)
1184  NT_SENSOR_NT20E3_2_MCU_TEMP = NT_SENSOR_NT40E3_4_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1185  NT_SENSOR_NT20E3_2_PSU0_TEMP = NT_SENSOR_NT40E3_4_PSU0_TEMP, //!< Power supply 0 temperature sensor
1186  NT_SENSOR_NT20E3_2_PSU1_TEMP = NT_SENSOR_NT40E3_4_PSU1_TEMP, //!< Power supply 1 temperature sensor
1187  NT_SENSOR_NT20E3_2_OSC_TEMP = NT_SENSOR_NT40E3_4_OSC_TEMP, //!< Clock oscillator temperature sensor
1188  NT_SENSOR_NT20E3_2_EXT_TEMP = NT_SENSOR_NT40E3_4_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure
1190 
1191  // Diagnostic sensors (Level 1)
1192  NT_SENSOR_NT20E3_2_NT20E3_2_POWER = NT_SENSOR_NT40E3_4_NT40E3_4_POWER, //!< Total power consumption (calculated value) - does not generate alarms
1193  NT_SENSOR_NT20E3_2_FPGA_POWER = NT_SENSOR_NT40E3_4_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
1194  NT_SENSOR_NT20E3_2_DDR3_POWER = NT_SENSOR_NT40E3_4_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
1195  NT_SENSOR_NT20E3_2_NIM_POWER = NT_SENSOR_NT40E3_4_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms
1196 
1197  NT_SENSOR_NT20E3_2_L1_MAX = NT_SENSOR_NT40E3_4_L1_MAX, //!< Number of NT40E3P4 level 0,1 board sensors
1199 
1200 //!< The following sensors are deprecated - generic types should be used instead
1202  // Public sensors
1203  NT_SENSOR_NT20E3_2_NIM = NT_SENSOR_NT40E3_4_NIM, //!< SFP temperature sensor
1204 
1205  // Diagnostic sensors (Level 1)
1206  NT_SENSOR_NT20E3_2_SUPPLY = NT_SENSOR_NT40E3_4_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms
1207  NT_SENSOR_NT20E3_2_TX_BIAS = NT_SENSOR_NT40E3_4_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms
1208  NT_SENSOR_NT20E3_2_TX = NT_SENSOR_NT40E3_4_TX, //!< SFP TX power sensor - does not generate alarms
1209  NT_SENSOR_NT20E3_2_RX = NT_SENSOR_NT40E3_4_RX, //!< SFP RX power sensor - does not generate alarms
1210  NT_SENSOR_NT20E3_2_PORT_MAX = NT_SENSOR_NT40E3_4_PORT_MAX, //!< Number of NT40E3P4 port sensors
1212 
1214  // Public sensors (Level 0)
1217  NT_SENSOR_NT40A01_4X1_MCU_TEMP = NT_SENSOR_NT40E3_4_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1218  NT_SENSOR_NT40A01_4X1_PSU0_TEMP = NT_SENSOR_NT40E3_4_PSU0_TEMP, //!< Power supply 0 temperature sensor
1219  NT_SENSOR_NT40A01_4X1_PSU1_TEMP = NT_SENSOR_NT40E3_4_PSU1_TEMP, //!< Power supply 1 temperature sensor
1220  NT_SENSOR_NT40A01_4X1_OSC_TEMP = NT_SENSOR_NT40E3_4_OSC_TEMP, //!< Clock oscillator temperature sensor
1221  NT_SENSOR_NT40A01_4X1_EXT_TEMP = NT_SENSOR_NT40E3_4_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure
1223 
1224  // Diagnostic sensors (Level 1)
1225  NT_SENSOR_NT40A01_4X1_NT40A01_4X1_POWER = NT_SENSOR_NT40E3_4_NT40E3_4_POWER, //!< Total power consumption (calculated value) - does not generate alarms
1226  NT_SENSOR_NT40A01_4X1_FPGA_POWER = NT_SENSOR_NT40E3_4_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
1227  NT_SENSOR_NT40A01_4X1_DDR3_POWER = NT_SENSOR_NT40E3_4_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
1228  NT_SENSOR_NT40A01_4X1_NIM_POWER = NT_SENSOR_NT40E3_4_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms
1229 
1230  NT_SENSOR_NT40A01_4X1_L1_MAX = NT_SENSOR_NT40E3_4_L1_MAX, //!< Number of NT40E3P4 level 0,1 board sensors
1232 
1233 //!< The following sensors are deprecated - generic types should be used instead
1235  // Public sensors
1236  NT_SENSOR_NT40A01_4X1_NIM = NT_SENSOR_NT40E3_4_NIM, //!< SFP temperature sensor
1237 
1238  // Diagnostic sensors (Level 1)
1239  NT_SENSOR_NT40A01_4X1_SUPPLY = NT_SENSOR_NT40E3_4_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms
1240  NT_SENSOR_NT40A01_4X1_TX_BIAS = NT_SENSOR_NT40E3_4_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms
1241  NT_SENSOR_NT40A01_4X1_TX = NT_SENSOR_NT40E3_4_TX, //!< SFP TX power sensor - does not generate alarms
1242  NT_SENSOR_NT40A01_4X1_RX = NT_SENSOR_NT40E3_4_RX, //!< SFP RX power sensor - does not generate alarms
1243  NT_SENSOR_NT40A01_4X1_PORT_MAX = NT_SENSOR_NT40E3_4_PORT_MAX, //!< Number of NT40E3P4 port sensors
1245 
1246 // The NT50B01 adapter sensor id's
1248  // Public sensors (Level 0)
1249  NT_SENSOR_NT50B01_FPGA_TEMP, //!< FPGA temperature sensor
1250  NT_SENSOR_NT50B01_FAN_SPEED, //!< FAN speed sensor
1251  NT_SENSOR_NT50B01_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1252  NT_SENSOR_NT50B01_PSU1_TEMP, //!< Power supply 1 temperature sensor
1253  NT_SENSOR_NT50B01_PSU3_TEMP, //!< Power supply 3 temperature sensor
1254  NT_SENSOR_NT50B01_PSU4_TEMP, //!< Power supply 4 temperature sensor
1255  NT_SENSOR_NT50B01_PCB_TEMP, //!< PCB temperature sensor
1256 
1257  // Diagnostic sensors (Level 1)
1258  NT_SENSOR_NT50B01_NT50B01_POWER , //!< Total power consumption (calculated value) - does not generate alarms
1259 
1260  NT_SENSOR_NT50B01_L1_MAX, //!< Number of NT50B01 level 0,1 board sensors
1262 
1263 // The PSU2GA adapter sensor id's
1265  // Public sensors (Level 0)
1266  NT_SENSOR_PSU2GA_FPGA_TEMP = 0U, //!< FPGA temperature sensor
1267  NT_SENSOR_PSU2GA_FAN_SPEED, //!< FAN speed sensor
1268  NT_SENSOR_PSU2GA_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1269  NT_SENSOR_PSU2GA_PSU1_TEMP, //!< Power supply 1 temperature sensor
1270  NT_SENSOR_PSU2GA_PSU3_TEMP, //!< Power supply 3 temperature sensor
1271  NT_SENSOR_PSU2GA_PSU4_TEMP, //!< Power supply 4 temperature sensor
1272  NT_SENSOR_PSU2GA_PCB_TEMP, //!< PCB temperature sensor
1273 
1274  // Diagnostic sensors (Level 1)
1275  NT_SENSOR_PSU2GA_PSU2GA_POWER , //!< Total power consumption (calculated value) - does not generate alarms
1276 
1277  NT_SENSOR_PSU2GA_L1_MAX, //!< Number of PSU2GA level 0,1 board sensors
1279 
1280 //!< The following sensors are deprecated - generic types should be used instead
1281 //The NIM temperature sensor must be the one with the lowest sensorIndex
1282 //(enum value) in order to be shown by the monitoring tool in port mode
1284  // Public sensors
1285  NT_SENSOR_NT50B01_2X25G_NIM, //!< SFP28 temperature sensor
1286 
1287  // Diagnostic sensors (Level 1)
1288  NT_SENSOR_NT50B01_2X25G_SUPPLY, //!< SFP28 supply voltage sensor
1289  NT_SENSOR_NT50B01_2X25G_TX_BIAS, //!< SFP28 TX bias line 0 current sensor
1290  NT_SENSOR_NT50B01_2X25G_RX, //!< SFP28 RX line 0 power sensor
1291  NT_SENSOR_NT50B01_2X25G_TX, //!< SFP28 TX line 0 power sensor
1292  NT_SENSOR_NT50B01_2X25G_PORT_MAX, //!< Number of NT50B01_2X25G port sensors
1293 };
1294 
1296  // Public sensors (Level 0)
1297  NT_SENSOR_NT80E3_FPGA_TEMP, //!< FPGA temperature sensor
1298  NT_SENSOR_NT80E3_PCI_BRIDGE_TEMP, //!< PCI bridge temperature sensor
1299  NT_SENSOR_NT80E3_FAN_SPEED, //!< FAN speed sensor
1300  NT_SENSOR_NT80E3_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1301  NT_SENSOR_NT80E3_PSU0_TEMP, //!< Power supply 0 temperature sensor
1302  NT_SENSOR_NT80E3_PSU1_TEMP, //!< Power supply 1 temperature sensor
1303  NT_SENSOR_NT80E3_PSU2_0_TEMP, //!< Power supply 2, IC0 junction temperature sensor
1304  NT_SENSOR_NT80E3_PSU2_1_TEMP, //!< Power supply 2, IC1 junction temperature sensor
1305  NT_SENSOR_NT80E3_OSC_TEMP, //!< Clock oscillator temperature sensor
1306  NT_SENSOR_NT80E3_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure
1307  NT_SENSOR_NT80E3_PCB_TEMP, //!< PCB temperature sensor
1308 
1309  // Diagnostic sensors (Level 1)
1310  NT_SENSOR_NT80E3_NT80E3_POWER, //!< Total power consumption (calculated value) - does not generate alarms
1311  NT_SENSOR_NT80E3_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
1312  NT_SENSOR_NT80E3_DDR3_POWER, //!< DDR3 RAM9 power consumption (calculated value) - does not generate alarms
1313  NT_SENSOR_NT80E3_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms
1314  NT_SENSOR_NT80E3_PCI_BRIDGE_POWER, //!< PCI bridge power consumption (calculated value) - does not generate alarms
1315 
1316  NT_SENSOR_NT80E3_L1_MAX, //!< Number of NT80E3 level 0,1 board sensors
1318 
1319 //!< The following sensors are deprecated - generic types should be used instead
1320 //The NIM temperature sensor must be the one with the lowest sensorIndex
1321 //(enum value) in order to be shown by the monitoring tool in port mode
1323  // Public sensors
1324  NT_SENSOR_NT80E3_NIM, //!< QSFP+ temperature sensor
1325 
1326  // Diagnostic sensors (Level 1)
1327  NT_SENSOR_NT80E3_SUPPLY, //!< QSFP+ supply voltage sensor
1328  NT_SENSOR_NT80E3_TX_BIAS1, //!< QSFP+ TX bias line 0 current sensor
1329  NT_SENSOR_NT80E3_TX_BIAS2, //!< QSFP+ TX bias line 1 current sensor
1330  NT_SENSOR_NT80E3_TX_BIAS3, //!< QSFP+ TX bias line 2 current sensor
1331  NT_SENSOR_NT80E3_TX_BIAS4, //!< QSFP+ TX bias line 3 current sensor
1332  NT_SENSOR_NT80E3_RX1, //!< QSFP+ RX line 0 power sensor
1333  NT_SENSOR_NT80E3_RX2, //!< QSFP+ RX line 1 power sensor
1334  NT_SENSOR_NT80E3_RX3, //!< QSFP+ RX line 2 power sensor
1335  NT_SENSOR_NT80E3_RX4, //!< QSFP+ RX line 3 power sensor
1336  NT_SENSOR_NT80E3_TX1, //!< QSFP+ TX line 0 power sensor
1337  NT_SENSOR_NT80E3_TX2, //!< QSFP+ TX line 1 power sensor
1338  NT_SENSOR_NT80E3_TX3, //!< QSFP+ TX line 2 power sensor
1339  NT_SENSOR_NT80E3_TX4, //!< QSFP+ TX line 3 power sensor
1340  NT_SENSOR_NT80E3_PORT_MAX, //!< Number of NT80E3 port sensors
1341 };
1342 
1343 // The NT100E3 adapter sensor id's must match the corresponding id's for NT80E3
1345  // Public sensors (Level 0)
1349  NT_SENSOR_NT100E3_MCU_TEMP = NT_SENSOR_NT80E3_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1350  NT_SENSOR_NT100E3_PSU0_TEMP = NT_SENSOR_NT80E3_PSU0_TEMP, //!< Power supply 0 temperature sensor
1351  NT_SENSOR_NT100E3_PSU1_TEMP = NT_SENSOR_NT80E3_PSU1_TEMP, //!< Power supply 1 temperature sensor
1352  NT_SENSOR_NT100E3_PSU2_0_TEMP = NT_SENSOR_NT80E3_PSU2_0_TEMP, //!< Power supply 2, IC0 junction temperature sensor
1353  NT_SENSOR_NT100E3_PSU2_1_TEMP = NT_SENSOR_NT80E3_PSU2_1_TEMP, //!< Power supply 2, IC1 junction temperature sensor
1354  NT_SENSOR_NT100E3_OSC_TEMP = NT_SENSOR_NT80E3_OSC_TEMP, //!< Clock oscillator temperature sensor
1355  NT_SENSOR_NT100E3_EXT_TEMP = NT_SENSOR_NT80E3_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure
1357 
1358  // Diagnostic sensors (Level 1)
1359  NT_SENSOR_NT100E3_NT100E3_POWER = NT_SENSOR_NT80E3_NT80E3_POWER, //!< Total power consumption (calculated value) - does not generate alarms
1360  NT_SENSOR_NT100E3_FPGA_POWER = NT_SENSOR_NT80E3_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms
1361  NT_SENSOR_NT100E3_DDR3_POWER = NT_SENSOR_NT80E3_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms
1362  NT_SENSOR_NT100E3_NIM_POWER = NT_SENSOR_NT80E3_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms
1363  NT_SENSOR_NT100E3_PCI_BRIDGE_POWER = NT_SENSOR_NT80E3_PCI_BRIDGE_POWER, //!< PCI bridge power consumption (calculated value) - does not generate alarms
1364 
1365  NT_SENSOR_NT100E3_L1_MAX, //!< Number of NT100E3 level 0,1 board sensors
1367 
1368 //The NIM temperature sensor must be the one with the lowest sensorIndex
1369 //(enum value) in order to be shown by the monitoring tool in port mode
1371  // Public sensors
1372  NT_SENSOR_NT100E3_NIM, //!< CFP4 temperature sensor
1373  NT_SENSOR_NT100E3_GEARBOX_TEMP, //!< Gearbox temperature sensor
1374 
1375  // Diagnostic sensors (Level 1)
1376  NT_SENSOR_NT100E3_SUPPLY, //!< CFP4 supply voltage sensor - does not generate alarms
1377  NT_SENSOR_NT100E3_TX_BIAS1, //!< CFP4 TX lane 0 bias current sensor
1378  NT_SENSOR_NT100E3_TX_BIAS2, //!< CFP4 TX lane 1 bias current sensor
1379  NT_SENSOR_NT100E3_TX_BIAS3, //!< CFP4 TX lane 2 bias current sensor
1380  NT_SENSOR_NT100E3_TX_BIAS4, //!< CFP4 TX lane 3 bias current sensor
1381  NT_SENSOR_NT100E3_TX1, //!< CFP4 TX lane 0 power sensor
1382  NT_SENSOR_NT100E3_TX2, //!< CFP4 TX lane 1 power sensor
1383  NT_SENSOR_NT100E3_TX3, //!< CFP4 TX lane 2 power sensor
1384  NT_SENSOR_NT100E3_TX4, //!< CFP4 TX lane 3 power sensor
1385  NT_SENSOR_NT100E3_RX1, //!< CFP4 RX lane 0 power sensor
1386  NT_SENSOR_NT100E3_RX2, //!< CFP4 RX lane 1 power sensor
1387  NT_SENSOR_NT100E3_RX3, //!< CFP4 RX lane 2 power sensor
1388  NT_SENSOR_NT100E3_RX4, //!< CFP4 RX lane 3 power sensor
1389 
1390  NT_SENSOR_NT100E3_PORT_MAX, //!< Number of NT100E3 port sensors
1391 };
1392 
1393 // The NT200E3 adapter sensor id's
1395  // Public sensors (Level 0)
1396  NT_SENSOR_NT200E3_FPGA_TEMP, //!< FPGA temperature sensor
1397  NT_SENSOR_NT200E3_FAN_SPEED, //!< FAN speed sensor
1398  NT_SENSOR_NT200E3_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1399  NT_SENSOR_NT200E3_PSU0_TEMP, //!< Power supply 0 temperature sensor
1400  NT_SENSOR_NT200E3_PSU1_TEMP, //!< Power supply 1 temperature sensor
1401  NT_SENSOR_NT200E3_PCB_TEMP, //!< PCB temperature sensor
1402 
1403  // Diagnostic sensors (Level 1)
1404  NT_SENSOR_NT200E3_NT200E3_POWER , //!< Total power consumption (calculated value) - does not generate alarms
1405  NT_SENSOR_NT200E3_FPGA_POWER , //!< FPGA power consumption (calculated value) - does not generate alarms
1406  NT_SENSOR_NT200E3_DDR4_POWER , //!< DDR4 RAM power consumption (calculated value) - does not generate alarms
1407  NT_SENSOR_NT200E3_NIM_POWER , //!< NIM power consumption (calculated value) - does not generate alarms
1408 
1409  NT_SENSOR_NT200E3_L1_MAX, //!< Number of NT200E3 level 0,1 board sensors
1411 
1412 //!< The following sensors are deprecated - generic types should be used instead
1413 //The NIM temperature sensor must be the one with the lowest sensorIndex
1414 //(enum value) in order to be shown by the monitoring tool in port mode
1416  // Public sensors
1417  NT_SENSOR_NT200E3_NIM, //!< QSFP28 temperature sensor
1418 
1419  // Diagnostic sensors (Level 1)
1420  NT_SENSOR_NT200E3_SUPPLY, //!< QSFP28 supply voltage sensor
1421  NT_SENSOR_NT200E3_TX_BIAS1, //!< QSFP28 TX bias line 0 current sensor
1422  NT_SENSOR_NT200E3_TX_BIAS2, //!< QSFP28 TX bias line 1 current sensor
1423  NT_SENSOR_NT200E3_TX_BIAS3, //!< QSFP28 TX bias line 2 current sensor
1424  NT_SENSOR_NT200E3_TX_BIAS4, //!< QSFP28 TX bias line 3 current sensor
1425  NT_SENSOR_NT200E3_RX1, //!< QSFP28 RX line 0 power sensor
1426  NT_SENSOR_NT200E3_RX2, //!< QSFP28 RX line 1 power sensor
1427  NT_SENSOR_NT200E3_RX3, //!< QSFP28 RX line 2 power sensor
1428  NT_SENSOR_NT200E3_RX4, //!< QSFP28 RX line 3 power sensor
1429  NT_SENSOR_NT200E3_TX1, //!< QSFP28 TX line 0 power sensor
1430  NT_SENSOR_NT200E3_TX2, //!< QSFP28 TX line 1 power sensor
1431  NT_SENSOR_NT200E3_TX3, //!< QSFP28 TX line 2 power sensor
1432  NT_SENSOR_NT200E3_TX4, //!< QSFP28 TX line 3 power sensor
1433  NT_SENSOR_NT200E3_PORT_MAX, //!< Number of NT200E3 port sensors
1434 };
1435 
1436 // The NT200A01 adapter sensor id's
1438  // Public sensors (Level 0)
1439  NT_SENSOR_NT200A01_FPGA_TEMP, //!< FPGA temperature sensor
1440  NT_SENSOR_NT200A01_FAN_SPEED, //!< FAN speed sensor
1441  NT_SENSOR_NT200A01_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1442  NT_SENSOR_NT200A01_PSU0_TEMP, //!< Power supply 0 temperature sensor
1443  NT_SENSOR_NT200A01_PCB_TEMP, //!< PCB temperature sensor
1444 
1445  // Diagnostic sensors (Level 1)
1446  NT_SENSOR_NT200A01_NT200A01_POWER , //!< Total power consumption (calculated value) - does not generate alarms
1447  NT_SENSOR_NT200A01_FPGA_POWER , //!< FPGA power consumption (calculated value) - does not generate alarms
1448  NT_SENSOR_NT200A01_DDR4_POWER , //!< DDR4 RAM power consumption (calculated value) - does not generate alarms
1449  NT_SENSOR_NT200A01_NIM_POWER , //!< NIM power consumption (calculated value) - does not generate alarms
1450 
1451  NT_SENSOR_NT200A01_L1_MAX, //!< Number of NT200A01 level 0,1 board sensors
1453 
1454 //!< The following sensors are deprecated - generic types should be used instead
1455 //The NIM temperature sensor must be the one with the lowest sensorIndex
1456 //(enum value) in order to be shown by the monitoring tool in port mode
1458  // Public sensors
1459  NT_SENSOR_NT200A01_NIM, //!< QSFP28 temperature sensor
1460 
1461  // Diagnostic sensors (Level 1)
1462  NT_SENSOR_NT200A01_SUPPLY, //!< QSFP28 supply voltage sensor
1463  NT_SENSOR_NT200A01_TX_BIAS1, //!< QSFP28 TX bias line 0 current sensor
1464  NT_SENSOR_NT200A01_TX_BIAS2, //!< QSFP28 TX bias line 1 current sensor
1465  NT_SENSOR_NT200A01_TX_BIAS3, //!< QSFP28 TX bias line 2 current sensor
1466  NT_SENSOR_NT200A01_TX_BIAS4, //!< QSFP28 TX bias line 3 current sensor
1467  NT_SENSOR_NT200A01_RX1, //!< QSFP28 RX line 0 power sensor
1468  NT_SENSOR_NT200A01_RX2, //!< QSFP28 RX line 1 power sensor
1469  NT_SENSOR_NT200A01_RX3, //!< QSFP28 RX line 2 power sensor
1470  NT_SENSOR_NT200A01_RX4, //!< QSFP28 RX line 3 power sensor
1471  NT_SENSOR_NT200A01_TX1, //!< QSFP28 TX line 0 power sensor
1472  NT_SENSOR_NT200A01_TX2, //!< QSFP28 TX line 1 power sensor
1473  NT_SENSOR_NT200A01_TX3, //!< QSFP28 TX line 2 power sensor
1474  NT_SENSOR_NT200A01_TX4, //!< QSFP28 TX line 3 power sensor
1475  NT_SENSOR_NT200A01_PORT_MAX, //!< Number of NT200A01 port sensors
1476 };
1477 
1478 //!< The following sensors are deprecated - generic types should be used instead
1480  // Public sensors
1481  NT_SENSOR_NT200A01_2X25G_NIM, //!< SFP28 temperature sensor
1482 
1483  // Diagnostic sensors (Level 1)
1484  NT_SENSOR_NT200A01_2X25G_SUPPLY, //!< SFP28 supply voltage sensor
1485  NT_SENSOR_NT200A01_2X25G_TX_BIAS, //!< SFP28 TX bias line 0 current sensor
1486  NT_SENSOR_NT200A01_2X25G_RX, //!< SFP28 RX line 0 power sensor
1487  NT_SENSOR_NT200A01_2X25G_TX, //!< SFP28 TX line 0 power sensor
1488  NT_SENSOR_NT200A01_2X25G_PORT_MAX, //!< Number of NT200A01_2X25G port sensors
1489 };
1490 
1491 
1492 
1493 // The NT200A02 adapter sensor id's
1495  // Public sensors (Level 0)
1496  NT_SENSOR_NT200A02_FPGA_TEMP, //!< FPGA temperature sensor
1497  NT_SENSOR_NT200A02_FAN_SPEED, //!< FAN speed sensor
1498  NT_SENSOR_NT200A02_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1499  NT_SENSOR_NT200A02_PSU0_TEMP, //!< Power supply 0 temperature sensor
1500  NT_SENSOR_NT200A02_PSU1_TEMP, //!< Power supply 1 temperature sensor
1501  NT_SENSOR_NT200A02_PCB_TEMP, //!< PCB temperature sensor
1502 
1503  // Diagnostic sensors (Level 1)
1504  NT_SENSOR_NT200A02_NT200A02_POWER , //!< Total power consumption (calculated value) - does not generate alarms
1505  NT_SENSOR_NT200A02_FPGA_POWER , //!< FPGA power consumption (calculated value) - does not generate alarms
1506  NT_SENSOR_NT200A02_DDR4_POWER , //!< DDR4 RAM power consumption (calculated value) - does not generate alarms
1507  NT_SENSOR_NT200A02_NIM_POWER , //!< NIM power consumption (calculated value) - does not generate alarms
1508 
1509  NT_SENSOR_NT200A02_L1_MAX, //!< Number of NT200A01 level 0,1 board sensors
1511 
1512 //!< The following sensors are deprecated - generic types should be used instead
1513 //The NIM temperature sensor must be the one with the lowest sensorIndex
1514 //(enum value) in order to be shown by the monitoring tool in port mode
1516  // Public sensors
1517  NT_SENSOR_NT200A02_NIM, //!< QSFP28 temperature sensor
1518 
1519  // Diagnostic sensors (Level 1)
1520  NT_SENSOR_NT200A02_SUPPLY, //!< QSFP28 supply voltage sensor
1521  NT_SENSOR_NT200A02_TX_BIAS1, //!< QSFP28 TX bias line 0 current sensor
1522  NT_SENSOR_NT200A02_TX_BIAS2, //!< QSFP28 TX bias line 1 current sensor
1523  NT_SENSOR_NT200A02_TX_BIAS3, //!< QSFP28 TX bias line 2 current sensor
1524  NT_SENSOR_NT200A02_TX_BIAS4, //!< QSFP28 TX bias line 3 current sensor
1525  NT_SENSOR_NT200A02_RX1, //!< QSFP28 RX line 0 power sensor
1526  NT_SENSOR_NT200A02_RX2, //!< QSFP28 RX line 1 power sensor
1527  NT_SENSOR_NT200A02_RX3, //!< QSFP28 RX line 2 power sensor
1528  NT_SENSOR_NT200A02_RX4, //!< QSFP28 RX line 3 power sensor
1529  NT_SENSOR_NT200A02_TX1, //!< QSFP28 TX line 0 power sensor
1530  NT_SENSOR_NT200A02_TX2, //!< QSFP28 TX line 1 power sensor
1531  NT_SENSOR_NT200A02_TX3, //!< QSFP28 TX line 2 power sensor
1532  NT_SENSOR_NT200A02_TX4, //!< QSFP28 TX line 3 power sensor
1533  NT_SENSOR_NT200A02_PORT_MAX, //!< Number of NT200A02 port sensors
1534 };
1535 
1536 // The NT40E3_AFU adapter sensor id's
1538  // Public sensors (Level 0)
1539  NT_SENSOR_NT40E3_AFU_FPGA_TEMP, //!< FPGA temperature sensor
1540 
1541  // Diagnostic sensors (Level 1)
1542  NT_SENSOR_NT40E3_AFU_POWER , //!< Total power consumption (calculated value) - does not generate alarms
1543 
1544  NT_SENSOR_NT40E3_AFU_L1_MAX, //!< Number of NT200E3 level 0,1 board sensors
1546 
1547 
1548 // The NT400D<11 adapter sensor id's
1550  // Public sensors (Level 0)
1551  //NT_SENSOR_NT400D11_FPGA_TEMP, //!< FPGA temperature sensor
1552  NT_SENSOR_NT400D11_TEMP2_TEMP_CORE_FABRIC, //!< FPGA temperature sensor 2 = NT_SENSOR_NT400D11_FPGA_TEMP
1553  NT_SENSOR_NT400D11_FAN_SPEED, //!< FAN speed sensor
1554  NT_SENSOR_NT400D11_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN
1555  NT_SENSOR_NT400D11_PSU1_TEMP, //!< Power supply 1 temperature sensor
1556  NT_SENSOR_NT400D11_PSU2_TEMP, //!< Power supply 2 temperature sensor
1557  NT_SENSOR_NT400D11_PSU3_TEMP, //!< Power supply 3 temperature sensor
1558  NT_SENSOR_NT400D11_PSU5_TEMP, //!< Power supply 5 temperature sensor
1559  NT_SENSOR_NT400D11_L1_MAX, //!< Number of NT400D11 level 0,1 board sensors
1561 
1562 
1563 
1564 typedef enum NtPTPProfile_e {
1565  NT_PTP_PROFILE_DEFAULT = 0, //!< PTP Default E2E Profile according to IEEE1588-2008
1566  NT_PTP_PROFILE_TELECOM, //!< PTP Telecom Profile (ITU G.8265.1)
1567  NT_PTP_PROFILE_POWER, //!< PTP Power Profile (IEEE C37.238)
1568  NT_PTP_PROFILE_ENTERPRISE, //!< PTP Enterprise Profile
1569  NT_PTP_PROFILE_G8275_1, //!< PTP (ITU G.8275.1)
1571 } NtPTPProfile_t;
1572 
1573 /**
1574  * Host loopback position.\n
1575  * The available loopback positions are adapter dependent and undocumented but
1576  * for each adapter a default host loopback position has been defined.
1577  * Therefore only the following values should be used.
1578  */
1579 typedef enum NtHostLoopback_e {
1580  NT_HOST_LOOPBACK_NONE = 0, //!< No host loopback
1581  NT_HOST_LOOPBACK_DEFAULT = INT_MAX, //!< Default host loopback.
1583 
1584 /**
1585  * Line loopback position.\n
1586  * The available loopback positions are adapter dependent and undocumented but
1587  * for each adapter a default line loopback position has been defined.
1588  * Therefore only the following values should be used.
1589  */
1590 typedef enum NtLineLoopback_e {
1591  NT_LINE_LOOPBACK_NONE = 0, //!< No line loopback
1592  NT_LINE_LOOPBACK_DEFAULT = INT_MAX, //!< Default line loopback.
1594 
1595 /**
1596  * Stream-id state.
1597  * When a stream-id is in the active state traffic is forwarded to the stream-id by the adapter
1598  * When a stream-id is in the inactive state traffic is discarded by the adapter
1599  */
1601  NT_STREAM_ID_STATE_UNKNOWN, //!< Unknown stream-id state
1602  NT_STREAM_ID_STATE_ACTIVE, //!< Traffic is forwarded to the stream-id
1603  NT_STREAM_ID_STATE_INACTIVE, //!< Traffic is dropped
1604 };
1605 
1606 /**
1607  * Feature level.
1608  * The feature level supported by the adapter/FPGA
1609  */
1611  NT_FEATURE_LEVEL_UNKNOWN = 0x0000, //!< Unknown feature level
1612  NT_FEATURE_LEVEL_S_CAP2 = 0x1002, //!< Capture level 2 for standard adapter
1613  NT_FEATURE_LEVEL_N_CAP12 = 0x000C, //!< Capture level 12
1614  NT_FEATURE_LEVEL_N_CAP12A = 0x200C, //!< Capture level 12A
1615  NT_FEATURE_LEVEL_N_CAP13 = 0x000D, //!< Capture level 13
1616  NT_FEATURE_LEVEL_N_CAP14 = 0x000E, //!< Capture level 14
1617  NT_FEATURE_LEVEL_N_CAP15 = 0x000F, //!< Capture level 15
1618  NT_FEATURE_LEVEL_N_CAP16 = 0x0010, //!< Capture level 16
1619  NT_FEATURE_LEVEL_S_INL2 = 0x9002, //!< In-line level 2 for standard adapter
1620  NT_FEATURE_LEVEL_N_INL4 = 0x8004, //!< In-line level 4
1621  NT_FEATURE_LEVEL_N_INL4A = 0xA004, //!< In-line level 4A
1622  NT_FEATURE_LEVEL_N_INL5 = 0x8005, //!< In-line level 5
1623  NT_FEATURE_LEVEL_N_INL6 = 0x8006, //!< In-line level 6
1624  NT_FEATURE_LEVEL_N_INL7 = 0x8007, //!< In-line level 7
1625  NT_FEATURE_LEVEL_N_INL8 = 0x8008, //!< In-line level 8
1626  NT_FEATURE_LEVEL_N_ANL1 = 0x4001, //!< Analyser level 1
1627  NT_FEATURE_LEVEL_N_ANL2 = 0x4002, //!< Analyser level 2
1628  NT_FEATURE_LEVEL_N_ANL3 = 0x4003, //!< Analyser level 3
1629  NT_FEATURE_LEVEL_N_ANL3A = 0xA003, //!< Analyser level 3A
1630  NT_FEATURE_LEVEL_N_ANL4 = 0x4004, //!< Analyser level 4
1631  NT_FEATURE_LEVEL_N_ANL5 = 0x4005, //!< Analyser level 5
1632  NT_FEATURE_LEVEL_N_ANL6 = 0x4006, //!< Analyser level 6
1633  NT_FEATURE_LEVEL_N_ANL7 = 0x4007, //!< Analyser level 7
1634  NT_FEATURE_LEVEL_N_ANL8 = 0x4008, //!< Analyser level 8
1635  NT_FEATURE_LEVEL_N_ANL9 = 0x4009, //!< Analyser level 9
1636  NT_FEATURE_LEVEL_N_ANL10 = 0x400A, //!< Analyser level 10
1637  NT_FEATURE_LEVEL_N_ANL11 = 0x400B, //!< Analyser level 11
1638  NT_FEATURE_LEVEL_N_ANL12 = 0x400C, //!< Analyser level 12
1639  NT_FEATURE_LEVEL_N_ANL13 = 0x400D, //!< Analyser level 13
1640 };
1641 
1642 
1643 #endif //__COMMONTYPES_H__