14#define BSWAP32(x) ((x << 24) | ((x & 0xff00) << 8) | ((x & 0xff0000) >> 8) | (x >> 24))
15#define BSWAP16(x) ((((unsigned short int)x) << 8) | (x >> 8))
22#define iLink_NODE_IRMC 0x10
23#define iLink_NODE_CMC 0x08
24#define iLink_NODE_ISC 0x04
25#define iLink_NODE_BMC 0x02
26#define iLink_NODE_PMC 0x01
28#define iLink_CB_WRITE_REQUEST 0x01
29#define iLink_CB_READ_REQUEST 0x02
30#define iLink_CB_LOCK_REQUEST 0x04
31#define iLink_CB_BUS_RESET 0x08
33extern void iLinkEnableSBus(
void);
34extern void iLinkDisableSBus(
void);
35extern void iLinkResetSBus(
void);
36extern unsigned int iLinkSetNodeCapabilities(
unsigned int capabilities);
37extern void *iLinkSetTrCallbackHandler(
void *function);
38extern int iLinkGetGenerationNumber(
void);
40extern int iLinkGetLocalNodeID(
void);
41extern int iLinkGetNodeCount(
void);
43extern int iLinkTrAlloc(
unsigned short int NodeID,
unsigned char speed);
44extern void iLinkTrFree(
int trContext);
45extern int iLinkTrWrite(
int trContext,
unsigned short int offset_high,
unsigned int offset_low,
void *buffer,
unsigned int nBytes);
46extern int iLinkTrRead(
int trContext,
unsigned short int offset_high,
unsigned int offset_low,
void *buffer,
unsigned int nBytes);
48extern unsigned short int iLinkCalculateCRC16(
void *data,
unsigned int nQuads);
49extern int iLinkAddCROMUnit(
unsigned int *data,
unsigned int nQuads);
50extern void iLinkDeleteCROMUnit(
unsigned int id);
51extern int iLinkGetNodeCapabilities(
unsigned short NodeID);
52extern int iLinkGetNodeMaxSpeed(
unsigned short int NodeID);
54extern int iLinkGetNodeTrSpeed(
int trContext);
55extern int iLinkSetNodeTrSpeed(
int trContext,
unsigned char speed);
57extern int iLinkFindUnit(
int UnitInList,
unsigned int UnitSpec,
unsigned int UnitSW_Version);
58extern int iLinkReadCROM(
unsigned short int NodeID,
unsigned int Offset,
unsigned int nQuads,
unsigned int *buffer);
60extern u64 iLinkGetLocalNodeEUI64(
void);
62#define iLinkman_IMPORTS_start DECLARE_IMPORT_TABLE(iLinkman, 1, 1)
63#define iLinkman_IMPORTS_end END_IMPORT_TABLE
65#define I_iLinkEnableSBus DECLARE_IMPORT(4, iLinkEnableSBus)
66#define I_iLinkDisableSBus DECLARE_IMPORT(5, iLinkDisableSBus)
67#define I_iLinkResetSBus DECLARE_IMPORT(6, iLinkResetSBus)
68#define I_iLinkSetNodeCapabilities DECLARE_IMPORT(7, iLinkSetNodeCapabilities)
69#define I_iLinkSetTrCallbackHandler DECLARE_IMPORT(8, iLinkSetTrCallbackHandler)
70#define I_iLinkGetGenerationNumber DECLARE_IMPORT(9, iLinkGetGenerationNumber)
71#define I_iLinkGetLocalNodeID DECLARE_IMPORT(10, iLinkGetLocalNodeID)
72#define I_iLinkGetNodeCount DECLARE_IMPORT(11, iLinkGetNodeCount)
73#define I_iLinkTrAlloc DECLARE_IMPORT(12, iLinkTrAlloc)
74#define I_iLinkTrFree DECLARE_IMPORT(13, iLinkTrFree)
75#define I_iLinkTrWrite DECLARE_IMPORT(14, iLinkTrWrite)
76#define I_iLinkTrRead DECLARE_IMPORT(15, iLinkTrRead)
77#define I_iLinkCalculateCRC16 DECLARE_IMPORT(16, iLinkCalculateCRC16)
78#define I_iLinkAddCROMUnit DECLARE_IMPORT(17, iLinkAddCROMUnit)
79#define I_iLinkDeleteCROMUnit DECLARE_IMPORT(18, iLinkDeleteCROMUnit)
80#define I_iLinkGetNodeCapabilities DECLARE_IMPORT(19, iLinkGetNodeCapabilities)
81#define I_iLinkGetNodeMaxSpeed DECLARE_IMPORT(20, iLinkGetNodeMaxSpeed)
82#define I_iLinkGetNodeTrSpeed DECLARE_IMPORT(21, iLinkGetNodeTrSpeed)
83#define I_iLinkSetNodeTrSpeed DECLARE_IMPORT(22, iLinkSetNodeTrSpeed)
84#define I_iLinkFindUnit DECLARE_IMPORT(23, iLinkFindUnit)
85#define I_iLinkReadCROM DECLARE_IMPORT(24, iLinkReadCROM)
86#define I_iLinkGetLocalNodeEUI64 DECLARE_IMPORT(12, iLinkGetLocalNodeEUI64)