commontypes.h

Reference Documentation

product_line_custom
Napatech SmartNIC
category
Reference Information

Go to the documentation of this file.

1/* 2 * %NT_SOFTWARE_LICENSE% 3 */ 4 5/** 6 * @file 7 * This file contains the Common types that can be used by any interface 8 */ 9 10#ifndef __COMMONTYPES_H__ 11#define __COMMONTYPES_H__ 12 13#include <limits.h> 14#include <stdint.h> 15 16#ifndef _MSC_VER 17#include <stdbool.h> 18#else 19 20#ifndef __cplusplus 21 22/* 23 * In Visual C++ 5.0 and later, bool is implemented as a built-in type with a 24 * size of 1 byte hence the C version should have same size. Use unsigned char 25 * as MSVC does not provide _Bool. 26 */ 27typedef unsigned char bool; 28#define true 1 29#define false 0 30 31#endif 32 33#define __bool_true_false_are_defined 1 34 35#endif // _MSC_VER 36 37/** 38 * Define cross-platform NT_INLINE keyword for static inline functions 39 */ 40#ifndef NT_INLINE 41#ifdef _MSC_VER 42#define NT_INLINE __forceinline 43#else 44#define NT_INLINE inline 45#endif 46#endif 47 48/** 49 * Timestamp type. 50 */ 51enum NtTimestampType_e { 52 NT_TIMESTAMP_TYPE_NATIVE = 0, //!< 64-bit 10 ns resolution timer from a base of 0 53 NT_TIMESTAMP_TYPE_NATIVE_NDIS, //!< 64-bit 10 ns resolution timer from a base of January 1, 1601 54 NT_TIMESTAMP_TYPE_NATIVE_UNIX, //!< 64-bit 10 ns resolution timer from a base of January 1, 1970 55#ifndef DOXYGEN_INTERNAL_ONLY 56 NT_TIMESTAMP_TYPE_NDIS, //!< Depreciated 57#endif 58 /** 59 * PCAP only supported for Rx, thus no in-line adapter support for these time stamps. 60 */ 61 NT_TIMESTAMP_TYPE_PCAP, //!< 32-bit seconds and 32-bit usecs from a base of January 1, 1970 62 NT_TIMESTAMP_TYPE_PCAP_NANOTIME, //!< 32-bit seconds and 32-bit nsecs from a base of January 1, 1970 63 NT_TIMESTAMP_TYPE_UNIX_NANOTIME, //!< 64-bit 1 ns resolution timer from a base of January 1, 1970 64}; 65 66 67/** 68 * Time stamp method 69 */ 70enum NtTimestampMethod_e { 71 NT_TIMESTAMP_METHOD_UNKNOWN = 0, //!< Time stamp method unknown 72 NT_TIMESTAMP_METHOD_SOF, //!< Time stamp at start of frame 73 NT_TIMESTAMP_METHOD_EOF //!< Time stamp at end of frame 74}; 75 76/** 77 * Time stamp inject offset 78 */ 79enum NtTimestampInjectOffsetMode_e { 80 NT_TIMESTAMP_INJECT_OFFSET_UNKNOWN = 0, //!< Time stamp inject offset mode unknown 81 NT_TIMESTAMP_INJECT_OFFSET_UNSUPPORTED, //!< Time stamp inject offset mode is unsupported 82 NT_TIMESTAMP_INJECT_OFFSET_SOF, //!< Time stamp inject offset calculated from start of frame 83 NT_TIMESTAMP_INJECT_OFFSET_EOF //!< Time stamp inject offset calculated from end of frame 84}; 85 86/** 87 * Relative TX timing method 88 */ 89enum NtTxTimingMethod_e { 90 NT_TX_TIMING_UNSUPPORTED = 0, //!< Changing TX timing is unsupported 91 NT_TX_TIMING_ABSOLUTE, //!< TX is made absolute (time stamp based) 92 NT_TX_TIMING_RELATIVE, //!< TX is made relative (IFG based) 93}; 94 95/** 96 * WIS Mode bit mask 97 */ 98enum NtWISMode_e { 99 NT_WIS_MODE_DISABLED = 0x00, //!< OC-192 WIS mode HW Support but disabled 100 NT_WIS_MODE_ENABLED = 0x01, //!< OC-192 WIS mode enabled 101}; 102 103enum NtHighFrequencySampling_e { 104 NT_HIGH_FREQUENCY_SAMPLING_DISABLE = 0, //!< High frequency sampling not used 105 NT_HIGH_FREQUENCY_SAMPLING_ENABLE, //!< High frequency sampling activated 106}; 107 108enum NtOsTimeSyncFailover_e { 109 NT_OS_TIMESYNC_FAILOVER_DISABLE = 0, //!< OS Timesync failover disabled 110 NT_OS_TIMESYNC_FAILOVER_ENABLE, //!< OS Timesync failover enabled 111}; 112 113/** 114 * Host buffer types. 115 * Used to select between RX or TX host buffers. 116 */ 117enum NtNetHostBufferType_e { 118 NT_NET_HOSTBUFFER_TYPE_UNKNOWN=0, //!< Host buffer type is unknown 119 NT_NET_HOSTBUFFER_TYPE_RX, //!< Host buffer type is RX (ntservice.ini file tag: HostBufferRx) 120 NT_NET_HOSTBUFFER_TYPE_TX, //!< Host buffer type is TX (ntservice.ini file tag: HostBufferTx) 121}; 122 123/** 124 * Host buffer layout 125 * Defined how the host buffer layout is defined 126 */ 127enum NtNetHostBufferLayout_e { 128 NT_NET_HOSTBUFFER_LAYOUT_UNKNOWN=0, //!< Unknown host buffer layout 129 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. 130 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. 131}; 132 133/** 134 * The stream types supported. 135 */ 136enum NtMsgEndpoint_e { 137 NT_MSG_ENDPOINT_UNKNOWN=0, //!< Unknown stream type 138 NT_MSG_ENDPOINT_NET_STREAM, //!< Network stream 139 NT_MSG_ENDPOINT_CONFIG_STREAM, //!< Configuration stream 140 NT_MSG_ENDPOINT_STAT_STREAM, //!< Statistics stream 141 NT_MSG_ENDPOINT_EVENT_STREAM, //!< Event stream 142 NT_MSG_ENDPOINT_INFO_STREAM, //!< Info stream 143 NT_MSG_ENDPOINT_SYSTEM_STREAM, //!< System-wide stream. @note This is vital and is automatically created in NT_Init() and must 144 //!< only be created once per process. The reason is that when it closes we expect the process is 145 //!< terminated and will perform system-wide cleanup for all resourced linked to that process. 146 NT_MSG_ENDPOINT_NET_CMD, //!< Network stream related command endpoint 147}; 148 149/** 150 * Adapter types 151 */ 152enum NtAdapterType_e { 153 NT_ADAPTER_TYPE_UNKNOWN=0, //!< Unknown adapter type 154 NT_ADAPTER_TYPE_NT4E, //!< NT4E network adapter 155 NT_ADAPTER_TYPE_NT20E, //!< NT20E network adapter 156 NT_ADAPTER_TYPE_NT4E_STD, //!< NT4E-STD network adapter 157 NT_ADAPTER_TYPE_NT4E_PORT, //!< NTPORT4E expansion adapter 158 NT_ADAPTER_TYPE_NTBPE, //!< NTBPE bypass adapter 159 NT_ADAPTER_TYPE_NT20E2, //!< NT20E2 network adapter 160 NT_ADAPTER_TYPE_RESERVED1, //!< Reserved 161 NT_ADAPTER_TYPE_RESERVED2, //!< Reserved 162 NT_ADAPTER_TYPE_NT40E2_1, //!< NT40E2-1 network adapter 163 NT_ADAPTER_TYPE_NT40E2_4, //!< NT40E2-4 network adapter 164 NT_ADAPTER_TYPE_NT4E2_4T_BP, //!< NT4E2-4T-BP bypass network adapter 165 NT_ADAPTER_TYPE_NT4E2_4_PTP, //!< NT4E2-4 PTP network adapter with IEEE1588 166 NT_ADAPTER_TYPE_NT20E2_PTP, //!< NT20E2 PTP network adapter with IEEE1588 167 NT_ADAPTER_TYPE_NT40E3_4_PTP, //!< NT40E3 network adapter with IEEE1588 168 NT_ADAPTER_TYPE_NT100E3_1_PTP, //!< NT100E3 network adapter with IEEE1588 169 NT_ADAPTER_TYPE_NT20E3_2_PTP, //!< NT20E3 network adapter with IEEE1588 170 NT_ADAPTER_TYPE_NT80E3_2_PTP, //!< NT80E3 network adapter with IEEE1588 171 NT_ADAPTER_TYPE_NT200E3_2, //!< NT200E3 network adapter 172 NT_ADAPTER_TYPE_NT200A01, //!< NT200A01 network adapter 173 NT_ADAPTER_TYPE_NT200A01_2X100 = NT_ADAPTER_TYPE_NT200A01, //!< NT200A01 2 x 100GB network adapter 174 NT_ADAPTER_TYPE_NT40A01_4X1, //!< NT40A01_4X1 network adapter with IEEE1588 175 NT_ADAPTER_TYPE_NT200A01_2X40, //!< NT200A01 2 x 40GB network adapter 176 NT_ADAPTER_TYPE_NT80E3_2_PTP_8X10, //!< NT80E3 8x10G network adapter with IEEE1588 177 //@G-- 178#ifndef DOXYGEN_INTERNAL_ONLY 179 NT_ADAPTER_TYPE_ML605=10000, //!< NT20E2 eval board 180#endif 181 NT_ADAPTER_TYPE_4GARCH_HAMOA = (1U << 29), // Bit to mark to adapters as a 4GArch Hamoa adapter 182 NT_ADAPTER_TYPE_4GARCH = (1U << 30), // Bit to mark to adapters as a 4GArch adapter 183 //@G++ 184}; 185 186typedef enum NtAdapterType_e NtAdapterType_t; 187 188/** 189 * Adapter PCI generation 190 */ 191 192enum NtAdapterPciGeneration_e { 193 NT_ADAPTER_PCI_GENERATION_UNKNOWN=0, 194 NT_ADAPTER_PCI_GENERATION_1, 195 NT_ADAPTER_PCI_GENERATION_2, 196 NT_ADAPTER_PCI_GENERATION_3 197}; 198 199typedef enum NtAdapterPciGeneration_e NtAdapterPciGeneration_t; 200 201/** 202 * Adapter hardware generation 203 * 204 * NOTE: This is *NOT* equal to PCIe generation 205 */ 206 207enum NtAdapterHwGeneration_e { 208 NT_ADAPTER_HW_GENERATION_UNKNOWN=0, 209 NT_ADAPTER_HW_GENERATION_1GA, 210 NT_ADAPTER_HW_GENERATION_2GA, 211 NT_ADAPTER_HW_GENERATION_3GA, 212 NT_ADAPTER_HW_GENERATION_4GA, 213}; 214 215typedef enum NtAdapterHwGeneration_e NtAdapterHwGeneration_t; 216 217/** 218 * Adapter FPGA Architecture Generation 219 * 220 * NOTE: may differ from Adapter (hardware) generation 221 */ 222 223enum NtAdapterFpgaArchGeneration_e { 224 NT_ADAPTER_FPGA_ARCH_GENERATION_UNKNOWN=0, 225 NT_ADAPTER_FPGA_ARCH_GENERATION_1, 226 NT_ADAPTER_FPGA_ARCH_GENERATION_2, 227 NT_ADAPTER_FPGA_ARCH_GENERATION_3, 228 NT_ADAPTER_FPGA_ARCH_GENERATION_4, 229}; 230 231typedef enum NtAdapterFpgaArchGeneration_e NtAdapterFpgaArchGeneration_t; 232 233/** 234 * Packet descriptor type 235 */ 236enum NtPacketDescriptorType_e { 237 NT_PACKET_DESCRIPTOR_TYPE_UNKNOWN, //!< Unknown descriptor type 238 NT_PACKET_DESCRIPTOR_TYPE_PCAP, //!< Descriptor type is PCAP 239 NT_PACKET_DESCRIPTOR_TYPE_NT, //!< Descriptor type is NT 240 NT_PACKET_DESCRIPTOR_TYPE_NT_EXTENDED, //!< Descriptor type is NT extended 241 NT_PACKET_DESCRIPTOR_TYPE_DYNAMIC, //!< Descriptor type is Dynamic (fields can be programmed via NTPL) 242}; 243 244/* 245 * Napatech Dynamic Descriptor formats. 246 */ 247enum NtDynamicDescriptorFormat_e { 248 NT_DYNAMIC_DESCRIPTOR_FORMAT_1 = 1, //!< Dynamic descriptor with 3 dynamic offsets and a dynamic IPProcotol selector. 249 NT_DYNAMIC_DESCRIPTOR_FORMAT_2 = 2, //!< Dynamic descriptor with 2 dynamic offsets and a dynamic IPProcotol selector. 250 NT_DYNAMIC_DESCRIPTOR_FORMAT_3 = 3, //!< Dynamic descriptor 3 is suited for various TX inline scenarios 251 NT_DYNAMIC_DESCRIPTOR_FORMAT_4 = 4, //!< Dynamic descriptor 4 is suited for various correlation scenarios 252}; 253 254/** 255 * Product types 256 */ 257enum NtProductType_e { 258 NT_PRODUCT_TYPE_UNKNOWN=0, //!< Unknown product type 259 NT_PRODUCT_TYPE_CAPTURE, //!< Capture product type 260 NT_PRODUCT_TYPE_INLINE, //!< In-line product type 261 NT_PRODUCT_TYPE_CAPTURE_REPLAY, //!< Capture-replay product type 262 NT_PRODUCT_TYPE_TRAFFIC_GEN, //!< Traffic generator product type 263 NT_PRODUCT_TYPE_BYPASS, //!< Bypass product type 264}; 265 266/** 267 * Profile types 268 */ 269enum NtProfileType_e { 270 NT_PROFILE_TYPE_UNKNOWN=0, //!< Unknown profile type 271 NT_PROFILE_TYPE_CAPTURE=1<<0, //!< Capture profile type 272 NT_PROFILE_TYPE_INLINE=1<<1, //!< In-line profile type 273 NT_PROFILE_TYPE_CAPTURE_REPLAY=1<<2, //!< Capture-replay profile type 274 NT_PROFILE_TYPE_TRAFFIC_GEN=1<<3, //!< Traffic generator profile type 275}; 276 277/** 278 * Product family 279 */ 280enum NtProductFamily_e { 281 NT_PRODUCT_FAMILY_UNKNOWN=0, //!< Unknown product family 282 NT_PRODUCT_FAMILY_NT, //!< NT adapter family 283 NT_PRODUCT_FAMILY_NIC, //!< Standard NIC product family 284}; 285 286enum NtFeatureType_e { 287 NT_FEATURE_TYPE_BYPASS=1<<0, //!< The adapter has support for bypass. 288 NT_FEATURE_TYPE_NEBS=1<<1, //!< The adapter is a NEBS adapter. 289 NT_FEATURE_TYPE_FAN=1<<2, //!< The adapter has an alternative FAN. 290 NT_FEATURE_TYPE_FEC_SUPP=1<<3, //!< The adapter has support for FEC. 291}; 292 293/** 294 * SDRAM module sizes 295 */ 296enum NtSdramSize_e { 297 NT_SDRAM_SIZE_UNKNOWN=0, //!< Unknown RAM size 298 NT_SDRAM_SIZE_512M = 0x1, //!< RAM size 512 megabytes 299 NT_SDRAM_SIZE_1G = 0x2, //!< RAM size 1 gigabyte 300 NT_SDRAM_SIZE_2G = 0x4, //!< RAM size 2 gigabytes 301 NT_SDRAM_SIZE_4G = 0x8, //!< RAM size 4 gigabytes 302 NT_SDRAM_SIZE_5G = 0xA, //!< RAM size 5 gigabytes 303 NT_SDRAM_SIZE_8G = 0x10, //!< RAM size 8 gigabytes 304 NT_SDRAM_SIZE_12G = 0x18, //!< RAM size 12 gigabytes 305}; 306 307/** 308 * SDRAM module type 309 */ 310enum NtSdramType_e { 311 NT_SDRAM_TYPE_UNKNOWN=0, //!< Unknown RAM type 312 NT_SDRAM_TYPE_DDR2 = 0x1, //!< RAM is DDR2 313 NT_SDRAM_TYPE_DDR3 = 0x2, //!< RAM is DDR3 314 NT_SDRAM_TYPE_DDR4 = 0x3, //!< RAM is DDR4 315}; 316 317/** 318 * SDRAM OnboardMemorySplit 319 */ 320enum NtSdramOnboardMemorySplit_e { 321 NT_SDRAM_ONBOARD_MEMORY_SPLIT_UNKNOWN = 0, 322 NT_SDRAM_ONBOARD_MEMORY_SPLIT_DYNAMIC = 1, 323 NT_SDRAM_ONBOARD_MEMORY_SPLIT_EVEN = 2, 324 NT_SDRAM_ONBOARD_MEMORY_SPLIT_PROPORTIONAL = 3, 325 NT_SDRAM_ONBOARD_MEMORY_SPLIT_DEFAULT = NT_SDRAM_ONBOARD_MEMORY_SPLIT_EVEN 326}; 327 328/** 329 * Port types 330 * The use of all non-generic XX_NOT_PRESENT is deprecated - use 331 * NT_PORT_TYPE_NIM_NOT_PRESENT instead 332 */ 333enum NtPortType_e { 334 NT_PORT_TYPE_NOT_AVAILABLE = 0, //!< The NIM/port type is not available (unknown) 335 NT_PORT_TYPE_NOT_RECOGNISED, //!< The NIM/port type not recognized 336 NT_PORT_TYPE_RJ45, //!< RJ45 type 337 NT_PORT_TYPE_SFP_NOT_PRESENT, //!< SFP type but slot is empty 338 NT_PORT_TYPE_SFP_SX, //!< SFP SX 339 NT_PORT_TYPE_SFP_SX_DD, //!< SFP SX digital diagnostic 340 NT_PORT_TYPE_SFP_LX, //!< SFP LX 341 NT_PORT_TYPE_SFP_LX_DD, //!< SFP LX digital diagnostic 342 NT_PORT_TYPE_SFP_ZX, //!< SFP ZX 343 NT_PORT_TYPE_SFP_ZX_DD, //!< SFP ZX digital diagnostic 344 NT_PORT_TYPE_SFP_CU, //!< SFP copper 345 NT_PORT_TYPE_SFP_CU_DD, //!< SFP copper digital diagnostic 346 NT_PORT_TYPE_SFP_NOT_RECOGNISED, //!< SFP unknown 347 NT_PORT_TYPE_XFP, //!< XFP 348 NT_PORT_TYPE_XPAK, //!< XPAK 349 NT_PORT_TYPE_SFP_CU_TRI_SPEED, //!< SFP copper tri-speed 350 NT_PORT_TYPE_SFP_CU_TRI_SPEED_DD, //!< SFP copper tri-speed digital diagnostic 351 NT_PORT_TYPE_SFP_PLUS, //!< SFP+ type 352 NT_PORT_TYPE_SFP_PLUS_NOT_PRESENT, //!< SFP+ type but slot is empty 353 NT_PORT_TYPE_XFP_NOT_PRESENT, //!< XFP type but slot is empty 354 NT_PORT_TYPE_QSFP_PLUS_NOT_PRESENT, //!< QSFP type but slot is empty 355 NT_PORT_TYPE_QSFP_PLUS, //!< QSFP type 356 NT_PORT_TYPE_SFP_PLUS_PASSIVE_DAC, //!< SFP+ Passive DAC 357 NT_PORT_TYPE_SFP_PLUS_ACTIVE_DAC, //!< SFP+ Active DAC 358 NT_PORT_TYPE_CFP4, //!< CFP4 type 359 NT_PORT_TYPE_CFP4_LR4 = NT_PORT_TYPE_CFP4, //!< CFP4 100G, LR4 type 360 NT_PORT_TYPE_CFP4_NOT_PRESENT, //!< CFP4 type but slot is empty 361 NT_PORT_TYPE_INITIALIZE, //!< The port type is not fully established yet 362 NT_PORT_TYPE_NIM_NOT_PRESENT, //!< Generic "Not present" 363 NT_PORT_TYPE_HCB, //!< Test mode: Host Compliance Board 364 NT_PORT_TYPE_NOT_SUPPORTED, //!< The NIM type is not supported in this context 365 NT_PORT_TYPE_SFP_PLUS_DUAL_RATE, //!< SFP+ supports 1G/10G 366 NT_PORT_TYPE_CFP4_SR4, //!< CFP4 100G, SR4 type 367 NT_PORT_TYPE_QSFP28_NOT_PRESENT, //!< QSFP28 type but slot is empty 368 NT_PORT_TYPE_QSFP28, //!< QSFP28 type 369 NT_PORT_TYPE_QSFP28_SR4, //!< QSFP28-SR4 type 370 NT_PORT_TYPE_QSFP28_LR4, //!< QSFP28-LR4 type 371 NT_PORT_TYPE_QSFP_PLUS_4X10, //!< QSFP type 372 NT_PORT_TYPE_QSFP_PASSIVE_DAC_4X10, //!< QSFP passive DAC type 373 NT_PORT_TYPE_QSFP_ACTIVE_DAC_4X10, //!< QSFP active DAC type 374}; 375 376typedef enum NtPortType_e NtPortType_t, *NtPortType_p; 377 378/** 379 * Link state.\n 380 * Just after start of ntservice the link state might be unknown since the 381 * monitoring routine is busy reading NIM state and NIM data. This might also 382 * be the case after a NIM is plugged into an interface. 383 * The error state indicates a HW reading error. 384 */ 385enum NtLinkState_e { 386 NT_LINK_STATE_UNKNOWN = 0, //!< The link state has not been read yet 387 NT_LINK_STATE_DOWN = 1, //!< The link state is DOWN 388 NT_LINK_STATE_UP = 2, //!< The link state is UP 389 NT_LINK_STATE_ERROR = 3 //!< The link state could not be read 390}; 391 392typedef enum NtLinkState_e NtLinkState_t, *NtLinkState_p; 393 394/** 395 * Link speed. 396 * Note this is a bitmask. 397 */ 398enum NtLinkSpeed_e { 399 NT_LINK_SPEED_UNKNOWN=0, 400 NT_LINK_SPEED_10M =0x01, //!< 10 Mbps 401 NT_LINK_SPEED_100M =0x02, //!< 100 Mbps 402 NT_LINK_SPEED_1G =0x04, //!< 1 Gbps (Autoneg only) 403 NT_LINK_SPEED_10G =0x08, //!< 10 Gbps (Autoneg only) 404 NT_LINK_SPEED_40G =0x10, //!< 40 Gbps (Autoneg only) 405 NT_LINK_SPEED_100G =0x20, //!< 100 Gbps (Autoneg only) 406 NT_LINK_SPEED_50G =0x40, //!< 50 Gbps (Autoneg only) 407}; 408 409typedef enum NtLinkSpeed_e NtLinkSpeed_t; 410 411/** 412 * Link duplex mode 413 */ 414enum NtLinkDuplex_e { 415 NT_LINK_DUPLEX_UNKNOWN=0, 416 NT_LINK_DUPLEX_HALF = 0x01, //!< Half duplex 417 NT_LINK_DUPLEX_FULL = 0x02, //!< Full duplex 418}; 419 420typedef enum NtLinkDuplex_e NtLinkDuplex_t; 421 422/** 423 * Link MDI mode 424 */ 425enum NtLinkMDI_e { 426 NT_LINK_MDI_NA = 0, 427 NT_LINK_MDI_AUTO = 0x01, //!< MDI auto 428 NT_LINK_MDI_MDI = 0x02, //!< MDI mode 429 NT_LINK_MDI_MDIX = 0x04, //!< MDIX mode 430}; 431 432typedef enum NtLinkMDI_e NtLinkMDI_t; 433 434/** 435 * Link Auto/Manual mode 436 */ 437enum NtLinkAutoNeg_e { 438 NT_LINK_AUTONEG_NA = 0, 439 NT_LINK_AUTONEG_MANUAL = 0x01, 440 NT_LINK_AUTONEG_OFF = NT_LINK_AUTONEG_MANUAL, //!< Auto negotiation OFF 441 NT_LINK_AUTONEG_AUTO = 0x02, 442 NT_LINK_AUTONEG_ON = NT_LINK_AUTONEG_AUTO, //!< Auto negotiation ON 443}; 444 445typedef enum NtLinkAutoNeg_e NtLinkAutoNeg_t; 446 447 448/** 449 * ForceTxLink mode 450 */ 451enum NtForceTxLink_e { 452 NT_FORCE_TX_LINK_UNKNOWN = 0, 453 NT_FORCE_TX_LINK_DISABLE = 0x01, 454 NT_FORCE_TX_LINK_ENABLE = 0x02 455}; 456 457typedef enum NtForceTxLink_e NtForceTxLink_t; 458 459 460/** 461 * TX laser power mode 462 */ 463enum NtTxPower_e { 464 NT_TX_POWER_UNKNOWN=0, //!< Illegal value - should newer be read or written 465 NT_TX_POWER_NA, //!< Reading: Changing TX Power is not supported.\n Writing: Not valid for writing. 466 NT_TX_POWER_ON, //!< Reading: TX power is on.\n Writing: Turns on the TX power 467 NT_TX_POWER_OFF //!< Reading: TX power is off.\n Writing: Turns off the TX power 468}; 469 470typedef enum NtTxPower_e NtTxPower_t; 471 472/** 473 * Port ID mode 474 */ 475typedef enum NtPortId_e { 476 NT_PORT_ID_UNKNOWN=0, //!< Illegal value - should newer be read or written 477 NT_PORT_ID_NA, //!< Reading: Port Identification is not supported.\n Writing: Not valid for writing. 478 NT_PORT_ID_ON, //!< Reading: Port Identification is on.\n Writing: Turns on the port ID 479 NT_PORT_ID_OFF //!< Reading: Port Identification is off.\n Writing: Turns off the port ID 480} NtPortId_t; 481 482 483/** 484 * Port FEC (Forward Error Correction) mode 485 */ 486typedef enum NtPortFec_e { 487 NT_PORT_FEC_NA = 0, //!< FEC is not available/unsupported 488 NT_PORT_FEC_ON, //!< FEC is active 489 NT_PORT_FEC_OFF //!< FEC is inactive 490} NtPortFec_t; 491 492 493/** 494 * Ifg unit 495 */ 496enum NtIfgMode_e { 497 NT_IFG_NS = 0, //!< Ifg unit is in 10 ns ticks 498 NT_IFG_BYTE = 1, //!< Ifg unit is in bytes 499}; 500 501 502/** 503 * 504 */ 505enum NtBypassTrigger_e { 506 NT_BYPASS_TRIGGER_NONE = 0x00, //!< TODO: 507 NT_BYPASS_TRIGGER_PWRFAIL = 0x01, //!< TODO: 508}; 509 510/** 511 * 512 */ 513enum NtBypassPortState_e { 514 NT_BYPASS_PORT_STATE_UNKNOWN=0, //!< NT_BYPASS_PORT_STATE_UNKNOWN should be used when reading 515 NT_BYPASS_PORT_STATE_IGNORE=0, //!< NT_BYPASS_PORT_STATE_IGNORE should be used when writing 516 NT_BYPASS_PORT_STATE_NORMAL=1, //!< TODO: 517 NT_BYPASS_PORT_STATE_BYPASS=2, //!< TODO: 518}; 519 520/** 521 * 522 */ 523enum NtOperationReadWrite_e { 524 NT_OPERATION_UNKNOWN = 0, //!< TODO: 525 NT_OPERATION_READ = 1, //!< TODO: 526 NT_OPERATION_WRITE = 2, //!< TODO: 527}; 528 529 530 531/** 532 * Time sync protocol 533 */ 534enum NtTimeSyncProtocol_e { 535 NT_TIMESYNC_PROTOCOL_NT=0, //!< Time sync set to NT time sync 536 NT_TIMESYNC_PROTOCOL_OS, //!< Time sync set to OS time sync 537 NT_TIMESYNC_PROTOCOL_PPS_REL, //!< Time sync set to PPS time sync with no external time source 538 NT_TIMESYNC_PROTOCOL_PPS_ABS, //!< Time sync set to PPS time sync with external time source 539 NT_TIMESYNC_PROTOCOL_FREE, //!< Time sync set to free running 540}; 541 542/** 543 * Time sync PPS actions 544 */ 545enum NtTimeSyncPpsAction_e { 546 NT_TIMESYNC_PPS_ACTION_REFERENCE_TIME=0, //!< Send reference TOD to driver 547 NT_TIMESYNC_PPS_ACTION_ENABLE, //!< Enable PPS clock synchronization 548 NT_TIMESYNC_PPS_ACTION_DISABLE, //!< Disable PPS clock synchronization 549}; 550 551/** 552 * Time sync connectors 553 */ 554enum NtTimeSyncConnector_e { 555 NT_TIMESYNC_CONNECTOR_NONE = 0, //!< Time sync connector unused 556 NT_TIMESYNC_CONNECTOR_EXT = 0x01, //!< Bit mask for external time sync connnector 557 NT_TIMESYNC_CONNECTOR_INT1 = 0x02, //!< Bit mask for internal 1 time sync connnector 558 NT_TIMESYNC_CONNECTOR_INT2 = 0x04, //!< Bit mask for internal 2 time sync connnector 559}; 560 561 562/** 563 * Time sync PPS current clock synchonization mode 564 */ 565enum NtTimeSyncPpsSyncMode_e { 566 NT_TIMESYNC_PPS_MODE_NOT_SYNCING = 0, //!< Currently not using PPS synchronization 567 NT_TIMESYNC_PPS_MODE_PHASE_SYNCING, //!< Currently using phase synchronization method 568 NT_TIMESYNC_PPS_MODE_TIME_SYNCING //!< Currently using time synchronization 569}; 570 571 572/** 573 * Time sync connector settings 574 */ 575enum NtTimeSyncConnectorSetting_e { 576 NT_TIMESYNC_CONNECTOR_SETTING_NONE = 0, //!< Connector set to None. Connector not used 577 NT_TIMESYNC_CONNECTOR_SETTING_NTTS_IN = 1, //!< Connector set to NttsIn (NT-TS input) 578 NT_TIMESYNC_CONNECTOR_SETTING_PPS_IN = 2, //!< Connector set to PpsIn (PPS input) 579 NT_TIMESYNC_CONNECTOR_SETTING_10MPPS_IN = 3, //!< 10MPPS - Frequency reference input (not yet supported) 580 NT_TIMESYNC_CONNECTOR_SETTING_NTTS_OUT = 4, //!< Connector set to NttsOut (NT-TS output) 581 NT_TIMESYNC_CONNECTOR_SETTING_PPS_OUT = 5, //!< Connector set to PpsOut (PPS output) 582 NT_TIMESYNC_CONNECTOR_SETTING_10MPPS_OUT = 6, //!< 10MPPS - Frequency output (not yet supported) 583 NT_TIMESYNC_CONNECTOR_SETTING_REPEAT_INT1 = 7, //!< Connector set to repeat connector Int1 584 NT_TIMESYNC_CONNECTOR_SETTING_REPEAT_INT2 = 8, //!< Connector set to repeat connector Int2 585 NT_TIMESYNC_CONNECTOR_SETTING_REPEAT_EXT1 = 9, //!< Connector set to repeat connector Ext1 586}; 587 588 589/** 590 * Time sync connector status 591 */ 592enum NtTimeSyncConStatus_e { 593 NT_TIMESYNC_CONNECTOR_STATUS_NONE = 0, //!< Time sync status not applicable (current TS ref is not a connector) 594 NT_TIMESYNC_CONNECTOR_STATUS_SIGNAL_LOST, //!< Time sync signal lost (NT and PPS) 595 NT_TIMESYNC_CONNECTOR_STATUS_SIGNAL_PRESENT, //!< Time sync signal present (NT and PPS) 596}; 597 598/** 599 * Time sync in-sync status 600 * 601 * This is set according to the configured parameters 602 * TimeSyncOSInSyncLimit, TimeSyncPTPInSyncLimit, 603 * TimeSyncPPSInSyncLimit and TimeSyncNTTSInSyncLimit 604 */ 605enum NtTimeSyncInSyncStatus_e { 606 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. 607 NT_TIMESYNC_INSYNC_STATUS_IN_SYNC, //!< Time sync in-sync status is in-sync. 608 NT_TIMESYNC_INSYNC_STATUS_NOT_IN_SYNC //!< Time sync in-sync status is not in-sync. 609}; 610 611/** 612 * Time sync PPS status 613 */ 614enum NtTimeSyncPpsStatus_e { 615 NT_TIMESYNC_PPS_STATUS_NONE = 0, //!< PPS clock synchronization status invalid 616 NT_TIMESYNC_PPS_STATUS_ENABLED = 0x01, //!< PPS clock synchronization status enabled by app 617 NT_TIMESYNC_PPS_STATUS_DISABLED = 0x02, //!< //!< PPS clock synchronization status disabled 618}; 619 620/** 621 * Time sync reference priority 622 */ 623enum NtTimeSyncReference_e { 624 NT_TIMESYNC_REFERENCE_INVALID = 0, //!< Time Sync reference undetermined. Set initially or when in a transition state from one reference to another. 625 NT_TIMESYNC_REFERENCE_FREE_RUN = 1, //!< Time Sync reference id for free running 626 NT_TIMESYNC_REFERENCE_PTP = 2, //!< Time Sync reference id for PTP 627 NT_TIMESYNC_REFERENCE_INT1 = 3, //!< Time Sync reference id for connector internal 1 628 NT_TIMESYNC_REFERENCE_INT2 = 4, //!< Time Sync reference id for connector internal 2 629 NT_TIMESYNC_REFERENCE_EXT1 = 5, //!< Time Sync reference id for connector external 1 630 NT_TIMESYNC_REFERENCE_OSTIME = 6, //!< Time Sync reference id for OS Time 631}; 632 633typedef enum NtTimeSyncReference_e NtTimeSyncReference_t; 634 635/** 636 * Time sync frequency reference priority 637 */ 638enum NtTimeSyncFreqReference_e { 639 NT_TIMESYNC_FREQ_REFERENCE_INVALID = 0, //!< Time Sync frequency reference id invalid 640 NT_TIMESYNC_FREQ_REFERENCE_FREE_RUN = 1, //!< Time Sync frequency reference id for free running oscillator 641 NT_TIMESYNC_FREQ_REFERENCE_SYNC_E = 2, //!< Time Sync frequency reference id for PTP port Rx recovered clock (SyncE) 642}; 643 644/** 645 * Time sync sampling source identifier 646 */ 647enum NtTimeSyncSamplingSrc_e { 648 NT_TIMESYNC_SAMPLING_EXT1 = 0, //!< Sampling source is External1 connector 649 NT_TIMESYNC_SAMPLING_INT1 = 1, //!< Sampling source is Internal1 connector 650 NT_TIMESYNC_SAMPLING_INT2 = 2, //!< Sampling source is Internal2 connector 651 /* 3,4,5 - for future use */ 652 NT_TIMESYNC_SAMPLING_PTP = 6, //!< Sampling source is PTP clock PPS output. 653 NT_TIMESYNC_SAMPLING_APP = 7, 654 NT_TIMESYNC_SAMPLING_CNT 655}; 656 657/** 658 * Time sync sampling source status 659 */ 660enum NtTimeSyncSamplingSrcStatus_e { 661 NT_TIMESYNC_SAMPLING_STATUS_INVALID = 0, //!< Time sync sampling source status unused 662 NT_TIMESYNC_SAMPLING_STATUS_NOT_PRESENT = 1, //!< Time sync sampling source status not present (no signal/undefined) 663 NT_TIMESYNC_SAMPLING_STATUS_PRESENT = 2 //!< Time sync sampling source status present 664}; 665 666 667 668/** 669 * IEEE 1588 PTP port state identifier 670 */ 671enum NtPTPPortState_e { 672 NT_PTP_PORT_STATE_NA = 0, //!< Invalid 673 NT_PTP_PORT_STATE_INIT = 1, //!< Initializing 674 NT_PTP_PORT_STATE_FAULTY = 2, //!< Faulty 675 NT_PTP_PORT_STATE_DISABLED = 3, //!< Disabled 676 NT_PTP_PORT_STATE_LISTENING = 4, //!< Listening 677 NT_PTP_PORT_STATE_PRE_MASTER = 5, //!< Pre Master 678 NT_PTP_PORT_STATE_MASTER = 6, //!< Master 679 NT_PTP_PORT_STATE_PASSIVE = 7, //!< Passive 680 NT_PTP_PORT_STATE_UNCALIBRATED = 8, //!< Uncalibrated 681 NT_PTP_PORT_STATE_SLAVE = 9, //!< Slave 682 NT_PTP_PORT_STATE_INACTIVE = 127, //!< PTP protocol engine inactive 683}; 684 685 686/** 687 * Sensor types 688 */ 689enum NtSensorType_e { 690 NT_SENSOR_TYPE_UNKNOWN = 0, 691 NT_SENSOR_TYPE_TEMPERATURE = 1, //!< Unit: 0.1 degree Celsius 692 NT_SENSOR_TYPE_VOLTAGE = 2, //!< Unit: 1 mV 693 NT_SENSOR_TYPE_CURRENT = 3, //!< Unit: 1 uA 694 NT_SENSOR_TYPE_POWER = 4, //!< Unit: 0.1 uW 695 NT_SENSOR_TYPE_FAN = 5, //!< Unit: 1 RPM (Revolutions Per Minute) 696 NT_SENSOR_TYPE_HIGH_POWER = 6, //!< Unit: 1 mW 697 NT_SENSOR_TYPE_NUMBER = 7, 698}; 699 700typedef enum NtSensorType_e NtSensorType_t; 701 702/** 703 * Sensor subtypes 704 */ 705enum NtSensorSubType_e { 706 NT_SENSOR_SUBTYPE_NA = 0, 707 NT_SENSOR_SUBTYPE_POWER_OMA, //!< Subtype for NT_SENSOR_TYPE_POWER type on optical modules (optical modulation amplitude measured) 708 NT_SENSOR_SUBTYPE_POWER_AVERAGE //!< Subtype for NT_SENSOR_TYPE_POWER type on optical modules (average power measured) 709}; 710 711typedef enum NtSensorSubType_e NtSensorSubType_t; 712 713/** 714 * Sensor source 715 */ 716enum NtSensorSource_e { 717 NT_SENSOR_SOURCE_UNKNOWN = 0x00, //!< Unknown source 718 NT_SENSOR_SOURCE_PORT = 0x01, //!< Sensors located in a port. These are primary sensors - usually NIM temperature. Presence depends on adapter and NIM type. 719 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. 720#ifndef DOXYGEN_INTERNAL_ONLY 721 NT_SENSOR_SOURCE_LEVEL2_PORT = 0x04, //!< Level 2 sensors located in a port 722#endif 723 NT_SENSOR_SOURCE_ADAPTER = 0x08, //!< Sensors mounted on the adapter 724 NT_SENSOR_SOURCE_LEVEL1_ADAPTER = 0x10, //!< Level 1 sensors mounted on the adapter 725#ifndef DOXYGEN_INTERNAL_ONLY 726 NT_SENSOR_SOURCE_LEVEL2_ADAPTER = 0x20, //!< Level 2 sensors mounted on the adapter 727#endif 728}; 729 730/** 731 * Sensor state 732 */ 733enum NtSensorState_e { 734 NT_SENSOR_STATE_UNKNOWN = 0, //!< Unknown state 735 NT_SENSOR_STATE_INITIALIZING = 1, //!< The sensor is initializing 736 NT_SENSOR_STATE_NORMAL = 2, //!< Sensor values are within range 737 NT_SENSOR_STATE_ALARM = 3, //!< Sensor values are out of range 738 NT_SENSOR_STATE_NOT_PRESENT = 4 //!< The sensor is not present, for example, SFP without diagnostics 739}; 740 741typedef enum NtSensorState_e NtSensorState_t; 742 743/** 744 * Sensor value 745 */ 746#define NT_SENSOR_NAN (int)0x80000000 //!< Indicates that sensor value or sensor limit is not valid (Not a Number) 747 748/** 749 * Master/Slave 750 */ 751enum NtBondingType_e { 752 NT_BONDING_UNKNOWN, //!< Unknown bonding type 753 NT_BONDING_MASTER, //!< Adapter is master in the bonding 754 NT_BONDING_SLAVE, //!< Adapter is slave in the bonding 755 NT_BONDING_PEER //!< Adapter is bonded, but relationship is symmetric 756}; 757 758/** 759 * Maximum name length for streams 760 */ 761#define NT_MAX_STREAM_NAME_LENGTH 20 762 763 764/** 765 * NT20E2 Adapter sensors 766 * 767 * When reading sensors using the @ref InfoStream @ref NtInfoSensor_t 768 * the source must be @ref NtSensorSource_e::NT_SENSOR_SOURCE_ADAPTER to 769 * read the public sensors or @ref NtSensorSource_e::NT_SENSOR_SOURCE_LEVEL1_ADAPTER 770 * to read the Diagnostic sensors. 771 */ 772enum NtSensorsAdapterNT20E2_e { 773 // Public sensors 774 NT_SENSOR_NT20E2_FPGA, //!< FPGA temperature sensor 775 NT_SENSOR_NT20E2_FAN, //!< FAN speed sensor 776 NT_SENSOR_NT20E2_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor 777 NT_SENSOR_NT20E2_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor 778 NT_SENSOR_NT20E2_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor 779 NT_SENSOR_NT20E2_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor 780 781 // Diagnostic sensors (Level 1) 782 NT_SENSOR_NT20E2_NT20E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms 783 NT_SENSOR_NT20E2_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 784 NT_SENSOR_NT20E2_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 785 NT_SENSOR_NT20E2_PHY_POWER, //!< PHY power consumption (calculated value) - does not generate alarms 786 NT_SENSOR_NT20E2_SFP_0_POWER, //!< SFP 0 power consumption (calculated value) - does not generate alarms 787 NT_SENSOR_NT20E2_SFP_1_POWER, //!< SFP 1 power consumption (calculated value) - does not generate alarms 788 NT_SENSOR_NT20E2_ADAPTER_MAX, //!< Number of NT20E2 adapter sensors 789}; 790 791enum NtSensorsPortNT20E2_e { 792 // Public sensors 793 NT_SENSOR_NT20E2_NIM, //!< SFP temperature sensor 794 795 // Diagnostic sensors (Level 1) 796 NT_SENSOR_NT20E2_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms 797 NT_SENSOR_NT20E2_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms 798 NT_SENSOR_NT20E2_TX, //!< SFP TX power sensor - does not generate alarms 799 NT_SENSOR_NT20E2_RX, //!< SFP RX power sensor - does not generate alarms 800 NT_SENSOR_NT20E2_PORT_MAX, //!< Number of NT20E2 port sensors 801}; 802 803/** 804 * NT40E2_4 Adapter sensors 805 * 806 * When reading sensors using the @ref InfoStream @ref NtInfoSensor_t 807 * the source must be @ref NtSensorSource_e::NT_SENSOR_SOURCE_ADAPTER to 808 * read the public sensors or @ref NtSensorSource_e::NT_SENSOR_SOURCE_LEVEL1_ADAPTER 809 * to read the Diagnostic sensors. 810 */ 811enum NtSensorsAdapterNT40E2_4_e { 812 // Public sensors 813 NT_SENSOR_NT40E2_4_FPGA = NT_SENSOR_NT20E2_FPGA, //!< FPGA temperature sensor 814 NT_SENSOR_NT40E2_4_FAN = NT_SENSOR_NT20E2_FAN, //!< FAN speed sensor 815 NT_SENSOR_NT40E2_4_MAIN_EXAR1_TEMP = NT_SENSOR_NT20E2_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor 816 NT_SENSOR_NT40E2_4_MAIN_EXAR2_TEMP = NT_SENSOR_NT20E2_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor 817 NT_SENSOR_NT40E2_4_FRONT_EXAR_TEMP = NT_SENSOR_NT20E2_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor 818 NT_SENSOR_NT40E2_4_FRONT_TEMP_PBA = NT_SENSOR_NT20E2_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor 819 820 // Diagnostic sensors (Level 1) 821 NT_SENSOR_NT40E2_4_NT40E2_4_POWER = NT_SENSOR_NT20E2_NT20E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms 822 NT_SENSOR_NT40E2_4_FPGA_POWER = NT_SENSOR_NT20E2_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 823 NT_SENSOR_NT40E2_4_DDR3_POWER = NT_SENSOR_NT20E2_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 824 NT_SENSOR_NT40E2_4_PHY_POWER = NT_SENSOR_NT20E2_PHY_POWER, //!< PHY power consumption (calculated value) - does not generate alarms 825 NT_SENSOR_NT40E2_4_SFP_0_POWER = NT_SENSOR_NT20E2_SFP_0_POWER, //!< SFP 0 power consumption (calculated value) - does not generate alarms 826 NT_SENSOR_NT40E2_4_SFP_1_POWER = NT_SENSOR_NT20E2_SFP_1_POWER, //!< SFP 1 power consumption (calculated value) - does not generate alarms 827 NT_SENSOR_NT40E2_4_ADAPTER_MAX = NT_SENSOR_NT20E2_ADAPTER_MAX, //!< Number of NT40E2_4 adapter sensors 828}; 829 830enum NtSensorsPortNT40E2_4_e { 831 // Public sensors 832 NT_SENSOR_NT40E2_4_NIM = NT_SENSOR_NT20E2_NIM, //!< SFP temperature sensor 833 834 // Diagnostic sensors (Level 1) 835 NT_SENSOR_NT40E2_4_SUPPLY = NT_SENSOR_NT20E2_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms 836 NT_SENSOR_NT40E2_4_TX_BIAS = NT_SENSOR_NT20E2_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms 837 NT_SENSOR_NT40E2_4_TX = NT_SENSOR_NT20E2_TX, //!< SFP TX power sensor - does not generate alarms 838 NT_SENSOR_NT40E2_4_RX = NT_SENSOR_NT20E2_RX, //!< SFP RX power sensor - does not generate alarms 839 NT_SENSOR_NT40E2_4_PORT_MAX = NT_SENSOR_NT20E2_PORT_MAX, //!< Number of NT20E2 port sensors 840}; 841 842/** 843 * NT40E2_1 Adapter sensors 844 * 845 * When reading sensors using the @ref InfoStream @ref NtInfoSensor_t 846 * the source must be @ref NtSensorSource_e::NT_SENSOR_SOURCE_ADAPTER to 847 * read the public sensors or @ref NtSensorSource_e::NT_SENSOR_SOURCE_LEVEL1_ADAPTER 848 * to read the Diagnostic sensors. 849 */ 850enum NtSensorsAdapterNT40E2_e { 851 // Public sensors 852 NT_SENSOR_NT40E2_FPGA, //!< FPGA temperature sensor 853 NT_SENSOR_NT40E2_FAN, //!< FAN speed sensor 854 NT_SENSOR_NT40E2_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor 855 NT_SENSOR_NT40E2_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor 856 NT_SENSOR_NT40E2_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor 857 NT_SENSOR_NT40E2_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor 858 859 // Diagnostic sensors (Level 1) 860 NT_SENSOR_NT40E2_NT40E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms 861 NT_SENSOR_NT40E2_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 862 NT_SENSOR_NT40E2_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 863 NT_SENSOR_NT40E2_PHY_POWER, //!< PHY power consumption (calculated value) - does not generate alarms 864 NT_SENSOR_NT40E2_QSFP_POWER, //!< QSFP power consumption (calculated value) - does not generate alarms 865 NT_SENSOR_NT40E2_ADAPTER_MAX, //!< Number of NT40E2 adapter sensors 866}; 867 868enum NtSensorsPortNT40E2_e { 869 // Public sensors 870 NT_SENSOR_NT40E2_NIM, //!< SFP temperature sensor 871 872 // Diagnostic sensors (Level 1) 873 NT_SENSOR_NT40E2_SUPPLY, //!< QSFP+ supply voltage sensor 874 NT_SENSOR_NT40E2_TX_BIAS1, //!< QSFP+ TX bias line 0 current sensor 875 NT_SENSOR_NT40E2_TX_BIAS2, //!< QSFP+ TX bias line 1 current sensor 876 NT_SENSOR_NT40E2_TX_BIAS3, //!< QSFP+ TX bias line 2 current sensor 877 NT_SENSOR_NT40E2_TX_BIAS4, //!< QSFP+ TX bias line 3 current sensor 878 NT_SENSOR_NT40E2_RX1, //!< QSFP+ RX line 0 power sensor 879 NT_SENSOR_NT40E2_RX2, //!< QSFP+ RX line 1 power sensor 880 NT_SENSOR_NT40E2_RX3, //!< QSFP+ RX line 2 power sensor 881 NT_SENSOR_NT40E2_RX4, //!< QSFP+ RX line 3 power sensor 882 NT_SENSOR_NT40E2_TX1, //!< QSFP+ TX line 0 power sensor 883 NT_SENSOR_NT40E2_TX2, //!< QSFP+ TX line 1 power sensor 884 NT_SENSOR_NT40E2_TX3, //!< QSFP+ TX line 2 power sensor 885 NT_SENSOR_NT40E2_TX4, //!< QSFP+ TX line 3 power sensor 886 NT_SENSOR_NT40E2_PORT_MAX, //!< Number of NT40E2 port sensors 887}; 888 889enum NtSensorsAdapterNT20E_e { 890 // Public sensors 891 NT_SENSOR_NT20E_FPGA, //!< FPGA temperature sensor (junction temperature) 892 NT_SENSOR_NT20E_PBA, //!< PCB temperature sensor (PCB temperature) 893 NT_SENSOR_NT20E_ADAPTER_MAX, //!< Number of NT20E adapter sensors 894}; 895 896enum NtSensorsPortNT20E_e { 897 // Public sensors 898 NT_SENSOR_NT20E_XFP, //!< XFP temperature sensor 899 900 // Diagnostic sensors (Level 1) 901 NT_SENSOR_NT20E_TX_BIAS, //!< XFP TX bias current sensor - does not generate alarms 902 NT_SENSOR_NT20E_TX, //!< XFP TX power sensor - does not generate alarms 903 NT_SENSOR_NT20E_RX, //!< XFP RX power sensor - does not generate alarms 904 NT_SENSOR_NT20E_PORT_MAX, //!< Number of NT20E port sensors 905}; 906 907enum NtSensorsAdapterNT4E_e { 908 // Public sensors 909 NT_SENSOR_NT4E_FPGA, //!< FPGA temperature sensor (junction temperature) 910 NT_SENSOR_NT4E_PBA, //!< PCB temperature sensor (PCB temperature) 911 NT_SENSOR_NT4E_ADAPTER_MAX, //!< Number of NT4E adapter sensors 912}; 913 914enum NtSensorsPortNT4E_e { 915 // Public sensors 916 NT_SENSOR_NT4E_SFP, //!< SFP temperature sensor 917 918 // Diagnostic sensors (Level 1) 919 NT_SENSOR_NT4E_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms 920 NT_SENSOR_NT4E_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms 921 NT_SENSOR_NT4E_TX, //!< SFP TX power sensor - does not generate alarms 922 NT_SENSOR_NT4E_RX, //!< SFP RX power sensor - does not generate alarms 923 NT_SENSOR_NT4E_PORT_MAX, //!< Number NT4E of port sensors 924}; 925 926enum NtSensorsAdapterNT4E2_e { 927 // Public sensors 928 NT_SENSOR_NT4E2_FPGA, //!< FPGA temperature sensor 929 NT_SENSOR_NT4E2_FAN, //!< FAN speed sensor 930 NT_SENSOR_NT4E2_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor 931 NT_SENSOR_NT4E2_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor 932 NT_SENSOR_NT4E2_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor 933 NT_SENSOR_NT4E2_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor 934 NT_SENSOR_NT4E2_FRONT_TEMP_PHY, //!< Front board PHY temperature sensor 935 936 // Diagnostic sensors (Level 1) 937 NT_SENSOR_NT4E2_NT4E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms 938 NT_SENSOR_NT4E2_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 939 NT_SENSOR_NT4E2_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 940 NT_SENSOR_NT4E2_FRONT_POWER, //!< FRONT power consumption (calculated value) - does not generate alarms 941 NT_SENSOR_NT4E2_ADAPTER_MAX, //!< Number of NT4E2 adapter sensors 942}; 943 944enum NtSensorsAdapterNT4E2_PTP_e { 945 // Public sensors 946 NT_SENSOR_NT4E2_PTP_FPGA, //!< FPGA temperature sensor 947 NT_SENSOR_NT4E2_PTP_FAN, //!< FAN speed sensor 948 NT_SENSOR_NT4E2_PTP_MAIN_EXAR1_TEMP, //!< Mainboard power supply 1 temperature sensor 949 NT_SENSOR_NT4E2_PTP_MAIN_EXAR2_TEMP, //!< Mainboard power supply 2 temperature sensor 950 NT_SENSOR_NT4E2_PTP_FRONT_EXAR_TEMP, //!< Front board power supply temperature sensor 951 NT_SENSOR_NT4E2_PTP_FRONT_TEMP_PBA, //!< Front board PBA temperature sensor 952 953 // Diagnostic sensors (Level 1) 954 NT_SENSOR_NT4E2_PTP_NT4E2_POWER, //!< Total power consumption (calculated value) - does not generate alarms 955 NT_SENSOR_NT4E2_PTP_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 956 NT_SENSOR_NT4E2_PTP_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 957 NT_SENSOR_NT4E2_PTP_FRONT_POWER, //!< FRONT power consumption (calculated value) - does not generate alarms 958 NT_SENSOR_NT4E2_PTP_SFP_0_POWER, //!< SFP 0 power consumption (calculated value) - does not generate alarms 959 NT_SENSOR_NT4E2_PTP_SFP_1_POWER, //!< SFP 1 power consumption (calculated value) - does not generate alarms 960 NT_SENSOR_NT4E2_PTP_ADAPTER_MAX, //!< Number of NT4E2 adapter sensors 961}; 962 963enum NtSensorsPortNT4E2_PTP_e { 964 // Public sensors 965 NT_SENSOR_NT4E2_PTP_SFP, //!< SFP temperature sensor 966 967 // Diagnostic sensors (Level 1) 968 NT_SENSOR_NT4E2_PTP_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms 969 NT_SENSOR_NT4E2_PTP_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms 970 NT_SENSOR_NT4E2_PTP_TX, //!< SFP TX power sensor - does not generate alarms 971 NT_SENSOR_NT4E2_PTP_RX, //!< SFP RX power sensor - does not generate alarms 972 NT_SENSOR_NT4E2_PTP_PORT_MAX, //!< Number NT4E of port sensors 973}; 974 975typedef enum NtSensorsAdapterNT40E3_4_e { 976 // Public sensors (Level 0) 977 NT_SENSOR_NT40E3_4_FPGA_TEMP, //!< FPGA temperature sensor 978 NT_SENSOR_NT40E3_4_FAN_SPEED, //!< FAN speed sensor 979 NT_SENSOR_NT40E3_4_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN 980 NT_SENSOR_NT40E3_4_PSU0_TEMP, //!< Power supply 0 temperature sensor 981 NT_SENSOR_NT40E3_4_PSU1_TEMP, //!< Power supply 1 temperature sensor 982 NT_SENSOR_NT40E3_4_OSC_TEMP, //!< Clock oscillator temperature sensor 983 NT_SENSOR_NT40E3_4_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure 984 NT_SENSOR_NT40E3_4_PCB_TEMP, //!< PCB temperature sensor 985 986 // Diagnostic sensors (Level 1) 987 NT_SENSOR_NT40E3_4_NT40E3_4_POWER, //!< Total power consumption (calculated value) - does not generate alarms 988 NT_SENSOR_NT40E3_4_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 989 NT_SENSOR_NT40E3_4_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 990 NT_SENSOR_NT40E3_4_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms 991 992 NT_SENSOR_NT40E3_4_L1_MAX, //!< Number of NT40E3P4 level 0,1 board sensors 993} NtSensorsAdapterNT40E3_4_t; 994 995typedef enum NtSensorsPortNT40E3_4_e { 996 // Public sensors 997 NT_SENSOR_NT40E3_4_NIM, //!< SFP temperature sensor 998 999 // Diagnostic sensors (Level 1) 1000 NT_SENSOR_NT40E3_4_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms 1001 NT_SENSOR_NT40E3_4_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms 1002 NT_SENSOR_NT40E3_4_TX, //!< SFP TX power sensor - does not generate alarms 1003 NT_SENSOR_NT40E3_4_RX, //!< SFP RX power sensor - does not generate alarms 1004 NT_SENSOR_NT40E3_4_PORT_MAX, //!< Number of NT40E3P4 port sensors 1005} NtSensorsPortNT40E3_4_t; 1006 1007typedef enum NtSensorsAdapterNT20E3_2_e { 1008 // Public sensors (Level 0) 1009 NT_SENSOR_NT20E3_2_FPGA_TEMP = NT_SENSOR_NT40E3_4_FPGA_TEMP, //!< FPGA temperature sensor 1010 NT_SENSOR_NT20E3_2_FAN_SPEED = NT_SENSOR_NT40E3_4_FAN_SPEED, //!< FAN speed sensor 1011 NT_SENSOR_NT20E3_2_MCU_TEMP = NT_SENSOR_NT40E3_4_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN 1012 NT_SENSOR_NT20E3_2_PSU0_TEMP = NT_SENSOR_NT40E3_4_PSU0_TEMP, //!< Power supply 0 temperature sensor 1013 NT_SENSOR_NT20E3_2_PSU1_TEMP = NT_SENSOR_NT40E3_4_PSU1_TEMP, //!< Power supply 1 temperature sensor 1014 NT_SENSOR_NT20E3_2_OSC_TEMP = NT_SENSOR_NT40E3_4_OSC_TEMP, //!< Clock oscillator temperature sensor 1015 NT_SENSOR_NT20E3_2_EXT_TEMP = NT_SENSOR_NT40E3_4_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure 1016 NT_SENSOR_NT20E3_2_PCB_TEMP = NT_SENSOR_NT40E3_4_PCB_TEMP, //!< PCB temperature sensor 1017 1018 // Diagnostic sensors (Level 1) 1019 NT_SENSOR_NT20E3_2_NT20E3_2_POWER = NT_SENSOR_NT40E3_4_NT40E3_4_POWER, //!< Total power consumption (calculated value) - does not generate alarms 1020 NT_SENSOR_NT20E3_2_FPGA_POWER = NT_SENSOR_NT40E3_4_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 1021 NT_SENSOR_NT20E3_2_DDR3_POWER = NT_SENSOR_NT40E3_4_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 1022 NT_SENSOR_NT20E3_2_NIM_POWER = NT_SENSOR_NT40E3_4_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms 1023 1024 NT_SENSOR_NT20E3_2_L1_MAX = NT_SENSOR_NT40E3_4_L1_MAX, //!< Number of NT40E3P4 level 0,1 board sensors 1025} NtSensorsAdapterNT20E3_2_t; 1026 1027typedef enum NtSensorsPortNT20E3_2_e { 1028 // Public sensors 1029 NT_SENSOR_NT20E3_2_NIM = NT_SENSOR_NT40E3_4_NIM, //!< SFP temperature sensor 1030 1031 // Diagnostic sensors (Level 1) 1032 NT_SENSOR_NT20E3_2_SUPPLY = NT_SENSOR_NT40E3_4_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms 1033 NT_SENSOR_NT20E3_2_TX_BIAS = NT_SENSOR_NT40E3_4_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms 1034 NT_SENSOR_NT20E3_2_TX = NT_SENSOR_NT40E3_4_TX, //!< SFP TX power sensor - does not generate alarms 1035 NT_SENSOR_NT20E3_2_RX = NT_SENSOR_NT40E3_4_RX, //!< SFP RX power sensor - does not generate alarms 1036 NT_SENSOR_NT20E3_2_PORT_MAX = NT_SENSOR_NT40E3_4_PORT_MAX, //!< Number of NT40E3P4 port sensors 1037} NtSensorsPortNT20E3_2_t; 1038 1039typedef enum NtSensorsAdapterNT40A01_4X1_e { 1040 // Public sensors (Level 0) 1041 NT_SENSOR_NT40A01_4X1_FPGA_TEMP = NT_SENSOR_NT40E3_4_FPGA_TEMP, //!< FPGA temperature sensor 1042 NT_SENSOR_NT40A01_4X1_FAN_SPEED = NT_SENSOR_NT40E3_4_FAN_SPEED, //!< FAN speed sensor 1043 NT_SENSOR_NT40A01_4X1_MCU_TEMP = NT_SENSOR_NT40E3_4_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN 1044 NT_SENSOR_NT40A01_4X1_PSU0_TEMP = NT_SENSOR_NT40E3_4_PSU0_TEMP, //!< Power supply 0 temperature sensor 1045 NT_SENSOR_NT40A01_4X1_PSU1_TEMP = NT_SENSOR_NT40E3_4_PSU1_TEMP, //!< Power supply 1 temperature sensor 1046 NT_SENSOR_NT40A01_4X1_OSC_TEMP = NT_SENSOR_NT40E3_4_OSC_TEMP, //!< Clock oscillator temperature sensor 1047 NT_SENSOR_NT40A01_4X1_EXT_TEMP = NT_SENSOR_NT40E3_4_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure 1048 NT_SENSOR_NT40A01_4X1_PCB_TEMP = NT_SENSOR_NT40E3_4_PCB_TEMP, //!< PCB temperature sensor 1049 1050 // Diagnostic sensors (Level 1) 1051 NT_SENSOR_NT40A01_4X1_NT40A01_4X1_POWER = NT_SENSOR_NT40E3_4_NT40E3_4_POWER, //!< Total power consumption (calculated value) - does not generate alarms 1052 NT_SENSOR_NT40A01_4X1_FPGA_POWER = NT_SENSOR_NT40E3_4_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 1053 NT_SENSOR_NT40A01_4X1_DDR3_POWER = NT_SENSOR_NT40E3_4_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 1054 NT_SENSOR_NT40A01_4X1_NIM_POWER = NT_SENSOR_NT40E3_4_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms 1055 1056 NT_SENSOR_NT40A01_4X1_L1_MAX = NT_SENSOR_NT40E3_4_L1_MAX, //!< Number of NT40E3P4 level 0,1 board sensors 1057} NtSensorsAdapterNT40A01_4X1_t; 1058 1059typedef enum NtSensorsPortNT40A01_4X1_e { 1060 // Public sensors 1061 NT_SENSOR_NT40A01_4X1_NIM = NT_SENSOR_NT40E3_4_NIM, //!< SFP temperature sensor 1062 1063 // Diagnostic sensors (Level 1) 1064 NT_SENSOR_NT40A01_4X1_SUPPLY = NT_SENSOR_NT40E3_4_SUPPLY, //!< SFP supply voltage sensor - does not generate alarms 1065 NT_SENSOR_NT40A01_4X1_TX_BIAS = NT_SENSOR_NT40E3_4_TX_BIAS, //!< SFP TX bias current sensor - does not generate alarms 1066 NT_SENSOR_NT40A01_4X1_TX = NT_SENSOR_NT40E3_4_TX, //!< SFP TX power sensor - does not generate alarms 1067 NT_SENSOR_NT40A01_4X1_RX = NT_SENSOR_NT40E3_4_RX, //!< SFP RX power sensor - does not generate alarms 1068 NT_SENSOR_NT40A01_4X1_PORT_MAX = NT_SENSOR_NT40E3_4_PORT_MAX, //!< Number of NT40E3P4 port sensors 1069} NtSensorsPortNT40A01_4X1_t; 1070 1071typedef enum NtSensorsAdapterNT80E3_2_e { 1072 // Public sensors (Level 0) 1073 NT_SENSOR_NT80E3_FPGA_TEMP, //!< FPGA temperature sensor 1074 NT_SENSOR_NT80E3_PCI_BRIDGE_TEMP, //!< PCI bridge temperature sensor 1075 NT_SENSOR_NT80E3_FAN_SPEED, //!< FAN speed sensor 1076 NT_SENSOR_NT80E3_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN 1077 NT_SENSOR_NT80E3_PSU0_TEMP, //!< Power supply 0 temperature sensor 1078 NT_SENSOR_NT80E3_PSU1_TEMP, //!< Power supply 1 temperature sensor 1079 NT_SENSOR_NT80E3_PSU2_0_TEMP, //!< Power supply 2, IC0 junction temperature sensor 1080 NT_SENSOR_NT80E3_PSU2_1_TEMP, //!< Power supply 2, IC1 junction temperature sensor 1081 NT_SENSOR_NT80E3_OSC_TEMP, //!< Clock oscillator temperature sensor 1082 NT_SENSOR_NT80E3_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure 1083 NT_SENSOR_NT80E3_PCB_TEMP, //!< PCB temperature sensor 1084 1085 // Diagnostic sensors (Level 1) 1086 NT_SENSOR_NT80E3_NT80E3_POWER, //!< Total power consumption (calculated value) - does not generate alarms 1087 NT_SENSOR_NT80E3_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 1088 NT_SENSOR_NT80E3_DDR3_POWER, //!< DDR3 RAM9 power consumption (calculated value) - does not generate alarms 1089 NT_SENSOR_NT80E3_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms 1090 NT_SENSOR_NT80E3_PCI_BRIDGE_POWER, //!< PCI bridge power consumption (calculated value) - does not generate alarms 1091 1092 NT_SENSOR_NT80E3_L1_MAX, //!< Number of NT80E3 level 0,1 board sensors 1093} NtSensorsAdapterNT80E3_2_t; 1094 1095//The NIM temperature sensor must be the one with the lowest sensorIndex 1096//(enum value) in order to be shown by the monitoring tool in port mode 1097enum NtSensorsPortNT80E3_2_e { 1098 // Public sensors 1099 NT_SENSOR_NT80E3_NIM, //!< QSFP+ temperature sensor 1100 1101 // Diagnostic sensors (Level 1) 1102 NT_SENSOR_NT80E3_SUPPLY, //!< QSFP+ supply voltage sensor 1103 NT_SENSOR_NT80E3_TX_BIAS1, //!< QSFP+ TX bias line 0 current sensor 1104 NT_SENSOR_NT80E3_TX_BIAS2, //!< QSFP+ TX bias line 1 current sensor 1105 NT_SENSOR_NT80E3_TX_BIAS3, //!< QSFP+ TX bias line 2 current sensor 1106 NT_SENSOR_NT80E3_TX_BIAS4, //!< QSFP+ TX bias line 3 current sensor 1107 NT_SENSOR_NT80E3_RX1, //!< QSFP+ RX line 0 power sensor 1108 NT_SENSOR_NT80E3_RX2, //!< QSFP+ RX line 1 power sensor 1109 NT_SENSOR_NT80E3_RX3, //!< QSFP+ RX line 2 power sensor 1110 NT_SENSOR_NT80E3_RX4, //!< QSFP+ RX line 3 power sensor 1111 NT_SENSOR_NT80E3_TX1, //!< QSFP+ TX line 0 power sensor 1112 NT_SENSOR_NT80E3_TX2, //!< QSFP+ TX line 1 power sensor 1113 NT_SENSOR_NT80E3_TX3, //!< QSFP+ TX line 2 power sensor 1114 NT_SENSOR_NT80E3_TX4, //!< QSFP+ TX line 3 power sensor 1115 NT_SENSOR_NT80E3_PORT_MAX, //!< Number of NT80E3 port sensors 1116}; 1117 1118// The NT100E3 adapter sensor id's must match the corresponding id's for NT80E3 1119typedef enum NtSensorsAdapterNT100E3_e { 1120 // Public sensors (Level 0) 1121 NT_SENSOR_NT100E3_FPGA_TEMP = NT_SENSOR_NT80E3_FPGA_TEMP, //!< FPGA temperature sensor 1122 NT_SENSOR_NT100E3_PCI_BRIDGE_TEMP = NT_SENSOR_NT80E3_PCI_BRIDGE_TEMP, //!< PCI bridge temperature sensor 1123 NT_SENSOR_NT100E3_FAN_SPEED = NT_SENSOR_NT80E3_FAN_SPEED, //!< FAN speed sensor 1124 NT_SENSOR_NT100E3_MCU_TEMP = NT_SENSOR_NT80E3_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN 1125 NT_SENSOR_NT100E3_PSU0_TEMP = NT_SENSOR_NT80E3_PSU0_TEMP, //!< Power supply 0 temperature sensor 1126 NT_SENSOR_NT100E3_PSU1_TEMP = NT_SENSOR_NT80E3_PSU1_TEMP, //!< Power supply 1 temperature sensor 1127 NT_SENSOR_NT100E3_PSU2_0_TEMP = NT_SENSOR_NT80E3_PSU2_0_TEMP, //!< Power supply 2, IC0 junction temperature sensor 1128 NT_SENSOR_NT100E3_PSU2_1_TEMP = NT_SENSOR_NT80E3_PSU2_1_TEMP, //!< Power supply 2, IC1 junction temperature sensor 1129 NT_SENSOR_NT100E3_OSC_TEMP = NT_SENSOR_NT80E3_OSC_TEMP, //!< Clock oscillator temperature sensor 1130 NT_SENSOR_NT100E3_EXT_TEMP = NT_SENSOR_NT80E3_EXT_TEMP, //!< External temperature sensor located at board corner outside enclosure 1131 NT_SENSOR_NT100E3_PCB_TEMP = NT_SENSOR_NT80E3_PCB_TEMP, //!< PCB temperature sensor 1132 1133 // Diagnostic sensors (Level 1) 1134 NT_SENSOR_NT100E3_NT100E3_POWER = NT_SENSOR_NT80E3_NT80E3_POWER, //!< Total power consumption (calculated value) - does not generate alarms 1135 NT_SENSOR_NT100E3_FPGA_POWER = NT_SENSOR_NT80E3_FPGA_POWER, //!< FPGA power consumption (calculated value) - does not generate alarms 1136 NT_SENSOR_NT100E3_DDR3_POWER = NT_SENSOR_NT80E3_DDR3_POWER, //!< DDR3 RAM power consumption (calculated value) - does not generate alarms 1137 NT_SENSOR_NT100E3_NIM_POWER = NT_SENSOR_NT80E3_NIM_POWER, //!< NIM power consumption (calculated value) - does not generate alarms 1138 NT_SENSOR_NT100E3_PCI_BRIDGE_POWER = NT_SENSOR_NT80E3_PCI_BRIDGE_POWER, //!< PCI bridge power consumption (calculated value) - does not generate alarms 1139 1140 NT_SENSOR_NT100E3_L1_MAX, //!< Number of NT100E3 level 0,1 board sensors 1141} NtSensorsAdapterNT100E3_t; 1142 1143//The NIM temperature sensor must be the one with the lowest sensorIndex 1144//(enum value) in order to be shown by the monitoring tool in port mode 1145enum NtSensorsPortNT100E3_e { 1146 // Public sensors 1147 NT_SENSOR_NT100E3_NIM, //!< CFP4 temperature sensor 1148 NT_SENSOR_NT100E3_GEARBOX_TEMP, //!< Gearbox temperature sensor 1149 1150 // Diagnostic sensors (Level 1) 1151 NT_SENSOR_NT100E3_SUPPLY, //!< CFP4 supply voltage sensor - does not generate alarms 1152 NT_SENSOR_NT100E3_TX_BIAS1, //!< CFP4 TX lane 0 bias current sensor 1153 NT_SENSOR_NT100E3_TX_BIAS2, //!< CFP4 TX lane 1 bias current sensor 1154 NT_SENSOR_NT100E3_TX_BIAS3, //!< CFP4 TX lane 2 bias current sensor 1155 NT_SENSOR_NT100E3_TX_BIAS4, //!< CFP4 TX lane 3 bias current sensor 1156 NT_SENSOR_NT100E3_TX1, //!< CFP4 TX lane 0 power sensor 1157 NT_SENSOR_NT100E3_TX2, //!< CFP4 TX lane 1 power sensor 1158 NT_SENSOR_NT100E3_TX3, //!< CFP4 TX lane 2 power sensor 1159 NT_SENSOR_NT100E3_TX4, //!< CFP4 TX lane 3 power sensor 1160 NT_SENSOR_NT100E3_RX1, //!< CFP4 RX lane 0 power sensor 1161 NT_SENSOR_NT100E3_RX2, //!< CFP4 RX lane 1 power sensor 1162 NT_SENSOR_NT100E3_RX3, //!< CFP4 RX lane 2 power sensor 1163 NT_SENSOR_NT100E3_RX4, //!< CFP4 RX lane 3 power sensor 1164 1165 NT_SENSOR_NT100E3_PORT_MAX, //!< Number of NT100E3 port sensors 1166}; 1167 1168// The NT200E3 adapter sensor id's 1169typedef enum NtSensorsAdapterNT200E3_e { 1170 // Public sensors (Level 0) 1171 NT_SENSOR_NT200E3_FPGA_TEMP, //!< FPGA temperature sensor 1172 NT_SENSOR_NT200E3_FAN_SPEED, //!< FAN speed sensor 1173 NT_SENSOR_NT200E3_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN 1174 NT_SENSOR_NT200E3_PSU0_TEMP, //!< Power supply 0 temperature sensor 1175 NT_SENSOR_NT200E3_PSU1_TEMP, //!< Power supply 1 temperature sensor 1176 NT_SENSOR_NT200E3_PCB_TEMP, //!< PCB temperature sensor 1177 1178 // Diagnostic sensors (Level 1) 1179 NT_SENSOR_NT200E3_NT200E3_POWER , //!< Total power consumption (calculated value) - does not generate alarms 1180 NT_SENSOR_NT200E3_FPGA_POWER , //!< FPGA power consumption (calculated value) - does not generate alarms 1181 NT_SENSOR_NT200E3_DDR4_POWER , //!< DDR4 RAM power consumption (calculated value) - does not generate alarms 1182 NT_SENSOR_NT200E3_NIM_POWER , //!< NIM power consumption (calculated value) - does not generate alarms 1183 1184 NT_SENSOR_NT200E3_L1_MAX, //!< Number of NT200E3 level 0,1 board sensors 1185} NtSensorsAdapterNT200E3_t; 1186 1187//The NIM temperature sensor must be the one with the lowest sensorIndex 1188//(enum value) in order to be shown by the monitoring tool in port mode 1189enum NtSensorsPortNT200E3_2_e { 1190 // Public sensors 1191 NT_SENSOR_NT200E3_NIM, //!< QSFP28 temperature sensor 1192 1193 // Diagnostic sensors (Level 1) 1194 NT_SENSOR_NT200E3_SUPPLY, //!< QSFP28 supply voltage sensor 1195 NT_SENSOR_NT200E3_TX_BIAS1, //!< QSFP28 TX bias line 0 current sensor 1196 NT_SENSOR_NT200E3_TX_BIAS2, //!< QSFP28 TX bias line 1 current sensor 1197 NT_SENSOR_NT200E3_TX_BIAS3, //!< QSFP28 TX bias line 2 current sensor 1198 NT_SENSOR_NT200E3_TX_BIAS4, //!< QSFP28 TX bias line 3 current sensor 1199 NT_SENSOR_NT200E3_RX1, //!< QSFP28 RX line 0 power sensor 1200 NT_SENSOR_NT200E3_RX2, //!< QSFP28 RX line 1 power sensor 1201 NT_SENSOR_NT200E3_RX3, //!< QSFP28 RX line 2 power sensor 1202 NT_SENSOR_NT200E3_RX4, //!< QSFP28 RX line 3 power sensor 1203 NT_SENSOR_NT200E3_TX1, //!< QSFP28 TX line 0 power sensor 1204 NT_SENSOR_NT200E3_TX2, //!< QSFP28 TX line 1 power sensor 1205 NT_SENSOR_NT200E3_TX3, //!< QSFP28 TX line 2 power sensor 1206 NT_SENSOR_NT200E3_TX4, //!< QSFP28 TX line 3 power sensor 1207 NT_SENSOR_NT200E3_PORT_MAX, //!< Number of NT200E3 port sensors 1208}; 1209 1210// The NT200A01 adapter sensor id's 1211typedef enum NtSensorsAdapterNT200A01_e { 1212 // Public sensors (Level 0) 1213 NT_SENSOR_NT200A01_FPGA_TEMP, //!< FPGA temperature sensor 1214 NT_SENSOR_NT200A01_FAN_SPEED, //!< FAN speed sensor 1215 NT_SENSOR_NT200A01_MCU_TEMP, //!< MCU (Micro Controller Unit) temperature sensor located inside enclosure below FAN 1216 NT_SENSOR_NT200A01_PSU0_TEMP, //!< Power supply 0 temperature sensor 1217 NT_SENSOR_NT200A01_PCB_TEMP, //!< PCB temperature sensor 1218 1219 // Diagnostic sensors (Level 1) 1220 NT_SENSOR_NT200A01_NT200A01_POWER , //!< Total power consumption (calculated value) - does not generate alarms 1221 NT_SENSOR_NT200A01_FPGA_POWER , //!< FPGA power consumption (calculated value) - does not generate alarms 1222 NT_SENSOR_NT200A01_DDR4_POWER , //!< DDR4 RAM power consumption (calculated value) - does not generate alarms 1223 NT_SENSOR_NT200A01_NIM_POWER , //!< NIM power consumption (calculated value) - does not generate alarms 1224 1225 NT_SENSOR_NT200A01_L1_MAX, //!< Number of NT200A01 level 0,1 board sensors 1226} NtSensorsAdapterNT200A01_t; 1227 1228//The NIM temperature sensor must be the one with the lowest sensorIndex 1229//(enum value) in order to be shown by the monitoring tool in port mode 1230enum NtSensorsPortNT200A01_e { 1231 // Public sensors 1232 NT_SENSOR_NT200A01_NIM, //!< QSFP28 temperature sensor 1233 1234 // Diagnostic sensors (Level 1) 1235 NT_SENSOR_NT200A01_SUPPLY, //!< QSFP28 supply voltage sensor 1236 NT_SENSOR_NT200A01_TX_BIAS1, //!< QSFP28 TX bias line 0 current sensor 1237 NT_SENSOR_NT200A01_TX_BIAS2, //!< QSFP28 TX bias line 1 current sensor 1238 NT_SENSOR_NT200A01_TX_BIAS3, //!< QSFP28 TX bias line 2 current sensor 1239 NT_SENSOR_NT200A01_TX_BIAS4, //!< QSFP28 TX bias line 3 current sensor 1240 NT_SENSOR_NT200A01_RX1, //!< QSFP28 RX line 0 power sensor 1241 NT_SENSOR_NT200A01_RX2, //!< QSFP28 RX line 1 power sensor 1242 NT_SENSOR_NT200A01_RX3, //!< QSFP28 RX line 2 power sensor 1243 NT_SENSOR_NT200A01_RX4, //!< QSFP28 RX line 3 power sensor 1244 NT_SENSOR_NT200A01_TX1, //!< QSFP28 TX line 0 power sensor 1245 NT_SENSOR_NT200A01_TX2, //!< QSFP28 TX line 1 power sensor 1246 NT_SENSOR_NT200A01_TX3, //!< QSFP28 TX line 2 power sensor 1247 NT_SENSOR_NT200A01_TX4, //!< QSFP28 TX line 3 power sensor 1248 NT_SENSOR_NT200A01_PORT_MAX, //!< Number of NT200A01 port sensors 1249}; 1250 1251enum NtPTPProfile_e { 1252 NT_PTP_PROFILE_DEFAULT = 0, //!< PTP Default E2E Profile according to IEEE1588-2008 1253 NT_PTP_PROFILE_TELECOM, //!< PTP Telecom Profile (ITU G.8265.1) 1254 NT_PTP_PROFILE_POWER, //!< PTP Power Profile (IEEE C37.238) 1255 NT_PTP_PROFILE_COUNT 1256}; 1257 1258/** 1259 * Host loopback position.\n 1260 * The available loopback positions are adapter dependent and undocumented but 1261 * for each adapter a default host loopback position has been defined. 1262 * Therefore only the following values should be used. 1263 */ 1264typedef enum NtHostLoopback_e { 1265 NT_HOST_LOOPBACK_NONE = 0, //!< No host loopback 1266 NT_HOST_LOOPBACK_DEFAULT = INT_MAX, //!< Default host loopback. 1267} NtHostLoopback_t; 1268 1269/** 1270 * Line loopback position.\n 1271 * The available loopback positions are adapter dependent and undocumented but 1272 * for each adapter a default line loopback position has been defined. 1273 * Therefore only the following values should be used. 1274 */typedef enum NtLineLoopback_e { 1275 NT_LINE_LOOPBACK_NONE = 0, //!< No line loopback 1276 NT_LINE_LOOPBACK_DEFAULT = INT_MAX, //!< Default line loopback. 1277} NtLineLoopback_t; 1278 1279/** 1280 * Stream-id state. 1281 * When a stream-id is in the active state traffic is forwarded to the stream-id by the adapter 1282 * When a stream-id is in the inactive state traffic is discarded by the adapter 1283 */ 1284enum NtStreamIdState_e { 1285 NT_STREAM_ID_STATE_UNKNOWN, //!< Unknown stream-id state 1286 NT_STREAM_ID_STATE_ACTIVE, //!< Traffic is forwarded to the stream-id 1287 NT_STREAM_ID_STATE_INACTIVE, //!< Traffic is dropped 1288}; 1289 1290/** 1291 * Feature level. 1292 * The feature level supported by the adapter/FPGA 1293 */ 1294enum NtFeatureLevel_e { 1295 NT_FEATURE_LEVEL_UNKNOWN = 0x0000, //!< Unknown feature level 1296 NT_FEATURE_LEVEL_S_CAP2 = 0x1002, //!< Capture level 2 for standard adapter 1297 NT_FEATURE_LEVEL_N_CAP12 = 0x000C, //!< Capture level 12 1298 NT_FEATURE_LEVEL_N_CAP12A = 0x200C, //!< Capture level 12A 1299 NT_FEATURE_LEVEL_N_CAP13 = 0x000D, //!< Capture level 13 1300 NT_FEATURE_LEVEL_N_CAP14 = 0x000E, //!< Capture level 14 1301 NT_FEATURE_LEVEL_N_CAP15 = 0x000F, //!< Capture level 15 1302 NT_FEATURE_LEVEL_N_CAP16 = 0x0010, //!< Capture level 16 1303 NT_FEATURE_LEVEL_S_INL2 = 0x9002, //!< In-line level 2 for standard adapter 1304 NT_FEATURE_LEVEL_N_INL4 = 0x8004, //!< In-line level 4 1305 NT_FEATURE_LEVEL_N_INL4A = 0xA004, //!< In-line level 4A 1306 NT_FEATURE_LEVEL_N_INL5 = 0x8005, //!< In-line level 5 1307 NT_FEATURE_LEVEL_N_INL6 = 0x8006, //!< In-line level 6 1308 NT_FEATURE_LEVEL_N_INL7 = 0x8007, //!< In-line level 7 1309 NT_FEATURE_LEVEL_N_INL8 = 0x8008, //!< In-line level 8 1310 NT_FEATURE_LEVEL_N_ANL1 = 0x4001, //!< Analyser level 1 1311 NT_FEATURE_LEVEL_N_ANL2 = 0x4002, //!< Analyser level 2 1312 NT_FEATURE_LEVEL_N_ANL3 = 0x4003, //!< Analyser level 3 1313 NT_FEATURE_LEVEL_N_ANL3A = 0xA003, //!< Analyser level 3A 1314 NT_FEATURE_LEVEL_N_ANL4 = 0x4004, //!< Analyser level 4 1315 NT_FEATURE_LEVEL_N_ANL5 = 0x4005, //!< Analyser level 5 1316 NT_FEATURE_LEVEL_N_ANL6 = 0x4006, //!< Analyser level 6 1317 NT_FEATURE_LEVEL_N_ANL7 = 0x4007, //!< Analyser level 7 1318 NT_FEATURE_LEVEL_N_ANL8 = 0x4008, //!< Analyser level 8 1319 NT_FEATURE_LEVEL_N_ANL9 = 0x4009, //!< Analyser level 9 1320 NT_FEATURE_LEVEL_N_ANL10 = 0x400A, //!< Analyser level 10 1321 NT_FEATURE_LEVEL_N_ANL11 = 0x400B, //!< Analyser level 11 1322}; 1323 1324#endif //__COMMONTYPES_H__