sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
vblank.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright 2001-2004, 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
16
17
#ifndef __VBLANK_H__
18
#define __VBLANK_H__
19
20
#include <
irx.h
>
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
26
typedef
struct
vblank_ll_
27
{
28
struct
vblank_ll_
*next;
29
struct
vblank_ll_
*prev;
30
} vblank_ll_t;
31
32
typedef
struct
vblank_item_
33
{
34
vblank_ll_t ll;
35
int
priority;
36
int (*callback)(
void
*userdata);
37
void
*userdata;
38
} vblank_item_t;
39
40
typedef
struct
vblank_internals_
41
{
42
int
ef;
43
int
item_count;
44
vblank_ll_t list_00;
45
vblank_ll_t list_11;
46
vblank_ll_t list_free;
47
vblank_item_t list_items[16];
48
} vblank_internals_t;
49
50
extern
vblank_internals_t *GetVblankInternalData(
void
);
51
52
extern
void
WaitVblankStart();
53
extern
void
WaitVblankEnd();
54
extern
void
WaitVblank();
55
extern
void
WaitNonVblank();
56
57
extern
int
RegisterVblankHandler(
int
startend,
int
priority,
int
(*handler)(
void
*userdata),
58
void
*arg);
59
extern
int
ReleaseVblankHandler(
int
startend,
int
(*handler)(
void
*userdata));
60
61
#define vblank_IMPORTS_start DECLARE_IMPORT_TABLE(vblank, 1, 1)
62
#define vblank_IMPORTS_end END_IMPORT_TABLE
63
64
#define I_WaitVblankStart DECLARE_IMPORT(4, WaitVblankStart)
65
#define I_WaitVblankEnd DECLARE_IMPORT(5, WaitVblankEnd)
66
#define I_WaitVblank DECLARE_IMPORT(6, WaitVblank)
67
#define I_WaitNonVblank DECLARE_IMPORT(7, WaitNonVblank)
68
#define I_RegisterVblankHandler DECLARE_IMPORT(8, RegisterVblankHandler)
69
#define I_ReleaseVblankHandler DECLARE_IMPORT(9, ReleaseVblankHandler)
70
71
#ifdef __cplusplus
72
}
73
#endif
74
75
#endif
/* __VBLANK_H__ */
irx.h
vblank_internals_
Definition
vblank.h:41
vblank_item_
Definition
vblank.h:33
vblank_ll_
Definition
vblank.h:27
core
vblank
include
vblank.h
Generated by
1.18.0