151#if defined(__cplusplus) || defined(_MSC_VER) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
155 #if defined(__linux) && defined(__KERNEL__)
156 #include <linux/types.h>
157 #elif defined(_MSC_VER) || defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
161 #ifndef SISOBOARDS_INLINE_FUNCTIONS
162 #define SISOBOARDS_INLINE_FUNCTIONS
165#elif defined(SISOBOARDS_INLINE_FUNCTIONS)
169 typedef enum _bool {
false,
true } bool;
175#ifdef SISOBOARDS_INLINE_FUNCTIONS
177static inline const char* GetBoardName(
int boardType) {
188 case PN_PX100:
return "PixelPlant PX100";
189 case PN_PX200:
return "PixelPlant PX200";
190 case PN_PX210:
return "PixelPlant PX210-CL";
191 case PN_PX300:
return "PixelPlant PX300-CxP";
222 case PN_TDI:
return "Thunderbolt Device Interface/II";
223 case PN_TDI_I:
return "Thunderbolt Device Interface";
224 case PN_TDI_II:
return "Thunderbolt Device Interface II";
237 case PN_TTDI:
return "Test Thunderbolt Device Interface";
260 default:
return "UNKNOWN";
264static inline bool SisoBoardIsMe4(
const int boardType)
283static inline bool SisoBoardIsPxp(
const int boardType)
296static inline bool SisoBoardIsMe5(
const int boardType)
339static inline bool SisoBoardIsMe6(
const int boardType)
363static inline bool SisoBoardIsAbacus(
const int boardType)
376static inline bool SisoBoardIsIronMan(
const int boardType)
395static inline bool SisoBoardIsMarathon(
const int boardType)
420static inline bool SisoBoardIsImpulse(
const int boardType)
442static inline bool SisoBoardIsBaslerIC(
const int boardType)
454static inline bool SisoBoardIsElegance(
const int boardType)
464static inline bool SisoBoardIsTdi(
const int boardType)
478static inline bool SisoBoardIsExternal(
const int boardType)
509static inline bool SisoBoardIsCL(
const int boardType)
534 return (boardType & mask) == mask;
539static inline bool SisoBoardIsGigE(
const int boardType)
552 return (boardType & mask) == mask;
557static inline bool SisoBoardIs10GigE(
const int boardType)
565 return (boardType & mask) == mask;
570static inline bool SisoBoardIsCXP(
const int boardType)
599 return (boardType & mask) == mask;
604static inline bool SisoBoardIsCXP12(
const int boardType)
624 return (boardType & mask) == mask;
629static inline bool SisoBoardIsCLHS(
const int boardType)
641 return (boardType & mask) == mask;
646static inline bool SisoBoardIsV(
const int boardType)
674static inline int SisoBoardNumberOfPhysicalPorts(
const int boardType)
740static inline int SisoBoardNumberOfPCIeLanes(
const int boardType)
806static inline int SisoBoardPCIeGeneration(
const int boardType)
872static inline bool SisoBoardIsOEM(
const int boardType)
903static inline bool SisoBoardProdHasExtendedType(
const int boardType)
937static inline bool SisoBoardHasExtendedType(
const int boardType)
955static inline enum siso_board_type SisoBoardTypeFromSerialNumber(
unsigned int serial)
963 if (boardType ==
PN_TDI ||
974static inline enum siso_board_type SisoBoardBaseTypeFromExtendedType(
const int boardType)
1015static inline bool SisoBoardSupportTGS(
const int boardType)
1017 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:142
@ 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:136
@ 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:141
@ 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:140
@ 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:144
@ 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:138
@ PN_GENERIC_CLHS
Definition sisoboards.h:147
@ PN_MICROENABLE6_IMPULSE_CX5A
Definition sisoboards.h:130
@ 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:146
@ 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:143
@ 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:132
@ 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:148
@ 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:145
@ PN_MICROENABLE5VQ8CXP6B
Definition sisoboards.h:54
@ PN_MICROENABLE5_LIGHTBRIDGE_MARATHON_VCL
Definition sisoboards.h:67
@ PN_MICROENABLE6_LIGHTBRIDGE_FB2A
Definition sisoboards.h:134
@ 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