sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
dev9.h
Go to the documentation of this file.
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# Copyright (c) 2003 Marcus R. Brown <mrbrown@0xd6.org>
7# Licenced under Academic Free License version 2.0
8# Review ps2sdk README & LICENSE files for further details.
9*/
10
16
17#ifndef __DEV9_H__
18#define __DEV9_H__
19
20#include <types.h>
21#include <irx.h>
22
23#include <hdd-ioctl.h>
24
25typedef int (*dev9_intr_cb_t)(int flag);
26typedef void (*dev9_shutdown_cb_t)(void);
27typedef void (*dev9_dma_cb_t)(int bcr, int dir);
28
29extern void SpdRegisterIntrHandler(int intr, dev9_intr_cb_t cb);
30
31extern int SpdDmaTransfer(int ctrl, void *buf, int bcr, int dir);
32
33extern void Dev9CardStop(void);
34extern void SpdIntrEnable(int mask);
35extern void SpdIntrDisable(int mask);
36
37extern int SpdGetEthernetID(u16 *buf);
38
39extern void SpdSetLED(int ctl);
40extern void dev9LED2Ctl(int ctl);
41extern void dev9ControlPIO3(int ctl);
42
43extern int Dev9RegisterPowerOffHandler(int idx, dev9_shutdown_cb_t cb);
44
45extern void dev9RegisterPreDmaCb(int ctrl, dev9_dma_cb_t cb);
46
47extern void dev9RegisterPostDmaCb(int ctrl, dev9_dma_cb_t cb);
48
49#define dev9_IMPORTS_start DECLARE_IMPORT_TABLE(dev9, 1, 9)
50#define dev9_IMPORTS_end END_IMPORT_TABLE
51
52#define I_SpdRegisterIntrHandler DECLARE_IMPORT(4, SpdRegisterIntrHandler)
53#define I_SpdDmaTransfer DECLARE_IMPORT(5, SpdDmaTransfer)
54#define I_Dev9CardStop DECLARE_IMPORT(6, Dev9CardStop)
55#define I_SpdIntrEnable DECLARE_IMPORT(7, SpdIntrEnable)
56#define I_SpdIntrDisable DECLARE_IMPORT(8, SpdIntrDisable)
57#define I_SpdGetEthernetID DECLARE_IMPORT(9, SpdGetEthernetID)
58#define I_SpdSetLED DECLARE_IMPORT(10, SpdSetLED)
59#define I_Dev9RegisterPowerOffHandler DECLARE_IMPORT(11, Dev9RegisterPowerOffHandler)
60#define I_dev9RegisterPreDmaCb DECLARE_IMPORT(12, dev9RegisterPreDmaCb)
61#define I_dev9RegisterPostDmaCb DECLARE_IMPORT(13, dev9RegisterPostDmaCb)
62#define I_dev9ControlPIO3 DECLARE_IMPORT(14, dev9ControlPIO3)
63#define I_dev9LED2Ctl DECLARE_IMPORT(15, dev9LED2Ctl)
64
65// Backwards-compatibility defines
66
67#define dev9RegisterIntrCb SpdRegisterIntrHandler
68#define dev9DmaTransfer SpdDmaTransfer
69#define dev9Shutdown Dev9CardStop
70#define dev9IntrEnable SpdIntrEnable
71#define dev9IntrDisable SpdIntrDisable
72#define dev9GetEEPROM SpdGetEthernetID
73#define dev9LEDCtl SpdSetLED
74#define dev9RegisterShutdownCb Dev9RegisterPowerOffHandler
75
76#define I_dev9RegisterIntrCb I_SpdRegisterIntrHandler
77#define I_dev9DmaTransfer I_SpdDmaTransfer
78#define I_dev9Shutdown I_Dev9CardStop
79#define I_dev9IntrEnable I_SpdIntrEnable
80#define I_dev9IntrDisable I_SpdIntrDisable
81#define I_dev9GetEEPROM I_SpdGetEthernetID
82#define I_dev9LEDCtl I_SpdSetLED
83#define I_dev9RegisterShutdownCb I_Dev9RegisterPowerOffHandler
84
85#endif /* __DEV9_H__ */