sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
pvrdrv.h
Go to the documentation of this file.
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# Copyright 2021-2021, ps2dev - http://www.ps2dev.org
7# Licenced under Academic Free License version 2.0
8# Review ps2sdk README & LICENSE files for further details.
9*/
10
17
18#ifndef __PVRDRV_H__
19#define __PVRDRV_H__
20
21#include <types.h>
22#include <irx.h>
23
24typedef struct __attribute__((aligned(4))) drvdrv_exec_cmd_ack_
25{
26 u16 command;
27 u16 input_word[64];
28 u32 input_word_count;
29 u16 status_4220_ack;
30 u16 ack_status_ack;
31 u16 output_word[64];
32 u32 status_4228_ack;
33 u16 status_4220_comp;
34 u16 comp_status;
35 u16 return_result_word[64];
36 u32 status_4228_comp;
37 u32 timeout;
38 void *input_buffer;
39 u32 input_buffer_length;
40 void *output_buffer;
41 int ack_status_ack2;
42 int phase;
43} drvdrv_exec_cmd_ack;
44
45extern int DvrdrvResetSystem();
46extern int DvrdrvEnableIntr(u16 a1);
47extern int DvrdrvDisableIntr(s16 a1);
48extern int DvrdrvRegisterIntrHandler(int a1, void *arg, void (*a3)(int intrnr, void *arg));
49extern int DvrdrvUnregisterIntrHandler(void (*a1)(int intrnr, void *arg));
50extern int DvrdrvExecCmdAck(drvdrv_exec_cmd_ack *a1);
51extern int DvrdrvExecCmdAckComp(drvdrv_exec_cmd_ack *a1);
52extern int DvrdrvExecCmdAckDmaSendComp(drvdrv_exec_cmd_ack *a1);
53extern int DvrdrvExecCmdAckDmaRecvComp(drvdrv_exec_cmd_ack *a1);
54extern int DvrdrvExecCmdAckDma2Comp(drvdrv_exec_cmd_ack *a1);
55
56#define pvrdrv_IMPORTS_start DECLARE_IMPORT_TABLE(pvrdrv, 1, 1)
57#define pvrdrv_IMPORTS_end END_IMPORT_TABLE
58
59#define I_DvrdrvResetSystem DECLARE_IMPORT(4, DvrdrvResetSystem)
60#define I_DvrdrvEnableIntr DECLARE_IMPORT(5, DvrdrvEnableIntr)
61#define I_DvrdrvDisableIntr DECLARE_IMPORT(6, DvrdrvDisableIntr)
62#define I_DvrdrvRegisterIntrHandler DECLARE_IMPORT(7, DvrdrvRegisterIntrHandler)
63#define I_DvrdrvUnregisterIntrHandler DECLARE_IMPORT(8, DvrdrvUnregisterIntrHandler)
64#define I_DvrdrvExecCmdAck DECLARE_IMPORT(9, DvrdrvExecCmdAck)
65#define I_DvrdrvExecCmdAckComp DECLARE_IMPORT(10, DvrdrvExecCmdAckComp)
66#define I_DvrdrvExecCmdAckDmaSendComp DECLARE_IMPORT(11, DvrdrvExecCmdAckDmaSendComp)
67#define I_DvrdrvExecCmdAckDmaRecvComp DECLARE_IMPORT(12, DvrdrvExecCmdAckDmaRecvComp)
68#define I_DvrdrvExecCmdAckDma2Comp DECLARE_IMPORT(13, DvrdrvExecCmdAckDma2Comp)
69
70#endif