sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
iLinkman.h
Go to the documentation of this file.
1/* iLinkman.h
2 * Purpose: Main header file containing function prototypes, structure declaration and other declarations.
3 *
4 * Last Updated: 2012/02/28
5 * Programmer: SP193
6 */
7
12#ifndef __ILINKMAN_H__
13#define __ILINKMAN_H__
14
15#include <types.h>
16#include <irx.h>
17
18#define BSWAP32(x) ((x << 24) | ((x & 0xff00) << 8) | ((x & 0xff0000) >> 8) | (x >> 24))
19#define BSWAP16(x) ((((unsigned short int)x) << 8) | (x >> 8))
20
21/* IEEE1394 speeds */
22#define S100 0
23#define S200 1
24#define S400 2
25
26#define iLink_NODE_IRMC 0x10
27#define iLink_NODE_CMC 0x08
28#define iLink_NODE_ISC 0x04
29#define iLink_NODE_BMC 0x02
30#define iLink_NODE_PMC 0x01
31
32#define iLink_CB_WRITE_REQUEST 0x01
33#define iLink_CB_READ_REQUEST 0x02
34#define iLink_CB_LOCK_REQUEST 0x04
35#define iLink_CB_BUS_RESET 0x08
36
37extern void iLinkEnableSBus(void);
38extern void iLinkDisableSBus(void);
39extern void iLinkResetSBus(void);
40extern unsigned int iLinkSetNodeCapabilities(unsigned int capabilities);
41extern void *iLinkSetTrCallbackHandler(void *function);
42extern int iLinkGetGenerationNumber(void);
43
44extern int iLinkGetLocalNodeID(void);
45extern int iLinkGetNodeCount(void);
46
47extern int iLinkTrAlloc(unsigned short int NodeID, unsigned char speed);
48extern void iLinkTrFree(int trContext);
49extern int iLinkTrWrite(int trContext, unsigned short int offset_high, unsigned int offset_low, void *buffer, unsigned int nBytes);
50extern int iLinkTrRead(int trContext, unsigned short int offset_high, unsigned int offset_low, void *buffer, unsigned int nBytes);
51
52extern unsigned short int iLinkCalculateCRC16(void *data, unsigned int nQuads);
53extern int iLinkAddCROMUnit(unsigned int *data, unsigned int nQuads);
54extern void iLinkDeleteCROMUnit(unsigned int id);
55extern int iLinkGetNodeCapabilities(unsigned short NodeID);
56extern int iLinkGetNodeMaxSpeed(unsigned short int NodeID);
57
58extern int iLinkGetNodeTrSpeed(int trContext);
59extern int iLinkSetNodeTrSpeed(int trContext, unsigned char speed);
60
61extern int iLinkFindUnit(int UnitInList, unsigned int UnitSpec, unsigned int UnitSW_Version);
62extern int iLinkReadCROM(unsigned short int NodeID, unsigned int Offset, unsigned int nQuads, unsigned int *buffer);
63
64extern u64 iLinkGetLocalNodeEUI64(void);
65
66#define iLinkman_IMPORTS_start DECLARE_IMPORT_TABLE(iLinkman, 1, 1)
67#define iLinkman_IMPORTS_end END_IMPORT_TABLE
68
69#define I_iLinkEnableSBus DECLARE_IMPORT(4, iLinkEnableSBus)
70#define I_iLinkDisableSBus DECLARE_IMPORT(5, iLinkDisableSBus)
71#define I_iLinkResetSBus DECLARE_IMPORT(6, iLinkResetSBus)
72#define I_iLinkSetNodeCapabilities DECLARE_IMPORT(7, iLinkSetNodeCapabilities)
73#define I_iLinkSetTrCallbackHandler DECLARE_IMPORT(8, iLinkSetTrCallbackHandler)
74#define I_iLinkGetGenerationNumber DECLARE_IMPORT(9, iLinkGetGenerationNumber)
75#define I_iLinkGetLocalNodeID DECLARE_IMPORT(10, iLinkGetLocalNodeID)
76#define I_iLinkGetNodeCount DECLARE_IMPORT(11, iLinkGetNodeCount)
77#define I_iLinkTrAlloc DECLARE_IMPORT(12, iLinkTrAlloc)
78#define I_iLinkTrFree DECLARE_IMPORT(13, iLinkTrFree)
79#define I_iLinkTrWrite DECLARE_IMPORT(14, iLinkTrWrite)
80#define I_iLinkTrRead DECLARE_IMPORT(15, iLinkTrRead)
81#define I_iLinkCalculateCRC16 DECLARE_IMPORT(16, iLinkCalculateCRC16)
82#define I_iLinkAddCROMUnit DECLARE_IMPORT(17, iLinkAddCROMUnit)
83#define I_iLinkDeleteCROMUnit DECLARE_IMPORT(18, iLinkDeleteCROMUnit)
84#define I_iLinkGetNodeCapabilities DECLARE_IMPORT(19, iLinkGetNodeCapabilities)
85#define I_iLinkGetNodeMaxSpeed DECLARE_IMPORT(20, iLinkGetNodeMaxSpeed)
86#define I_iLinkGetNodeTrSpeed DECLARE_IMPORT(21, iLinkGetNodeTrSpeed)
87#define I_iLinkSetNodeTrSpeed DECLARE_IMPORT(22, iLinkSetNodeTrSpeed)
88#define I_iLinkFindUnit DECLARE_IMPORT(23, iLinkFindUnit)
89#define I_iLinkReadCROM DECLARE_IMPORT(24, iLinkReadCROM)
90#define I_iLinkGetLocalNodeEUI64 DECLARE_IMPORT(12, iLinkGetLocalNodeEUI64)
91
92#endif /* __ILINKMAN_H__ */