152#if defined(__cplusplus) || defined(_MSC_VER) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
156 #if defined(__linux) && defined(__KERNEL__)
157 #include <linux/types.h>
158 #elif defined(_MSC_VER) || defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
162 #ifndef SISOBOARDS_INLINE_FUNCTIONS
163 #define SISOBOARDS_INLINE_FUNCTIONS
166#elif defined(SISOBOARDS_INLINE_FUNCTIONS)
170 typedef enum _bool {
false,
true } bool;
176#ifdef SISOBOARDS_INLINE_FUNCTIONS
178static inline const char* GetBoardName(
int boardType) {
189 case PN_PX100:
return "PixelPlant PX100";
190 case PN_PX200:
return "PixelPlant PX200";
191 case PN_PX210:
return "PixelPlant PX210-CL";
192 case PN_PX300:
return "PixelPlant PX300-CxP";
223 case PN_TDI:
return "Thunderbolt Device Interface/II";
224 case PN_TDI_I:
return "Thunderbolt Device Interface";
225 case PN_TDI_II:
return "Thunderbolt Device Interface II";
238 case PN_TTDI:
return "Test Thunderbolt Device Interface";
261 default:
return "UNKNOWN";
265static inline bool SisoBoardIsMe4(
const int boardType)
284static inline bool SisoBoardIsPxp(
const int boardType)
297static inline bool SisoBoardIsMe5(
const int boardType)
340static inline bool SisoBoardIsMe6(
const int boardType)
364static inline bool SisoBoardIsAbacus(
const int boardType)
377static inline bool SisoBoardIsIronMan(
const int boardType)
396static inline bool SisoBoardIsMarathon(
const int boardType)
421static inline bool SisoBoardIsImpulse(
const int boardType)
443static inline bool SisoBoardIsBaslerIC(
const int boardType)
455static inline bool SisoBoardIsElegance(
const int boardType)
465static inline bool SisoBoardIsTdi(
const int boardType)
479static inline bool SisoBoardIsExternal(
const int boardType)
510static inline bool SisoBoardIsCL(
const int boardType)
535 return (boardType & mask) == mask;
540static inline bool SisoBoardIsGigE(
const int boardType)
553 return (boardType & mask) == mask;
558static inline bool SisoBoardIs10GigE(
const int boardType)
566 return (boardType & mask) == mask;
571static inline bool SisoBoardIsCXP(
const int boardType)
600 return (boardType & mask) == mask;
605static inline bool SisoBoardIsCXP12(
const int boardType)
625 return (boardType & mask) == mask;
630static inline bool SisoBoardIsCLHS(
const int boardType)
642 return (boardType & mask) == mask;
647static inline bool SisoBoardIsV(
const int boardType)
675static inline int SisoBoardNumberOfPhysicalPorts(
const int boardType)
741static inline int SisoBoardNumberOfPCIeLanes(
const int boardType)
807static inline int SisoBoardPCIeGeneration(
const int boardType)
873static inline bool SisoBoardIsOEM(
const int boardType)
904static inline bool SisoBoardProdHasExtendedType(
const int boardType)
938static inline bool SisoBoardHasExtendedType(
const int boardType)
956static inline enum siso_board_type SisoBoardTypeFromSerialNumber(
unsigned int serial)
964 if (boardType ==
PN_TDI ||
975static inline enum siso_board_type SisoBoardBaseTypeFromExtendedType(
const int boardType)
1016static inline bool SisoBoardSupportTGS(
const int boardType)
1018 switch (boardType) {
siso_board_type
Definition sisoboards.h:23
@ PN_TDI_I
Definition sisoboards.h:88
@ PN_MICROENABLE4AD1CL
Definition sisoboards.h:25
@ PN_TGATE
Definition sisoboards.h:94
@ PN_TGATE_35
Definition sisoboards.h:97
@ PN_GENERIC_CXP
Definition sisoboards.h:143
@ PN_MICROENABLE5_MARATHON_VCL
Definition sisoboards.h:69
@ PN_TGATE_II_35
Definition sisoboards.h:99
@ PN_PX100
Definition sisoboards.h:44
@ PN_MICROENABLE4_H264CLx1
Definition sisoboards.h:41
@ PN_MICROENABLE6_IMPULSE_KCU116
Definition sisoboards.h:112
@ PN_MICROENABLE4VD4CL
Definition sisoboards.h:33
@ PN_PX200
Definition sisoboards.h:45
@ PN_MICROENABLE6_IMPULSE_PROTOTYPE
Definition sisoboards.h:137
@ PN_TGATE_II_35_USB
Definition sisoboards.h:102
@ PN_MICROENABLE5_LIGHTBRIDGE_VCL
Definition sisoboards.h:68
@ PN_MICROENABLE5VF8CL
Definition sisoboards.h:61
@ PN_MICROENABLE4FULLx1
Definition sisoboards.h:31
@ PN_GENERIC_EVA
Definition sisoboards.h:142
@ PN_MICROENABLE5_MARATHON_VCL_SPI
Definition sisoboards.h:71
@ PN_MICROENABLE5VD8CL
Definition sisoboards.h:60
@ PN_MICROENABLE4BASE
Definition sisoboards.h:26
@ PN_MICROENABLE5AQ8CXP6D
Definition sisoboards.h:59
@ PN_UNKNOWN
Definition sisoboards.h:141
@ PN_MICROENABLE4_H264pCLx1
Definition sisoboards.h:42
@ PN_MICROENABLE5_LIGHTBRIDGE_VCL_SPI
Definition sisoboards.h:70
@ PN_MICROENABLE6_IMPULSE_CX4S
Definition sisoboards.h:123
@ PN_MICROENABLE4VQ4GE
Definition sisoboards.h:37
@ PN_GENERIC_GIGE
Definition sisoboards.h:145
@ PN_PX300
Definition sisoboards.h:47
@ PN_MICROENABLE5_MARATHON_ACX_SP
Definition sisoboards.h:79
@ PN_MICROENABLE5A2CLHSF2
Definition sisoboards.h:63
@ PN_MICROENABLE4BASEx4
Definition sisoboards.h:28
@ PN_TDI
Definition sisoboards.h:87
@ PN_MICROENABLE5_LIGHTBRIDGE_ACL
Definition sisoboards.h:75
@ PN_MICROENABLE5AQ8CXP4
Definition sisoboards.h:52
@ PN_MICROENABLE5VQ8CXP4
Definition sisoboards.h:55
@ PN_MICROENABLE5_MARATHON_VCX_QP
Definition sisoboards.h:81
@ PN_MICROENABLE5_MARATHON_VCLx
Definition sisoboards.h:84
@ PN_TGATE_35_USB
Definition sisoboards.h:100
@ PN_TGATE_I_35
Definition sisoboards.h:98
@ PN_MIPI_1200_PB_12C
Definition sisoboards.h:139
@ PN_GENERIC_CLHS
Definition sisoboards.h:148
@ PN_MICROENABLE6_IMPULSE_CX5A
Definition sisoboards.h:131
@ PN_MICROENABLE5AQ8CXP6B
Definition sisoboards.h:51
@ PN_MICROENABLE5_ABACUS_4G_BASE
Definition sisoboards.h:108
@ PN_TGATE_I_35_USB
Definition sisoboards.h:101
@ PN_TTDI
Definition sisoboards.h:103
@ PN_MICROENABLE6_IMAWORX_CXP12_QUAD
Definition sisoboards.h:113
@ PN_TGATE_II
Definition sisoboards.h:96
@ PN_GENERIC_CL
Definition sisoboards.h:147
@ PN_TGATE_I
Definition sisoboards.h:95
@ PN_TDI_II
Definition sisoboards.h:89
@ PN_MICROENABLE6_IMPULSE_TEST_CXP12_QUAD
Definition sisoboards.h:111
@ PN_MICROENABLE5AD8CLHSF2
Definition sisoboards.h:57
@ PN_MICROENABLE4AQ4GE
Definition sisoboards.h:40
@ PN_MICROENABLE5_MARATHON_ACX_QP
Definition sisoboards.h:73
@ PN_MICROENABLE6_CXP12_LB_2C
Definition sisoboards.h:119
@ PN_MICROENABLE5_ABACUS_4G_PROTOTYPE
Definition sisoboards.h:105
@ PN_MICROENABLE6_IMPULSE_CX4A
Definition sisoboards.h:127
@ PN_PX210
Definition sisoboards.h:46
@ PN_TGATE_I_USB
Definition sisoboards.h:92
@ PN_MICROENABLE6_ABACUS_4TG
Definition sisoboards.h:115
@ PN_GENERIC_CXP12
Definition sisoboards.h:144
@ PN_MICROENABLE4AS1CL
Definition sisoboards.h:36
@ PN_MICROENABLE5_LIGHTBRIDGE_ACL_SPI
Definition sisoboards.h:77
@ PN_MICROENABLE5A1CXP4
Definition sisoboards.h:49
@ PN_MICROENABLE6_CXP12_IC_2C
Definition sisoboards.h:117
@ PN_MICROENABLE6_IMPULSE_CX1S
Definition sisoboards.h:124
@ PN_MICROENABLE5AD8CL
Definition sisoboards.h:64
@ PN_MICROENABLE5_MARATHON_ACX_DP
Definition sisoboards.h:80
@ PN_MICROENABLE5_LIGHTBRIDGE_MARATHON_VCLx
Definition sisoboards.h:83
@ PN_MICROENABLE4FULLx4
Definition sisoboards.h:34
@ PN_MICROENABLE6_IMPULSE_FB4X
Definition sisoboards.h:133
@ PN_MICROENABLE5A1CLHSF2
Definition sisoboards.h:50
@ PN_MICROENABLE5_MARATHON_DeepVCL
Definition sisoboards.h:85
@ PN_MICROENABLE5_MARATHON_ACL
Definition sisoboards.h:76
@ PN_MICROENABLE6_IMAFLEX_CXP12_QUAD
Definition sisoboards.h:122
@ PN_MICROENABLE5_ABACUS_4G
Definition sisoboards.h:106
@ PN_MICROENABLE5VQ8CXP6D
Definition sisoboards.h:58
@ PN_MICROENABLE5_LIGHTBRIDGE_VCL_PROTOTYPE
Definition sisoboards.h:66
@ PN_MICROENABLE6_ELEGANCE_ECO
Definition sisoboards.h:120
@ PN_MICROENABLE5_ABACUS_4G_BASE_II
Definition sisoboards.h:109
@ PN_NONE
Definition sisoboards.h:149
@ PN_MICROENABLE6_IMAFLEX_CXP12_PENTA
Definition sisoboards.h:130
@ PN_MICROENABLE6_IMPULSE_CX4X
Definition sisoboards.h:128
@ PN_MICROENABLE6_CXP12_IC_4C
Definition sisoboards.h:118
@ PN_MICROENABLE5_MARATHON_ACL_SPI
Definition sisoboards.h:78
@ PN_MICROENABLE4AD4CL
Definition sisoboards.h:29
@ PN_MICROENABLE5_MARATHON_AF2_DP
Definition sisoboards.h:72
@ PN_TGATE_II_USB
Definition sisoboards.h:93
@ PN_GENERIC_10GIGE
Definition sisoboards.h:146
@ PN_MICROENABLE5VQ8CXP6B
Definition sisoboards.h:54
@ PN_MICROENABLE5_LIGHTBRIDGE_MARATHON_VCL
Definition sisoboards.h:67
@ PN_MICROENABLE6_LIGHTBRIDGE_FB2A
Definition sisoboards.h:135
@ PN_MICROENABLE4VD1CL
Definition sisoboards.h:30
@ PN_TGATE_USB
Definition sisoboards.h:91
@ PN_MICROENABLE5_LIGHTBRIDGE_MARATHON_ACL
Definition sisoboards.h:74
@ PN_MICROENABLE5_MARATHON_VF2_DP
Definition sisoboards.h:82
@ PN_MICROENABLE6_IMPULSE_CX2S
Definition sisoboards.h:125
@ PN_MICROENABLE6_CXP12_IC_1C
Definition sisoboards.h:116
@ PN_TDI_III
Definition sisoboards.h:90
@ PN_MICROENABLE4GIGEx4
Definition sisoboards.h:38