mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-27 19:04:28 +01:00
* Replace `int` with `s32` as return type for syscalls. * Renamed `SC_Something.*` files with the proper lv2 name `sys_something.*`. * Moving away from the lv2, those functions and folders that doesn't correspond to lv2 functions. E.g. module functions from sys_io, sysPrxForUser, cellGcmSys. * Splitted some files (memory -> memory+mmapper) and merged other ones (event+event_flag ->event, spu+spu_thread -> spu), according to common sense, PSDevWiki docs, and checking firmware files. * Removed external functions from `SysCalls.h`. NOTE: What should we do about: cellGcmCallback? It's not a lv2 syscall but it appears on the sc_table and it is actually called in games. Is this some kind of hack?
34 lines
804 B
C
34 lines
804 B
C
#pragma once
|
|
|
|
enum
|
|
{
|
|
SYS_TIMER_STATE_STOP = 0x00U,
|
|
SYS_TIMER_STATE_RUN = 0x01U,
|
|
};
|
|
|
|
struct sys_timer_information_t
|
|
{
|
|
s64 next_expiration_time; //system_time_t
|
|
u64 period; //usecond_t
|
|
u32 timer_state;
|
|
u32 pad;
|
|
};
|
|
|
|
struct timer
|
|
{
|
|
rTimer tmr;
|
|
sys_timer_information_t timer_information_t;
|
|
};
|
|
|
|
#pragma pack()
|
|
|
|
s32 sys_timer_create(mem32_t timer_id);
|
|
s32 sys_timer_destroy(u32 timer_id);
|
|
s32 sys_timer_get_information(u32 timer_id, mem_ptr_t<sys_timer_information_t> info);
|
|
s32 sys_timer_start(u32 timer_id, s64 basetime, u64 period);
|
|
s32 sys_timer_stop(u32 timer_id);
|
|
s32 sys_timer_connect_event_queue(u32 timer_id, u32 queue_id, u64 name, u64 data1, u64 data2);
|
|
s32 sys_timer_disconnect_event_queue(u32 timer_id);
|
|
s32 sys_timer_sleep(u32 sleep_time);
|
|
s32 sys_timer_usleep(u64 sleep_time);
|