LV2 Functions and Syscalls
Structures
struct sys_process_info_t __attribute__ ((packed)) { process_id_t pid; uint32_t status; uint32_t ppu_thread_count; uint32_t spu_thread_count; uint32_t raw_spu_count; process_id_t parent_pid; char* image_file_name; uint32_t memory_size; uint8_t osabi_type; uint8_t pad[3]; uint64_t param_0x28; uint32_t param_0x30; };
Functions
string.h
Function | Notes | Offset in 3.55 | Offset in 3.41 | Offset in 3.15 | Offset in 3.10 | Offset in 3.01 | Offset in 2.76 |
---|---|---|---|---|---|---|---|
char *strcpy(char *dest, const char *src) | 0x4E684 | 0x4D2F0 | 0x4CDAC | 0X4CDA8 | 0x4AAC4 | 0x469B8 | |
int strlen(char *str) | 0x4E6AC | 0x4D318 | 0X4CDD4 | 0X4CDD0 | 0x4AAEC | 0x469E0 | |
char *strcat(char *destination, const char *source) | 0x4E5B4 | 0x4D220 | 0x4CCDC | ||||
char *strchr(const char* str, char chr) | 0x4E5EC | 0x4D258 | 0x4CD14 | ||||
char *strrchr(const char* str, char chr) | 0x4CEE4 | ||||||
int strcmp(const char *s1, const char *s2) | 0x4E630 | 0x4D29C | 0x4CD58 | ||||
int strncmp(const char *s1, const char *s2, size_t n) | 0x4E6D8 | 0x4D344 | 0X4CE00 | 0X4CDFC | 0x4AB18 | 0x46A0C | |
char *strncpy(char *destination, const char *source, size_t num) | 0x4E74C | 0x4D3B8 | 0x4CE74 | ||||
int memcmp(void *v1, void *v2, size_t n) | 0x4D7E8 | 0x4C454 | 0x4BF10 | ||||
void *memchr(void *s, int c, size_t n) | 0x4BEC0 | ||||||
void *memcpy(void *dest, const void *src, size_t n) | 0x7C3A4 | 0x7C01C | 0X7BE9C | 0X7BE98 | 0x77E84 | 0x7395C | |
void *memset(void *s, int c, size_t n) | 0x4E4D8 | 0x4D144 | 0X4CC00 | 0X4CBFC | 0x4A95C | 0x46850 |
stdio.h
Function | Notes | Offset in 3.55 | Offset in 3.41 | Offset in 3.15 |
---|---|---|---|---|
int snprintf(char *str, size_t size, char *format, ...) | 0x4F86C | 0x4E4D8 | 0x4DF94 | |
int sprintf(char *str, char *format, ...) | 0x4F900 | 0x4E56C | 0x4E028 | |
int printf(char *format, ...) | This prints to the serial debug console. | 0x29285C | 0x28A654 | 0x28A11C |
lv2
Function | Notes | Offset in 4.46 | Offset in 3.55 | Offset in 3.41 | Offset in 3.15 | Offset in 3.10 | Offset in 3.01 | Offset in 2.76 |
---|---|---|---|---|---|---|---|---|
void* alloc(size_t size, int unk) | unk is possibly pool? PSGroove uses 0x27. | 0x62F78 | 0x60b78 | 0x62088 | 0x61CF0 | 0x61CEC | 0x5DF4C | 0x59D54 |
void dealloc(void* ptr, int unk) | unk is possibly pool? Should be the same value of unk given to alloc. | 0x60fb4 | 0x624C8 | 0x62138 | 0x62134 | 0x5E38C | 0x5A194 | |
void process_utils::create_initial_system_process(). | Called to start the first userspace process, which is normally "sys_init_osd.self" but it can also launch recovery mode or update mode. | 0x287D50 | 0x287858 | |||||
void Panic(int unk) | This function does not return.
(It seems that the offset point to a location that will cause panic after, not the real panic function, use with caution) |
0x288568 | 0x288070 | |||||
USBGetDeviceDescriptor | USB function | 0xd2998 | 0xd3474 | 0xCCD2C | ||||
USBOpenEndpoint | 0xd29c4 | 0xd34ac | 0xCCD58 | |||||
USBControlTransfer | 0xd292c | 0xd3408 | 0xCCCC0 | |||||
USBRegisterDriver | 0xd22d8 | 0xd2978 | 0xCC6A0 |
Lv2 System Table Offset
FW version | Alloc | Free | Syscall Table |
Mem_base | TOC | Copy to User |
Notes |
---|---|---|---|---|---|---|---|
3.56 Retail | 0x60b24 | 0x60f60 | 0x346570 | 0xef60 | 0x330540 | ||
3.55 Retail | 0x60b78 | 0x60fb4 | 0x346570 | 0x0ef48 | 0x330540 | 0xf6a4 | |
3.55 DEX | 0x64464 | 0x648a0 | 0x361578 | 0xf590 | 0x34ac80 | 0xfcec | |
3.50 Retail | |||||||
3.42 Retail | |||||||
3.41 Retail | 0x62088 | 0x624c8 | 0x2eb128 | 0x50b3c | 0x33e720 | 0xe050 | |
3.41 DEX | 0x65974 | 0x65db4 | 0x303130 | 0x54400 | 0x359320 | 0xe698 | |
3.41 KIOSK | 0x62084 | 0x624c4 | 0x2eb128 | 0x50b3c | |||
3.40 Retail | 0x62084 | 0x624c4 | 0x2eb128 | 0x50b38 | |||
3.30 Retail | 0x62080 | 0x624c0 | 0x2ea728 | 0xe04c | |||
3.21 Retail | 0x61cf0 | 0x62138 | 0x2ea8a0 | 0xe0fc | |||
3.15 Retail | 0x61cf0 | 0x62138 | 0x2ea820 | 0x50608 | 0x33da10 | 0xe0fc | |
3.15 DEX | 0x65704 | 0x65b4c | 0x302828 | 0x53ff4 | 0x3585f0 | 0xe748 | |
3.10 Retail | 0x61cec | 0x62134 | 0x2ea820 | ||||
3.01 Retail | 0x5df4c | 0x5e38c | 0x2cfb40 | ||||
3.00 Retail | |||||||
2.85 Retail | 0x5daf4 | 0x5df34 | 0x2cbec0 | ||||
2.80 Retail | |||||||
2.76 Retail | 0x59d54 | 0x5a194 | 0x2c4318 | 0xe198 | |||
2.70 Retail | 0x59d50 | 0x5a190 | 0x2c4318 | 0xe194 | |||
2.60 Retail | 0x59040 | 0x5944c | 0x2b67c0 | 0xdfdc | |||
2.53 Retail | 0x5903c | 0x59448 | 0x2b5bb8 | 0xdfe0 | |||
2.43 Retail | 0x6c2e0 | 0x6c708 | 0x2d2b18 | 0x1e0e0 | |||
2.43 JIG | 0x31ddb0 | 0x371400 | |||||
2.42 DEX | 0x2ed980 | ||||||
1.92 TOOL | 0x361e40 | ||||||
1.60 TOOL | 0x36c880 | ||||||
1.02 Retail | 0x322428 | ||||||
1.00 DEX | 0x3206e0 |
Syscalls
LV2 Syscalls
Dec | Hex | fw_type | needed_flags | Name | Notes |
---|---|---|---|---|---|
#sys_process Syscalls (1-31) | |||||
1 | 0x001 | CEX DEX DECR | sys_process_getpid | sys_pid_t sys_process_getpid(void); | |
2 | 0x002 | CEX DEX DECR | root | sys_process_wait_for_child | 3 params: sys_pid_t, uint32_t *status, unk=0 |
3 | 0x003 | CEX DEX DECR | sys_process_exit | int sys_process_exit(int) | |
4 | 0x004 | CEX DEX DECR | dbg | sys_process_get_status | 1 param |
5 | 0x005 | CEX DEX DECR | dbg | sys_process_detach_child | 1 param |
12 | 0x00B | CEX DEX DECR | sys_process_get_number_of_object | int sys_process_get_number_of_object(uint32_t object_type, uint32_t* count); | |
13 | 0x00C | CEX DEX DECR | sys_process_get_id | int sys_process_get_id(uint32_t object, uint32_t * buff, size_t size, size_t * set_size); | |
14 | 0x00D | CEX DEX DECR | sys_process_is_spu_lock_line_reservation_address | int sys_process_is_spu_lock_line_reservation_address(sys_addr_t addr, uint64_t flags); | |
18 | 0x012 | CEX DEX DECR | sys_process_getppid | sys_pid_t sys_process_getppid(void); | |
19 | 0x013 | CEX DEX DECR | sys_process_kill | int sys_process_kill(sys_pid_t pid); | |
21 | 0x015 | CEX DEX DECR | dbg | _sys_process_spawn | 7 param |
22 | 0x016 | CEX DEX DECR | sys_process_exit | void sys_process_exit(int error_code,0,0) | |
23 | 0x017 | CEX DEX DECR | dbg | sys_process_wait_for_child2 | 6 params |
24 | 0x018 | CEX DEX DECR | dbg | 8 params, spawns a self | |
25 | 0x019 | CEX DEX DECR | sys_process_get_sdk_version | 2 params :sys_pid_t pid, uint8_t outbuf[4] | |
26 | 0x01A | CEX DEX DECR | _sys_process_exit as well | 4 params (calls sys_process_exit) | |
27 | 0x01B | CEX DEX DECR | dbg | 8 params, spawns a self | |
28 | 0x01C | CEX DEX DECR | root | _sys_process_get_number_of_object as well kinda | int sys_process_get_number_of_object(uint32_t object) |
29 | 0x01D | CEX DEX DECR | root | sys_process_get_id as well | same as syscall13 just with root flag check, same input etc. |
30 | 0x01E | CEX DEX DECR | _sys_process_get_paramsfo | int _sys_process_get_paramsfo(uint8_t buffer[0x40]); returns infos from sfo.sample: 00000000 01 42 4C 45 53 38 30 36 30 38 00 00 00 00 00 00 �BLES80608...... | |
31 | 0x01F | CEX DEX DECR | sys_process_get_ppu_guid | sys_addr_t sys_process_get_ppu_guid(void); | |
#sys_ppu_thread Syscalls (40-58) | |||||
41 | 0x029 | CEX DEX DECR | sys_ppu_thread_exit | int sys_ppu_thread_exit(int errorcode) | |
43 | 0x02B | CEX DEX DECR | sys_ppu_thread_yield | void sys_ppu_thread_yield(void); | |
44 | 0x02C | CEX DEX DECR | sys_ppu_thread_join | int sys_ppu_thread_join(sys_ppu_thread_t thread_id, uint64_t * vptr); | |
45 | 0x02D | CEX DEX DECR | sys_ppu_thread_detach | int sys_ppu_thread_detach(sys_ppu_thread_t thread_id); | |
46 | 0x02E | CEX DEX DECR | sys_ppu_thread_get_join_state | void sys_ppu_thread_get_join_state(int *isjoinable); | |
47 | 0x02F | CEX DEX DECR | dbg | sys_ppu_thread_set_priority | int sys_ppu_thread_set_priority(sys_ppu_thread_t thread_id, int prio); Flags are checked when 3071 > prio < 3199 |
48 | 0x030 | CEX DEX DECR | sys_ppu_thread_get_priority | int sys_ppu_thread_get_priority(sys_ppu_thread_t thread_id, int *prio); | |
49 | 0x031 | CEX DEX DECR | sys_ppu_thread_get_stack_information | int sys_ppu_thread_get_stack_information(sys_ppu_thread_stack_t * info); | |
50 | 0x032 | CEX DEX DECR | root | sys_ppu_thread_stop | int sys_ppu_thread_stop(sys_ppu_thread_t thread_id); |
51 | 0x033 | CEX DEX DECR | root | sys_ppu_thread_restart | int sys_ppu_thread_restart(void); |
52 | 0x034 | CEX DEX DECR | dbg | sys_ppu_thread_create | int sys_ppu_thread_create(sys_ppu_thread_t *thread_id, & void (*entry)(uint64_t), uint64_t arg, 0, int prio, size_t stacksize, uint64_t flags, const char *threadname); |
53 | 0x035 | CEX DEX DECR | sys_ppu_thread_start | int sys_ppu_thread_start(sys_ppu_thread_t thread_id); | |
54 | 0x036 | CEX DEX DECR | root | syscall(0x036, 0x109/0x111, out: uint8[4]), pu_thread get (kernel) allocation information | |
55 | 0x037 | CEX DEX DECR | root | syscall(0x037, 0x111, 0> int <0x100), pu_thread set (kernel) allocation? information | |
56 | 0x038 | CEX DEX DECR | sys_ppu_thread_rename | int sys_ppu_thread_rename(sys_ppu_thread_t thread_id, const char *name); | |
57 | 0x039 | CEX DEX DECR | sys_ppu_thread_recover_page_fault | int sys_ppu_thread_recover_page_fault(sys_ppu_thread_t thread_id); | |
58 | 0x03A | CEX DEX DECR | sys_ppu_thread_get_page_fault_context | int sys_ppu_thread_get_page_fault_context(sys_ppu_thread_t thread_id, sys_ppu_thread_icontext_t * ctxp); | |
#sys_trace Syscalls (67-69+77) | |||||
60 | 0x03C | DEX DECR | sys_trace_create | ||
61 | 0x03D | DEX DECR | sys_trace_start | ||
62 | 0x03E | DEX DECR | sys_trace_stop | ||
63 | 0x03F | DEX DECR | sys_trace_update_top_index | ||
64 | 0x040 | DEX DECR | sys_trace_destroy | ||
65 | 0x041 | DEX DECR | sys_trace_drain | ||
66 | 0x042 | DEX DECR | sys_trace_attach_process | ||
67 | 0x043 | DEX DECR | sys_trace_allocate_buffer | ||
68 | 0x044 | DEX DECR | sys_trace_free_buffer | ||
69 | 0x045 | DEX DECR | sys_trace_create2 | ||
#sys_timer Syscalls (70-76+141+142) | |||||
70 | 0x046 | CEX DEX DECR | sys_timer_create | int sys_timer_create(sys_timer_t * timer_id); | |
71 | 0x047 | CEX DEX DECR | sys_timer_destroy | int sys_timer_destroy(sys_timer_t timer_id); | |
72 | 0x048 | CEX DEX DECR | sys_timer_get_information | int sys_timer_get_information(sys_timer_t timer_id, sys_timer_information_t * info); | |
73 | 0x049 | CEX DEX DECR | sys_timer_start | int sys_timer_start(sys_timer_t timer_id, system_time_t base_time, usecond_t period); | |
74 | 0x04A | CEX DEX DECR | sys_timer_stop | int sys_timer_stop(sys_timer_t timer_id); | |
75 | 0x04B | CEX DEX DECR | sys_timer_connect_event_queue | int sys_timer_connect_event_queue(sys_timer_t timer_id, sys_event_queue_t queue_id, uint64_t name, uint64_t data1, uint64_t data2); | |
76 | 0x04C | CEX DEX DECR | sys_timer_disconnect_event_queue | int sys_timer_disconnect_event_queue(sys_timer_t timer_id); | |
#sys_trace Syscalls (67-69+77) | |||||
77 | 0x04D | DEX DECR | sys_trace_create2_in_cbepm | ||
78 | 0x04E | DECR | sys_trace_ | ||
#sys_interrupt Syscalls (80+81+84+88+89) | |||||
80 | 0x050 | CEX DEX DECR | sys_interrupt_tag_create | int sys_interrupt_tag_create(sys_interrupt_tag_t * intrtag, sys_irqoutlet_id_t irq, sys_hw_thread_t hwthread); | |
81 | 0x051 | CEX DEX DECR | sys_interrupt_tag_destroy | int sys_interrupt_tag_destroy(sys_interrupt_tag_t intrtag); | |
#sys_event Syscalls (82+83+85-87+118+128-140) | |||||
82 | 0x052 | CEX DEX DECR | sys_event_flag_create | int sys_event_flag_create(sys_event_flag_t * id, sys_event_flag_attribute_t * attr, uint64_t init); | |
83 | 0x053 | CEX DEX DECR | sys_event_flag_destroy | int sys_event_flag_destroy(sys_event_flag_t id); | |
#sys_interrupt Syscalls (80+81+84+88+89) | |||||
84 | 0x054 | CEX DEX DECR | sys_interrupt_thread_establish | int sys_interrupt_thread_establish(sys_interrupt_thread_handle_t * ih, sys_interrupt_tag_t intrtag, uint64_t intrthread, uint64_t arg1, uint64_t arg2); | |
#sys_event Syscalls (82+83+85-87+118+128-140) | |||||
85 | 0x055 | CEX DEX DECR | sys_event_flag_wait | int sys_event_flag_wait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result, usecond_t timeout); | |
86 | 0x056 | CEX DEX DECR | sys_event_flag_trywait | int sys_event_flag_trywait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result); | |
87 | 0x057 | CEX DEX DECR | sys_event_flag_set | int sys_event_flag_set(sys_event_flag_t id, uint64_t bitptn); | |
#sys_interrupt Syscalls (80+81+84+88+89) | |||||
88 | 0x058 | CEX DEX DECR | sys_interrupt_thread_eoi | void sys_interrupt_thread_eoi(void); | |
89 | 0x059 | CEX DEX DECR | sys_interrupt_thread_disestablish | int sys_interrupt_thread_disestablish(sys_interrupt_thread_handle_t ih); | |
#sys_semaphore Syscalls (90-94+114) | |||||
90 | 0x05A | CEX DEX DECR | sys_semaphore_create | int sys_semaphore_create(sys_semaphore_t * sem, sys_semaphore_attribute_t * attr, sys_semaphore_value_t initial_val, sys_semaphore_value_t max_val); | |
91 | 0x05B | CEX DEX DECR | sys_semaphore_destroy | int sys_semaphore_destroy(sys_semaphore_t sem); | |
92 | 0x05C | CEX DEX DECR | sys_semaphore_wait | int sys_semaphore_wait(sys_semaphore_t sem, usecond_t timeout); | |
93 | 0x05D | CEX DEX DECR | sys_semaphore_trywait | int sys_semaphore_trywait(sys_semaphore_t sem); | |
94 | 0x05E | CEX DEX DECR | sys_semaphore_post | int sys_semaphore_post(sys_semaphore_t sem, sys_semaphore_value_t val); | |
#sys_lwmutex Syscalls (95-99) | |||||
95 | 0x05F | CEX DEX DECR | sys_lwmutex_create | int sys_lwmutex_create(sys_lwmutex_t *lwmutex, sys_lwmutex_attribute_t *attr) | |
96 | 0x060 | CEX DEX DECR | sys_lwmutex_destroy | int sys_lwmutex_destroy(sys_lwmutex_t *lwmutex) | |
97 | 0x061 | CEX DEX DECR | sys_lwmutex_lock | int sys_lwmutex_lock(sys_lwmutex_t *lwmutex, usecond_t timeout) | |
98 | 0x062 | CEX DEX DECR | sys_lwmutex_trylock | int sys_lwmutex_trylock(sys_lwmutex_t *lwmutex) | |
99 | 0x063 | CEX DEX DECR | sys_lwmutex_unlock | int sys_lwmutex_unlock(sys_lwmutex_t *lwmutex) | |
#sys_mutex Syscalls (100-104) | |||||
100 | 0x064 | CEX DEX DECR | sys_mutex_create | int sys_mutex_create(sys_mutex_t * mutex_id, sys_mutex_attribute_t * attr); | |
101 | 0x065 | CEX DEX DECR | sys_mutex_destroy | int sys_mutex_destroy(sys_mutex_t mutex_id); | |
102 | 0x066 | CEX DEX DECR | sys_mutex_lock | int sys_mutex_lock(sys_mutex_t mutex_id, usecond_t timeout); | |
103 | 0x067 | CEX DEX DECR | sys_mutex_trylock | int sys_mutex_trylock(sys_mutex_t mutex_id); | |
104 | 0x068 | CEX DEX DECR | sys_mutex_unlock | int sys_mutex_unlock(sys_mutex_t mutex_id); | |
#sys_cond Syscalls (105-110) | |||||
105 | 0x069 | CEX DEX DECR | sys_cond_create | int sys_cond_create(sys_cond_t * cond_id, sys_mutex_t mutex_id, sys_cond_attribute_t * attr); | |
106 | 0x06A | CEX DEX DECR | sys_cond_destroy | int sys_cond_destroy(sys_cond_t cond_id); | |
107 | 0x06B | CEX DEX DECR | sys_cond_wait | int sys_cond_wait(sys_cond_t cond_id, usecond_t timeout); | |
108 | 0x06C | CEX DEX DECR | sys_cond_signal | int sys_cond_signal(sys_cond_t cond_id); | |
109 | 0x06D | CEX DEX DECR | sys_cond_signal_all | int sys_cond_signal_all(sys_cond_t cond_id); | |
110 | 0x06E | CEX DEX DECR | sys_cond_signal_to | int sys_cond_signal_to(sys_cond_t cond_id, sys_ppu_thread_t thread); | |
#sys_lwcond Syscalls (111+112) | |||||
111 | 0x06F | CEX DEX DECR | sys_lwcond_create | int sys_lwcond_create(sys_lwcond_t *lwcond, sys_lwmutex_t *lwmutex, sys_lwcond_attribute_t *attr) | |
112 | 0x070 | CEX DEX DECR | sys_lwcond_destroy | int sys_lwcond_destroy(sys_lwcond_t *lwcond) | |
113 | 0x071 | CEX DEX DECR | sys_lwcond_queue_wait | 3 params | |
#sys_semaphore Syscalls (90-94+114) | |||||
114 | 0x072 | CEX DEX DECR | sys_semaphore_get_value | int sys_semaphore_get_value(sys_semaphore_t sem, sys_semaphore_value_t * val); | |
115 | 0x073 | CEX DEX DECR | 4 params | ||
116 | 0x074 | CEX DEX DECR | 3 params | ||
117 | 0x075 | CEX DEX DECR | 1 params : sys_lwmutex_t *lwmutex | ||
#sys_event Syscalls (82+83+85-87+118+128-140) | |||||
118 | 0x076 | CEX DEX DECR | sys_event_flag_clear | int sys_event_flag_clear(sys_event_flag_t id, uint64_t bitptn); | |
119 | 0x077 | CEX DEX DECR | root | int syscall(119, uint64_t *real_time_clock); Gets ps3 real time clock value, hvsc232 | |
#sys_rwlock Syscalls (120-127+148) | |||||
120 | 0x078 | CEX DEX DECR | sys_rwlock_create | int sys_rwlock_create(sys_rwlock_t * rw_lock_id, sys_rwlock_attribute_t * attr); | |
121 | 0x079 | CEX DEX DECR | sys_rwlock_destroy | int sys_rwlock_destroy(sys_rwlock_t rw_lock_id); | |
122 | 0x07A | CEX DEX DECR | sys_rwlock_rlock | int sys_rwlock_rlock(sys_rwlock_t rw_lock_id, usecond_t timeout); | |
123 | 0x07B | CEX DEX DECR | sys_rwlock_tryrlock | int sys_rwlock_tryrlock(sys_rwlock_t rw_lock_id); | |
124 | 0x07C | CEX DEX DECR | sys_rwlock_runlock | int sys_rwlock_runlock(sys_rwlock_t rw_lock_id); | |
125 | 0x07D | CEX DEX DECR | sys_rwlock_wlock | int sys_rwlock_wlock(sys_rwlock_t rw_lock_id, usecond_t timeout); | |
126 | 0x07E | CEX DEX DECR | sys_rwlock_trywlock | int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id); | |
127 | 0x07F | CEX DEX DECR | sys_rwlock_wunlock | int sys_rwlock_wunlock(sys_rwlock_t rw_lock_id); | |
#sys_event Syscalls (82+83+85-87+118+128-140) | |||||
128 | 0x080 | CEX DEX DECR | sys_event_queue_create | int sys_event_queue_create(sys_event_queue_t * equeue_id, sys_event_queue_attribute_t * attr, sys_ipc_key_t event_queue_key, int size); | |
129 | 0x081 | CEX DEX DECR | sys_event_queue_destroy | int sys_event_queue_destroy(sys_event_queue_t equeue_id, int mode); | |
130 | 0x082 | CEX DEX DECR | sys_event_queue_receive | int sys_event_queue_receive(sys_event_queue_t equeue_id, sys_event_t * event, usecond_t timeout); | |
131 | 0x083 | CEX DEX DECR | sys_event_queue_tryreceive | int sys_event_queue_tryreceive(sys_event_queue_t equeue_id, sys_event_t * event_array, int size, int *number); | |
132 | 0x084 | CEX DEX DECR | sys_event_flag_cancel | int sys_event_flag_cancel(sys_event_flag_t id, int *num); | |
133 | 0x085 | CEX DEX DECR | sys_event_queue_drain | int sys_event_queue_drain(sys_event_queue_t equeue_id); | |
134 | 0x086 | CEX DEX DECR | sys_event_port_create | int sys_event_port_create(sys_event_port_t * eport_id, int port_type, uint64_t name); | |
135 | 0x087 | CEX DEX DECR | sys_event_port_destroy | int sys_event_port_destroy(sys_event_port_t eport_id); | |
136 | 0x088 | CEX DEX DECR | sys_event_port_connect_local | int sys_event_port_connect_local(sys_event_port_t event_port_id, sys_event_queue_t event_queue_id); | |
137 | 0x089 | CEX DEX DECR | sys_event_port_disconnect | int sys_event_port_disconnect(sys_event_port_t event_port_id); | |
138 | 0x08A | CEX DEX DECR | sys_event_port_send | int sys_event_port_send(sys_event_port_t eport_id, unint64_t data1, uint64_t data2, uint64_t data3); | |
139 | 0x08B | CEX DEX DECR | sys_event_flag_get | int sys_event_flag_get(sys_event_flag_t id, uint64_t * bitptn); | |
140 | 0x08C | CEX DEX DECR | sys_event_port_connect_ipc | int sys_event_port_connect_ipc(sys_event_port_t eport_id, ??); | |
#sys_timer Syscalls (70-76+141+142) | |||||
141 | 0x08D | CEX DEX DECR | sys_timer_usleep | int sys_timer_usleep(usecond_t sleep_time); | |
142 | 0x08E | CEX DEX DECR | sys_timer_sleep | int sys_timer_sleep(second_t sleep_time); | |
#sys_time Syscalls (143-147) | |||||
143 | 0x08F | CEX DEX DECR | root | sys_time_set_timezone | int sys_time_set_timezone(int timezone, int summertime) |
144 | 0x090 | CEX DEX DECR | sys_time_get_timezone | int sys_time_get_timezone(int *timezone, int *summertime) | |
145 | 0x091 | CEX DEX DECR | sys_time_get_current_time | int sys_time_get_current_time(sys_time_sec_t * sec, sys_time_nsec_t * nsec); | |
146 | 0x092 | CEX DEX DECR | root | sys_time_set_current_time | int sys_time_set_current_time(uint64_t sec, uint64_t nsec); |
147 | 0x093 | CEX DEX DECR | sys_time_get_timebase_frequency | uint64_t sys_time_get_timebase_frequency(void); | |
#sys_rwlock Syscalls (120-127+148) | |||||
148 | 0x094 | CEX DEX DECR | sys_rwlock_trywlock | int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id); | |
#sys_spu/sys_raw_spu Syscalls (150-260) | |||||
150 | 0x096 | CEX DEX DECR | sys_raw_spu_create_interrupt_tag | int sys_raw_spu_create_interrupt_tag(sys_raw_spu_t id,sys_class_id_t class_id, sys_hw_thread_t hwthread, sys_interrupt_tag_t *intrtag) | |
151 | 0x097 | CEX DEX DECR | sys_raw_spu_set_int_mask | int sys_raw_spu_set_int_mask(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t mask) | |
152 | 0x098 | CEX DEX DECR | sys_raw_spu_get_int_mask | int sys_raw_spu_get_int_mask(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t *mask) | |
153 | 0x099 | CEX DEX DECR | sys_raw_spu_set_int_stat | int sys_raw_spu_set_int_stat(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t stat) | |
154 | 0x09A | CEX DEX DECR | sys_raw_spu_get_int_stat | int sys_raw_spu_get_int_stat(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t *stat) | |
155 | 0x09B | CEX DEX DECR | sys_spu_image_get_information? | int sys_spu_image_get_information?(sys_spu_image_t *img, out:uint[4],out:uint[4]) | |
156 | 0x09C | CEX DEX DECR | sys_spu_image_open | int sys_spu_image_open(sys_spu_image_t *img, const char *path) | |
157 | 0x09D | CEX DEX DECR | sys_spu_image_import | int sys_spu_image_import(sys_spu_image_t *img, const void *src, uint32_t type) | |
158 | 0x09E | CEX DEX DECR | sys_spu_image_close | int sys_spu_image_close(sys_spu_image_t *img); | |
159 | 0x09F | CEX DEX DECR | sys_raw_spu_load | 3 Params ( sys_spu_image_t * img, sys_addr_t alloc_addr, int size? ), needs much more proper information | |
160 | 0x0A0 | CEX DEX DECR | sys_raw_spu_create | int sys_raw_spu_create(sys_raw_spu_t *id, sys_raw_spu_attribute_t *attr) | |
161 | 0x0A1 | CEX DEX DECR | sys_raw_spu_destroy | int sys_raw_spu_destroy(sys_raw_spu_t id) | |
163 | 0x0A3 | CEX DEX DECR | sys_raw_spu_read_puint_mb | int sys_raw_spu_read_puint_mb(sys_raw_spu_t id, uint32_t *value) | |
165 | 0x0A5 | CEX DEX DECR | sys_spu_thread_get_exit_status | int sys_spu_thread_get_exit_status(sys_spu_thread_t id, int *status) | |
166 | 0x0A6 | CEX DEX DECR | sys_spu_thread_set_argument | int sys_spu_thread_set_argument(sys_spu_thread_t id, sys_spu_thread_argument_t *arg) | |
167 | 0x0A7 | CEX DEX DECR | sys_spu_thread_group_start_on_exit | ||
169 | 0x0A9 | CEX DEX DECR | sys_spu_initialize | int sys_spu_initialize(unsigned int max_usable_spu, unsigned int max_raw_spu) | |
170 | 0x0AA | CEX DEX DECR | sys_spu_thread_group_create | int sys_spu_thread_group_create(sys_spu_thread_group_t *id, unsigned int num, int prio, sys_spu_thread_group_attribute_t *attr) | |
171 | 0x0AB | CEX DEX DECR | sys_spu_thread_group_destroy | int sys_spu_thread_group_destroy(sys_spu_thread_group_t id) | |
172 | 0x0AC | CEX DEX DECR | sys_spu_thread_initialize | int sys_spu_thread_initialize(sys_spu_thread_t *thread,sys_spu_thread_group_t group,uint spu_num,sys_spu_image_t *img,sys_spu_thread_attribute_t *attr,sys_spu_thread_argument_t *arg) | |
173 | 0x0AD | CEX DEX DECR | sys_spu_thread_group_start | int sys_spu_thread_group_start(sys_spu_thread_group_t id) | |
174 | 0x0AE | CEX DEX DECR | sys_spu_thread_group_suspend | int sys_spu_thread_group_suspend(sys_spu_thread_group_t id) | |
175 | 0x0AF | CEX DEX DECR | sys_spu_thread_group_resume | int sys_spu_thread_group_resume(sys_spu_thread_group_t id) | |
176 | 0x0B0 | CEX DEX DECR | sys_spu_thread_group_yield | int sys_spu_thread_group_yield(sys_spu_thread_group_t id) | |
177 | 0x0B1 | CEX DEX DECR | sys_spu_thread_group_terminate | int sys_spu_thread_group_terminate(sys_spu_thread_group_t id, int value) | |
178 | 0x0B2 | CEX DEX DECR | sys_spu_thread_group_join | int sys_spu_thread_group_join(sys_spu_thread_group_t gid, int *cause, int *status) | |
179 | 0x0B3 | CEX DEX DECR | sys_spu_thread_group_set_priority | int sys_spu_thread_group_set_priority(sys_spu_thread_group_t id, int priority) | |
180 | 0x0B4 | CEX DEX DECR | sys_spu_thread_group_get_priority | int sys_spu_thread_group_get_priority(sys_spu_thread_group_t id, int *priority) | |
181 | 0x0B5 | CEX DEX DECR | sys_spu_thread_write_ls | int sys_spu_thread_write_ls(sys_spu_thread_t id, uint32_t address, uint64_t value, size_t type) | |
182 | 0x0B6 | CEX DEX DECR | sys_spu_thread_read_ls | int sys_spu_thread_read_ls(sys_spu_thread_t id, uint32_t address, uint64_t *value, size_t type) | |
184 | 0x0B8 | CEX DEX DECR | sys_spu_thread_write_snr | int sys_spu_thread_write_snr(sys_spu_thread_t id, int number, uint32_t value) | |
185 | 0x0B9 | CEX DEX DECR | sys_spu_thread_group_connect_event | int sys_spu_thread_group_connect_event(sys_spu_thread_group_t id, sys_event_queue_t eq, sys_event_type_t et) | |
186 | 0x0BA | CEX DEX DECR | sys_spu_thread_group_disconnect_event | int sys_spu_thread_group_disconnect_event(sys_spu_thread_group_t id, sys_event_type_t et) | |
187 | 0x0BB | CEX DEX DECR | sys_spu_thread_set_spu_cfg | int sys_spu_thread_set_spu_cfg(sys_spu_thread_t id, uint64_t value) | |
188 | 0x0BC | CEX DEX DECR | sys_spu_thread_get_spu_cfg | int sys_spu_thread_get_spu_cfg(sys_spu_thread_t id, uint64_t *value) | |
190 | 0x0BE | CEX DEX DECR | sys_spu_thread_write_spu_mb | int sys_spu_thread_write_spu_mb(sys_spu_thread_t id, uint32_t value); | |
191 | 0x0BF | CEX DEX DECR | sys_spu_thread_connect_event | int sys_spu_thread_connect_event(sys_spu_thread_t id, sys_event_queue_t eq, sys_event_type_t et, uint8_t spup) | |
192 | 0x0C0 | CEX DEX DECR | sys_spu_thread_disconnect_event | int sys_spu_thread_disconnect_event(sys_spu_thread_t id, sys_event_type_t et, uint8_t spup) | |
193 | 0x0C1 | CEX DEX DECR | sys_spu_thread_bind_queue | int sys_spu_thread_bind_queue(sys_spu_thread_t id,sys_event_queue_t spuq,uint32_t spuq_num) | |
194 | 0x0C2 | CEX DEX DECR | sys_spu_thread_unbind_queue | int sys_spu_thread_unbind_queue(sys_spu_thread_t id, uint32_t spuq_num) | |
196 | 0x0C4 | CEX DEX DECR | sys_raw_spu_set_spu_cfg | int sys_raw_spu_set_spu_cfg(sys_raw_spu_t id, uint32_t value) | |
197 | 0x0C5 | CEX DEX DECR | sys_raw_spu_get_spu_cfg | int sys_raw_spu_get_spu_cfg(sys_raw_spu_t id, uint32_t *value) | |
198 | 0x0C6 | CEX DEX DECR | sys_spu_thread_recover_page_fault | int sys_spu_thread_recover_page_fault(sys_spu_thread_t id) | |
199 | 0x0C7 | CEX DEX DECR | sys_raw_spu_recover_page_fault | int sys_raw_spu_recover_page_fault(sys_raw_spu_t id) | |
200 | 0x0C8 | ||||
201 | 0x0C9 | ||||
202 | 0x0CA | ||||
203 | 0x0CB | ||||
209 | 0x0D1 | ||||
210 | 0x0D2 | ||||
211 | 0x0D3 | ||||
212 | 0x0D4 | ||||
213 | 0x0D5 | ||||
214 | 0x0D6 | ||||
215 | 0x0D7 | DEX DECR | sys_dbg_mat_set_condition | int sys_dbg_mat_set_condition(sys_addr_t,int) | |
216 | 0x0D8 | DEX DECR | sys_dbg_mat_get_condition | int sys_dbg_mat_get_condition(sys_addr_t,int*) | |
217 | 0x0D9 | DECR | dbg | ||
218 | 0x0DA | DECR | dbg | ||
219 | 0x0DB | DECR | dbg | ||
226 | 0x0E2 | ||||
230 | 0x0E6 | CEX DEX DECR | root | sys_isolated_spu_create | int sys_isolated_spu_create(sys_raw_spu_t *id, uint8_t *source_spe, in?: args?,0,0,0) |
231 | 0x0E7 | CEX DEX DECR | root | sys_isolated_spu_destroy | int sys_isolated_spu_destroy(sys_raw_spu_t id) |
232 | 0x0E8 | CEX DEX DECR | root | sys_isolated_spu_start | int sys_isolated_spu_start(sys_raw_spu_t id) |
233 | 0x0E9 | CEX DEX DECR | root | sys_isolated_spu_create_interrupt_tag | int sys_isolated_spu_create_interrupt_tag(sys_raw_spu_t id, uint32_t class_id, uint32_t hwthread, sys_interrupt_tag_t *intrtag) |
234 | 0x0EA | CEX DEX DECR | root | sys_isolated_spu_set_int_mask | int sys_isolated_spu_set_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t mask) |
235 | 0x0EB | CEX DEX DECR | root | sys_isolated_spu_get_int_mask | int sys_isolated_spu_get_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t *mask) |
236 | 0x0EC | CEX DEX DECR | root | sys_isolated_spu_set_int_stat | int sys_isolated_spu_set_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t stat) |
237 | 0x0ED | CEX DEX DECR | root | sys_isolated_spu_get_int_stat | int sys_isolated_spu_get_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t * stat) |
238 | 0x0EE | CEX DEX DECR | root | sys_isolated_spu_set_spu_cfg | int sys_isolated_spu_set_spu_cfg(sys_spu_thread_t id, uint64_t value) |
239 | 0x0EF | CEX DEX DECR | root | sys_isolated_spu_get_spu_cfg | int sys_isolated_spu_get_spu_cfg(sys_spu_thread_t id, uint64_t * value) |
240 | 0x0F0 | CEX DEX DECR | root | sys_isolated_spu_read_puint_mb | int sys_isolated_spu_read_puint_mb(sys_raw_spu_t id, uint32_t * value) |
244 | 0x0F4 | CEX DEX DECR | root | sys_spu_thread_group_system_set_next_group | int sys_spu_thread_group_system_set_next_group(void) |
245 | 0x0F5 | CEX DEX DECR | root | sys_spu_thread_group_system_unset_next_group | int sys_spu_thread_group_system_unset_next_group(void) |
246 | 0x0F6 | CEX DEX DECR | root | sys_spu_thread_group_system_set_switch_group | int sys_spu_thread_group_system_set_switch_group(void) |
247 | 0x0F7 | CEX DEX DECR | root | sys_spu_thread_group_system_unset_switch_group | int sys_spu_thread_group_system_unset_switch_group(void) |
248 | 0x0F8 | CEX DEX DECR | root | sys_spu_thread_group.... | 5 Params: sys_spu_thread_group_t group,..... |
249 | 0x0F9 | CEX DEX DECR | root | sys_spu_thread_group.... | int sc249(sys_spu_thread_group_t group) |
250 | 0x0FA | CEX DEX DECR | sys_spu_thread_group_set_cooperative_victims | 2 Params | |
251 | 0x0FB | CEX DEX DECR | sys_spu_thread_group_connect_event_all_threads | int sys_spu_thread_group_connect_event_all_threads(sys_spu_thread_group_t id, sys_event_queue_t eq, uint64_t req, uint8_t *spup) | |
252 | 0x0FC | CEX DEX DECR | sys_spu_thread_group_disconnect_event_all_threads | int sys_spu_thread_group_disconnect_event_all_threads(sys_spu_thread_group_t id, uint8_t spup) | |
253 | 0x0FD | CEX DEX DECR | sys_spu_thread_group.. | 2 Params( sys_spu_thread_group_t id, out:uint8[0x40]) | |
254 | 0x0FE | CEX DEX DECR | sys_spu_thread_group_log | int sys_spu_thread_group_log(int command, int *stat) | |
260 | 0x104 | CEX DEX DECR | sys_spu_image_open_by_fd | int sys_spu_image_open_by_fd(sys_spu_image_t *img, int fd, off64_t offset) | |
#sys_vm/sys_memory/sys_mmapper Syscalls (300-352) | |||||
300 | 0x12C | CEX DEX DECR | sys_vm_memory_map | int sys_vm_memory_map(size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr); | |
301 | 0x12D | CEX DEX DECR | sys_vm_unmap | int sys_vm_unmap(sys_addr_t addr); | |
302 | 0x12E | CEX DEX DECR | sys_vm_append_memory | int sys_vm_append_memory(sys_addr_t addr, size_t size); | |
303 | 0x12F | CEX DEX DECR | sys_vm_return_memory | int sys_vm_return_memory(sys_addr_t addr, size_t size); | |
304 | 0x130 | CEX DEX DECR | sys_vm_lock | int sys_vm_lock(sys_addr_t addr, size_t size); | |
305 | 0x131 | CEX DEX DECR | sys_vm_unlock | int sys_vm_unlock(sys_addr_t addr, size_t size); | |
306 | 0x132 | CEX DEX DECR | sys_vm_touch | int sys_vm_touch(sys_addr_t addr, size_t size); | |
307 | 0x133 | CEX DEX DECR | sys_vm_flush | int sys_vm_flush(sys_addr_t addr, size_t size); | |
308 | 0x134 | CEX DEX DECR | sys_vm_invalidate | int sys_vm_invalidate(sys_addr_t addr, size_t size); | |
309 | 0x135 | CEX DEX DECR | sys_vm_store | int sys_vm_store(sys_addr_t addr, size_t size); | |
310 | 0x136 | CEX DEX DECR | sys_vm_sync | int sys_vm_sync(sys_addr_t addr, size_t size); | |
311 | 0x137 | CEX DEX DECR | sys_vm_test | int sys_vm_test(sys_addr_t addr, size_t size, uint64_t * result); | |
312 | 0x138 | CEX DEX DECR | sys_vm_get_statistics | int sys_vm_get_statistics(sys_addr_t addr, sys_vm_statistics_t * stat); | |
313 | 0x139 | CEX DEX DECR | diff sys_vm_memory_map | same Params (size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr); apperently maps different vm memory area | |
314 | 0x13A | CEX DEX DECR | 2 Params | ||
315 | 0x13B | CEX DEX DECR | 1 Param | ||
324 | 0x144 | CEX DEX DECR | dbg | sys_memory_container_create | int sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size); |
325 | 0x145 | CEX DEX DECR | dbg | sys_memory_container_destroy | int sys_memory_container_destroy(sys_memory_container_t cid); |
326 | 0x146 | CEX DEX DECR | sys_mmapper_allocate_fixed_address | int sys_mmapper_allocate_fixed_address(void); | |
327 | 0x147 | CEX DEX DECR | sys_mmapper_enable_page_fault_notification | int sys_mmapper_enable_page_fault_notification(sys_addr_t start_addr, sys_event_queue_t queue_id); | |
328 | 0x148 | CEX DEX DECR | 7 Params | ||
329 | 0x149 | CEX DEX DECR | sys_mmapper_free_shared_memory | int sys_mmapper_free_shared_memory(sys_addr_t start_addr); | |
330 | 0x14A | CEX DEX DECR | sys_mmapper_allocate_address | int sys_mmapper_allocate_address(size_t size, uint64_t flags, size_t alignment, sys_addr_t * alloc_addr); | |
331 | 0x14B | CEX DEX DECR | sys_mmapper_free_address | int sys_mmapper_free_address(sys_addr_t start_addr); | |
332 | 0x14C | CEX DEX DECR | sys_mmapper_allocate_shared_memory | 4 Params: (size_t size, uint64_t flags, size_t alignment, sys_addr_t * alloc_addr) ? | |
333 | 0x14D | CEX DEX DECR | sys_mmapper_set_shared_memory_flag | int sys_mmapper_set_shared_memory_flag(sys_addr_t, flags) ?; | |
334 | 0x14E | CEX DEX DECR | sys_mmapper_map_shared_memory | 3 Params: (sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags) ? | |
335 | 0x14F | CEX DEX DECR | sys_mmapper_unmap_shared_memory | 2 Params: (sys_addr_t start_addr,sys_memory_t *mem_id ) ? | |
336 | 0x150 | CEX DEX DECR | sys_mmapper_change_address_access_right | int sys_mmapper_change_address_access_right(sys_addr_t start_addr, uint64_t flags); | |
337 | 0x151 | CEX DEX DECR | sys_mmapper_search_and_map | int sys_mmapper_search_and_map(sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags, sys_addr_t * alloc_addr); | |
338 | 0x152 | CEX DEX DECR | sys_mmapper_get_shared_memory_attribute | 2 Params: | |
339 | 0x153 | CEX DEX DECR | 5 Params | ||
340 | 0x154 | CEX DEX DECR | 2 Params | ||
341 | 0x155 | CEX DEX DECR | _sys_memory_container_create2 ? | int _sys_memory_container_create2(sys_memory_container_t * cid, size_t yield_size); | |
342 | 0x156 | CEX DEX DECR | sys_memory_container_destroy? | int sys_memory_container_destroy? (sys_memory_container_t cid); | |
343 | 0x157 | CEX DEX DECR | sys_memory_container_get_size | int sys_memory_container_get_size(sys_memory_info_t * mem_info, sys_memory_container_t cid); | |
344 | 0x158 | sys_memory_budget_set | |||
345 | 0x159 | CEX DEX DECR | 3 Params, a variation of sys_memory_container_destroy (sys_memory_container_t cid, int, &out) | ||
346 | 0x15A | CEX DEX DECR | |||
348 | 0x15C | CEX DEX DECR | sys_memory_allocate | int sys_memory_allocate(size_t size, uint64_t flags, sys_addr_t * alloc_addr); | |
349 | 0x15D | CEX DEX DECR | sys_memory_free | int sys_memory_free(sys_addr_t start_addr); | |
350 | 0x15E | CEX DEX DECR | sys_memory_allocate_from_container | int sys_memory_allocate_from_container(size_t size, sys_memory_container_t container, uint64_t flags, sys_addr_t * alloc_addr); | |
351 | 0x15F | CEX DEX DECR | sys_memory_get_page_attribute | int sys_memory_get_page_attribute(sys_addr_t addr, sys_page_attr_t * attr); | |
352 | 0x160 | CEX DEX DECR | sys_memory_get_user_memory_size | int sys_memory_get_user_memory_size(sys_memory_info_t * mem_info); | |
353 | 0x161 | CEX DEX DECR | sys_memory_get_user_memory_stat | int sys_memory_get_user_memory_stat(out:uint8[0x1C]) | |
354 | 0x162 | CEX DEX DECR | root | 3 Params | |
355 | 0x163 | CEX DEX DECR | root | 2 Param: uint32_t *, uint32_t * (set 0, reset memory stats?) | |
356 | 0x164 | CEX DEX DECR | sys_memory_allocate_colored | 4 Params | |
357 | 0x165 | CEX DEX DECR | 2 Params | ||
358 | 0x166 | CEX DEX DECR | 5 Params | ||
359 | 0x167 | CEX DEX DECR | 2 Params | ||
360 | 0x168 | CEX DEX DECR | 7 Params | ||
361 | 0x169 | CEX DEX DECR | sys_memory_allocate_from_container_colored | 5 Params | |
362 | 0x16A | CEX DEX DECR | sys_mmapper_allocate_memory_from_container | sys_mmapper_allocate_memory_from_container(size_t size, sys_memory_container_t container, uint64_t flags, sys_memory_t *mem_id) | |
363 | 0x16B | CEX DEX DECR | 6 Params | ||
364 | 0x16C | DECR | |||
#sys_uart Syscalls (367-370) | |||||
367 | 0x16F | CEX DEX DECR | root | sys_uart_initialize | syscall(367, void) |
368 | 0x170 | CEX DEX DECR | root | sys_uart_receive | sys_uart_receive(out: uint8_t buffer[SizeToReceive], int SizeToReceive (0x400/0x800), 0/1) |
369 | 0x171 | CEX DEX DECR | root | sys_uart_send | sys_uart_send(const void *buf, uint64_t size, uint64_t flags) |
370 | 0x172 | CEX DEX DECR | root | sys_uart_get_params | int sys_uart_get_params(out:buffer[0x10]) |
#sys_game Syscalls (372-376+410-412) | |||||
372 | 0x174 | CEX DEX DECR | sys_game_watchdog_start | 1 param: int time(r) | |
373 | 0x175 | CEX DEX DECR | sys_game_watchdog_stop | int sys_game_watchdog_stop(void) | |
374 | 0x176 | CEX DEX DECR | sys_game_watchdog_clear | int sys_game_watchdog_clear(void) | |
375 | 0x177 | CEX DEX DECR | root | sys_game_set_system_sw_version | int sys_game_set_system_sw_version(uint64_t version) |
376 | 0x178 | CEX DEX DECR | root | sys_game_get_system_sw_version | int sys_game_get_system_sw_version(void) |
#sys_sm/sys_ctrl Syscalls (378-396) | |||||
377 | 0x179 | CEX DEX DECR | root | sys_sm_set_shop_mode | int sys_sm_set_shop_mode(int mode (0/1)) ( HV System Manager access - ServiceID 39 (SET_SHOP_DEMO_MODE)) |
378 | 0x17A | CEX DEX DECR | root | sys_sm_get_ext_event2 | 4 Param, sc378(uint64_t * v1,uint64_t * v2, uint64_t * v3, 0=receive buffer/1=get queuing events), v1==7 -> yesHOT |
379 | 0x17B | CEX DEX DECR | root | sys_sm_shutdown | int sys_sm_shutdown(uint16_t op, const void * lpar_parameter, uint64_t parameter_size )
0x1100/0x100 = turn off, 0x1200 = Lv2 Hard Reboot, 0x200 = Lv2 Soft Reboot, 0x8201 = load lpar id 1 0x8202 = load lpar id 2 0x8204 = load lpar id 3 HV System Manager access - ServiceID 1 (REQUEST)+ 10 (DELIVER INTER LPAR PARAMETER) |
380 | 0x17C | CEX DEX DECR | dbg | sys_sm_get_params | alias sys_get_system_parameter, 4 Params: uint64_t * unknown1, uint64_t * unknown2, uint64_t * unknown3, uint64_t * unknown4 |
381 | 0x17D | CEX DEX DECR | root | sys_sm_get_inter_lpar_parameter? | 2Params: syscall(381,uint8_t lpar_parameter[param_size], int param_size (0x600)); |
382 | 0x17E | CEX DEX DECR | root | sys_sm_ | int syscall(382, void); - prevents ps3 lpar shutdown ? |
383 | 0x17F | CEX DEX DECR | root | sys_game_get_temperature | int sys_game_get_temperature(0=CELL/1=RSX,uint32_t *temperature) ( HV System Manager access - ServiceID 13 (TEMPERATURE))
2nd Byte conversion: r.shift (second_byte * 0x64 ) by 8 |
384 | 0x180 | CEX DEX DECR | root | sys_sm_get_tzpb | 1 Param: syscall(384,uint64_t *tzpb); (uint8_t [0x20]) Get TimeZone Presence HV System Manager access - ServiceID 15 |
385 | 0x181 | CEX DEX DECR | root | sys_sm_request_led | int sys_sm_request_led( int led_id(1=power,2=status or 3=disk), out:uint8_t led_action[1] ) HV System Manager access - ServiceID 17 |
386 | 0x182 | CEX DEX DECR | root | sys_sm_control_led | int sys_sm_control_led(uint8_t led_id, uint8_t led_action) led_id = 0,1 (POWER),2 (STATUS)(red, green, red+green combined: looks like yellow); led_action = 0,1,2,3 (off,on,blink fast, blink slow) |
387 | 0x183 | CEX DEX DECR | dbg | sys_sm_get_platform_info? | syscall(387, uint8_t platform_info[0x18]) / OS Version, Revision, System Software Version? |
388 | 0x184 | CEX DEX DECR | root | sys_sm_ring_buzzer_too | HV System Manager access - ServiceID 21 (RING_BUZZER) |
389 | 0x185 | CEX DEX DECR | pm | sys_sm_set_fan_policy | int sys_sm_set_fan_policy (in:uint8, in:uint8, in:uint8) |
390 | 0x186 | CEX DEX DECR | root | sys_sm_request_error_log | 4 Params, HV System Manager access - ServiceID 26 (REQUEST_ERROR_LOG) |
391 | 0x187 | CEX DEX DECR | root | sys_sm_request_be_count | 4 Params, HV System Manager access - ServiceID 28 (REQUEST_BE_COUNT): out:uint8_t[1],out:uint8_t[4],out:uint8_t[4],out:uint8_t[4] |
392 | 0x188 | CEX DEX DECR | root | sys_sm_ring_buzzer | 3 Params: PacketID=0x1004, field2, field4 Hypervisor_Reverse_Engineering#Parameters_6 Parameters |
393 | 0x189 | CEX DEX DECR | root | sys_sm_get_hw_config | gets hardware configuration: syscall(393,uint8_t * res, uint64_t * hw_config) |
394 | 0x18A | CEX DEX DECR | root | sys_sm_request_scversion | uint8_t SoftID[8],old_PatchID[8],new_PatchID[8]; lv2syscall3(394, (uint64_t)SoftID, (uint64_t)old_PatchID, (uint64_t)new_PatchID); HV System Manager access - ServiceID 30 (REQUEST_SC_VERSION) System_Controller_Firmware#.27info0.27 SC Firmware |
395 | 0x18B | CEX DEX DECR | pm | sys_sm_request_system_event_log | int sys_sm_request_system_event_log(int offset(0 - 5),uint64_t *out,uint64_t *out,uint64_t *out,uint8_t buf[0x20], int flag ), 6 Params, HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG) |
396 | 0x18C | CEX DEX DECR | root | sys_sm_set_rtc_alarm | 1 Param, HV System Manager access - ServiceID 34+38 (RTC_ALARM) |
397 | 0x18D | CEX DEX DECR | root | sys_sm_get_rtc_alarm | 1 Param, HV System Manager access - ServiceID 36 |
398 | 0x18E | CEX DEX DECR | root | sys_console_write | int sys_console_write(const char *s, unsigned int len)(lv2,lv1::console::write_async |
400 | 0x190 | CEX DEX DECR | pm | int sys_request_system_event_log(int offset(0 - 5),uint64_t *out, int flag ) , HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG) sys_sm_request_system_event_log too | |
401 | 0x191 | CEX DEX DECR | root | 2 Params: in:uint64_t,out:uint8_t[1], HV System Manager access - ServiceID 40 (BOOT_PARAMETER) related to 404 | |
#sys_tty Syscalls (402-403) | |||||
402 | 0x192 | CEX DEX DECR | sys_tty_read | int sys_tty_read(unsigned int ch, void *buf, unsigned int len, unsigned int *preadlen); | |
403 | 0x193 | CEX DEX DECR | sys_tty_write | int sys_tty_write(unsigned int ch, const void *buf, unsigned int len, unsigned int *pwritelen); | |
404 | 0x194 | CEX DEX DECR | root | 2 Params: out:*uint64_t, out:uint8_t [1], HV System Manager access - ServiceID 42 (BOOT_PARAMETER) [Network Settings for Debug] related, returns single/dual setting flag? | |
405 | 0x195 | CEX DEX DECR | pm | 2 Params: out:uint8_t [2],out:uint8_t[1], HV System Manager access - ServiceID 44 factory_process_comp (0,0) | |
406 | 0x196 | CEX DEX DECR | pm | 2 Params: r3(0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x100) ,out:uint8_t[1], HV System Manager access - ServiceID 46 factory_process_comp (1,x) | |
407 | 0x197 | CEX DEX DECR | pm | 1 Param: out:uint8_t [1], HV System Manager access - ServiceID 48 factory_process_comp (2,x) | |
408 | 0x198 | CEX DEX DECR | pm | sys_sm_get_tzpb too | 1 Param: out:uint8_t [0x20] same as 384 just requires PM |
409 | 0x199 | CEX DEX DECR | pm | sys_sm_get_fan_policy | int sys_sm_get_fan_policy (in:uint8, out:uint8[1], out:uint8[1], out:uint8[1], out:uint8[1]), (id, st, policy, mode, duty) |
#sys_game Syscalls (372-376+410-412) | |||||
410 | 0x19A | CEX DEX DECR | sys_game_board_storage_read | 2 Params,out:uint8_t[0x10], uint8_t[1], HV System Manager access - ServiceID 54 | |
411 | 0x19B | CEX DEX DECR | sys_game_board_storage_write | 2 Params,in:uint8_t[0x10],uint8_t[1], HV System Manager access - ServiceID 52 | |
412 | 0x19C | DEX DECR | sys_game_get_rtc_status | ||
413 | 0x19D | CEX DEX DECR | root | 3 Params, HV System Manager access - ServiceID 56: out:uint8_t[1],out:uint8_t[1],out:uint8_t[1] | |
414 | 0x19E | CEX DEX DECR | root | 3 Params,in:packetid ,in:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 58 | |
415 | 0x19F | CEX DEX DECR | root | 3 Params,in:packetid,out:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 60 | |
#sys_overlay Syscalls (450-457) | |||||
450 | 0x1C2 | CEX DEX DECR | sys_overlay_load_module | int sys_overlay_load_module(sys_overlay_t * ovlmid, const char *path, uint64_t flags, sys_addr_t * entry) | |
451 | 0x1C3 | CEX DEX DECR | sys_overlay_unload_module | int sys_overlay_unload_module(sys_overlay_t ovlmid) | |
452 | 0x1C4 | CEX DEX DECR | sys_overlay_get_module_list | int sys_overlay_get_module_list(sys_pid_t pid, size_t ovlmids_num, sys_overlay_t * ovlmids, size_t * num_of_modules) | |
453 | 0x1C5 | CEX DEX DECR | sys_overlay_get_module_info | int sys_overlay_get_module_info(sys_pid_t pid,sys_overlay_t ovlmid, sys_overlay_module_info_t * info) | |
454 | 0x1C6 | CEX DEX DECR | sys_overlay_load_module_by_fd | int sys_overlay_load_module_by_fd(sys_overlay_t * ovlmid, int fd, off64_t offset, uint64_t flags, sys_addr_t * entry) | |
455 | 0x1C7 | CEX DEX DECR | sys_overlay_get_module_info2 | int sys_overlay_get_module_info2(sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_info2_t * info) | |
456 | 0x1C8 | CEX DEX DECR | sys_overlay_get_sdk_version | 2 Params | |
457 | 0x1C9 | CEX DEX DECR | sys_overlay_get_module_dbg_info | 3 Params: (sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_dbg_t * info) ? | |
458 | 0x1CA | CEX DEX DECR | sys_overlay_get_module_dbg_info too | 3 Params: | |
#sys_prx Syscalls (460-499) | |||||
460 | 0x1CC | DEX DECR | root | sys_prx_dbg_get_module_id_list | 4 Params |
461 | 0x1CD | CEX DEX DECR | sys_prx_get_module_id_by_address | sys_prx_id_t sys_prx_get_module_id_by_address(void* addr) | |
462 | 0x1CE | DEX DECR | 1 Param: uint8_t [0x50] | ||
463 | 0x1CF | CEX DEX DECR | sys_prx_load_module_by_fd | sys_prx_id_t sys_prx_load_module_by_fd(int fd, off64_t offset, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt) | |
464 | 0x1D0 | CEX DEX DECR | sys_prx_load_module_on_memcontainer_by_fd | sys_prx_id_t sys_prx_load_module_on_memcontainer_by_fd(int fd,off64_t offset,sys_memory_container_t mem_container,sys_prx_flags_t flags,sys_prx_load_module_option_t pOpt) | |
465 | 0x1D1 | CEX DEX DECR | sys_prx_load_module_list | int sys_prx_load_module_list(int n, const char **path_list, uint64_t flags, sys_prx_load_module_list_option_t * pOpt, sys_prx_id_t * idlist) | |
466 | 0x1D2 | CEX DEX DECR | sys_prx_load_module_list_on_memcontainer | sys_prx_id_t sys_prx_load_module_by_fd(int fd, off64_t offset, uint64_t flags, sys_prx_load_module_option_t * pOpt) | |
467 | 0x1D3 | CEX DEX DECR | sys_prx_get_ppu_guid | sys_addr_t sys_prx_get_ppu_guid(sys_prx_id_t id) | |
468 | 0x1D4 | DEX DECR | root | ||
470 | 0x1D6 | CEX DEX DECR | root | int syscall 470 (uint32_t type?, void* npd? [0x60]) | |
471 | 0x1D7 | CEX DEX DECR | root | int syscall_471(uint32_t type, char* titleID, void* klicensee, uint8_t* actdat, uint8_t* rif, int32_t licenseType, uint8_t* magicVersion); | |
472 | 0x1D8 | CEX DEX DECR | root | 2 Params: | |
473 | 0x1D9 | CEX DEX DECR | |||
474 | 0x1DA | CEX DEX DECR | |||
475 | 0x1DB | CEX DEX DECR | root | int syscall_475(uint32_t type, void* npd?, void* klicensee, uint8_t* actdat, uint8_t* rif, uint8_t magicVersion) | |
476 | 0x1DC | CEX DEX DECR | root | can only be either syscall476 (1,0) or syscall476 (0,1) | |
480 | 0x1E0 | CEX DEX DECR | sys_prx_load_module | sys_prx_id_t sys_prx_load_module(const char* path, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt) | |
481 | 0x1E1 | CEX DEX DECR | sys_prx_start_module | int sys_prx_start_module(sys_prx_id_t id, size_t args, void *argp, int *modres, sys_prx_flags_t flags, sys_prx_start_module_option_t pOpt) | |
482 | 0x1E2 | CEX DEX DECR | sys_prx_stop_module | int sys_prx_stop_module(sys_prx_id_t id, size_t args, void *argp, int *modres, sys_prx_flags_t flags, sys_prx_stop_module_option_t pOpt) | |
483 | 0x1E3 | CEX DEX DECR | sys_prx_unload_module | int sys_prx_unload_module(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_unload_module_option_t pOpt); | |
484 | 0x1E4 | CEX DEX DECR | sys_prx_register_module | int sys_prx_register_module(char * name, const sys_prx_register_module_option_t * pOpt) | |
485 | 0x1E5 | CEX DEX DECR | sys_prx_query_module | int sys_prx_query_module(void) // only returns 0 | |
486 | 0x1E6 | CEX DEX DECR | sys_prx_register_library | int sys_prx_register_library(void* library) | |
487 | 0x1E7 | CEX DEX DECR | sys_prx_unregister_library | int sys_prx_unregister_library(void* library) // only returns 0 | |
488 | 0x1E8 | CEX DEX DECR | sys_prx_link_library | int sys_prx_link_library(void) // only returns 0 | |
489 | 0x1E9 | CEX DEX DECR | sys_prx_unlink_library | int sys_prx_unlink_library(void) // only returns 0 | |
490 | 0x1EA | CEX DEX DECR | sys_prx_query_library | int sys_prx_query_library(void) // only returns 0 | |
492 | 0x1EC | CEX DEX DECR | dbg | 4 Params: | |
493 | 0x1ED | CEX DEX DECR | dbg | sys_prx_dbg_get_module_info | 3 Params: |
494 | 0x1EE | CEX DEX DECR | sys_prx_get_module_list | int sys_prx_get_module_list(sys_prx_flags_t flags, sys_prx_get_module_list_t *pInfo); | |
495 | 0x1EF | CEX DEX DECR | sys_prx_get_module_info | int sys_prx_get_module_info(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_module_info_t *pInfo) | |
496 | 0x1F0 | CEX DEX DECR | sys_prx_get_module_id_by_name | sys_prx_id_t sys_prx_get_module_id_by_name(const char* name, sys_prx_flags_t flags, sys_prx_get_module_id_by_name_option_t *pOpt) | |
497 | 0x1F1 | CEX DEX DECR | sys_prx_load_module_on_memcontainer | sys_prx_id_t sys_prx_load_module_on_memcontainer(const char* path, sys_memory_container_t mem_container, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt) | |
498 | 0x1F2 | CEX DEX DECR | sys_prx_start | int sys_prx_start (void) // only returns 0 | |
499 | 0x1F3 | CEX DEX DECR | sys_prx_stop | int sys_prx_stop(void) | |
#sys_hid_manager Syscalls | |||||
500 | 0x1F4 | CEX DEX DECR | sys_hid_manager_open | 2 Params | |
501 | 0x1F5 | CEX DEX DECR | sys_hid_manager_close | 1 Param: uint32_t port_no | |
502 | 0x1F6 | CEX DEX DECR | root | sys_hid_manager_read | 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size |
503 | 0x1F7 | CEX DEX DECR | sys_hid_manager_ioctl | 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size | |
504 | 0x1F8 | CEX DEX DECR | root | sys_hid_manager_map_logical_id_to_port_id | 3 Params |
505 | 0x1F9 | CEX DEX DECR | root | sys_hid_manager_unmap_logical_id_to_port_id | 3 Params |
506 | 0x1FA | CEX DEX DECR | root | sys_hid_manager_add_hot_key_observer | 2 Params |
507 | 0x1FB | CEX DEX DECR | root | sys_hid_manager_remove_hot_key_observer | 2 Params |
508 | 0x1FC | CEX DEX DECR | root | sys_hid_manager_grab_focus | 1 Param: sys_pid_t pid (for example current pid) |
509 | 0x1FD | CEX DEX DECR | root | sys_hid_manager_release_focus | 1 Param |
510 | 0x1FE | CEX DEX DECR | sys_hid_manager_... | int syscall(510, void); | |
511 | 0x1FF | CEX DEX DECR | root | sys_hid_manager_set_... | 1 Param |
512 | 0x200 | CEX DEX DECR | root | 1 Param : int syscall(512,sys_pid_t pid), simple root-flag check?; | |
513 | 0x201 | CEX DEX DECR | sys_hid_manager_... | 4 Params | |
514 | 0x202 | CEX DEX DECR | sys_hid_manager_... | 3 Params | |
#sys_config Syscalls | |||||
516 | 0x204 | CEX DEX DECR | sys_config_open | 2 Params : (sys_event_queue_t * equeue_id, uint64_t *out) | |
517 | 0x205 | CEX DEX DECR | sys_config_close | sys_config_close(sys_event_queue_t * equeue_id); | |
518 | 0x206 | CEX DEX DECR | sys_config_get_service_event | 4 Params: | |
519 | 0x207 | CEX DEX DECR | sys_config_add_service_listener | 6 Params | |
520 | 0x208 | CEX DEX DECR | sys_config_remove_service_listener | 2 Params | |
521 | 0x209 | CEX DEX DECR | sys_config_register_service | 7 Params | |
522 | 0x20A | CEX DEX DECR | sys_config_unregister_service | 2 Params | |
523 | 0x20B | CEX DEX DECR | sys_config_io_event | ||
524 | 0x20C | CEX DEX DECR | sys_config_ | ||
525 | 0x20D | CEX DEX DECR | sys_config_ | ||
#sys_usbd Syscalls | |||||
530 | 0x212 | CEX DEX DECR | sys_usbd_initialize | 1 Param, out: *uint32_t | |
531 | 0x213 | CEX DEX DECR | sys_usbd_finalize | 1 Param, in: handle/id | |
532 | 0x214 | CEX DEX DECR | sys_usbd_get_device_list | 3 Params | |
533 | 0x215 | CEX DEX DECR | sys_usbd_get_descriptor_size | 2 Params | |
534 | 0x216 | CEX DEX DECR | sys_usbd_get_descriptor | 3 Params | |
535 | 0x217 | CEX DEX DECR | sys_usbd_register_ldd | 3 Params | |
536 | 0x218 | CEX DEX DECR | sys_usbd_unregister_ldd | 3 Params | |
537 | 0x219 | CEX DEX DECR | sys_usbd_open_pipe | 7 Params | |
538 | 0x21A | CEX DEX DECR | sys_usbd_open_default_pipe | 2 Params | |
539 | 0x21B | CEX DEX DECR | sys_usbd_close_pipe | 2 Params | |
540 | 0x21C | CEX DEX DECR | sys_usbd_receive_event | 4 Params | |
541 | 0x21D | CEX DEX DECR | sys_usbd_detect_event | void | |
542 | 0x21E | CEX DEX DECR | sys_usbd_attach | 4 Params | |
543 | 0x21F | CEX DEX DECR | sys_usbd_transfer_data | 6 Params | |
544 | 0x220 | CEX DEX DECR | sys_usbd_isochronous_transfer_data | 3 Params | |
545 | 0x221 | CEX DEX DECR | sys_usbd_get_transfer_status | 5 Params | |
546 | 0x222 | CEX DEX DECR | sys_usbd_get_isochronous_transfer_status | 5 Params | |
547 | 0x223 | CEX DEX DECR | sys_usbd_get_device_location | 3 Params | |
548 | 0x224 | CEX DEX DECR | sys_usbd_send_event | 2 Params | |
549 | 0x225 | CEX DEX DECR | 4 Params | ||
550 | 0x226 | CEX DEX DECR | sys_usbd_allocate_memory | 3 Params | |
551 | 0x227 | CEX DEX DECR | sys_usbd_free_memory | 2 Params | |
552 | 0x228 | CEX DEX DECR | 1 Param | ||
553 | 0x229 | CEX DEX DECR | void | ||
554 | 0x22A | CEX DEX DECR | void | ||
555 | 0x22B | CEX DEX DECR | void | ||
556 | 0x22C | CEX DEX DECR | sys_usbd_get_device_speed | 3 Params, , , out:uint8_t[1] | |
557 | 0x22D | CEX DEX DECR | 5 Params | ||
558 | 0x22E | CEX DEX DECR | 3 Params | ||
559 | 0x22F | CEX DEX DECR | sys_usbd_register_extra_ldd | 6 Params | |
#sys_gl819 Syscalls Cardcontroller cf/sd/mmc/sm/ms | |||||
560 | 0x230 | CEX DEX DECR | root | ||
561 | 0x231 | CEX DEX DECR | root | 1 Param: out:uint8_t [4] (cf/sd/mmc/sm/ms flag availability from hw config) | |
562 | 0x232 | CEX DEX DECR | root | gets MultiCardReader Firmware Version: syscall(0x232, out:uint8_t [2]) | |
563 | 0x233 | CEX DEX DECR | |||
564 | 0x234 | CEX DEX DECR | |||
565 | 0x235 | CEX DEX DECR | |||
566 | 0x236 | CEX DEX DECR | |||
567 | 0x237 | CEX DEX DECR | |||
568 | 0x238 | CEX DEX DECR | |||
569 | 0x239 | CEX DEX DECR | |||
#PAD Manager Syscalls PAD related | |||||
570 | 0x23A | CEX DEX DECR | |||
571 | 0x23B | CEX DEX DECR | sys_pad_ldd_unregister_controller | int sys_pad_ldd_unregister_controller ( int32_t handle) | |
572 | 0x23C | CEX DEX DECR | sys_pad_ldd_data_insert | int sys_pad_ldd_data_insert (int32_t handle, cellpaddata* data /* uint8_t[0x84] */) | |
573 | 0x23D | CEX DEX DECR | sys_pad_dbg_ldd_set_data_insert_mode | int sys_pad_dbg_ldd_set_data_insert_mode ( int32_t handle, 0x100, uint32_t* mode , 4) | |
574 | 0x23E | CEX DEX DECR | sys_pad_ldd_register_controller | int sys_pad_ldd_register_controller/sys_pad_dbg_ldd_register_controller ( uint8_t[0x114] /* struct */, int32_t* out, 5, uint32_t device_capability<<1) | |
575 | 0x23F | CEX DEX DECR | sys_pad_ldd_get_port_no | int sys_pad_ldd_get_port_no (int32_t handle) | |
577 | 0x241 | CEX DEX DECR | root pm | sys_pad_manager_.... | int sys_pad_manager_.... (int8_t device_number?) |
#sys_bluetooth Syscalls | |||||
578 | 0x242 | CEX DEX DECR | |||
579 | 0x243 | CEX DEX DECR | |||
580 | 0x244 | CEX DEX DECR | root | ||
581 | 0x245 | CEX DEX DECR | root | ||
582 | 0x246 | CEX DEX DECR | root | ||
583 | 0x247 | CEX DEX DECR | root | gets Bluetooth Firmware Version: syscall(0x247, out:uint8_t [2]) | |
584 | 0x248 | CEX DEX DECR | root | ||
585 | 0x249 | CEX DEX DECR | |||
586 | 0x24A | CEX DEX DECR | return 0x80010003 | ||
587 | 0x24B | CEX DEX DECR | root | ||
588 | 0x24C | CEX DEX DECR | return 0x80010003 | ||
589 | 0x24D | CEX DEX DECR | return 0x80010003 | ||
590 | 0x24E | CEX DEX DECR | root | bt_set_device_info() | |
591 | 0x24F | CEX DEX DECR | return 0 | ||
592 | 0x250 | CEX DEX DECR | return 0 | ||
593 | 0x251 | CEX DEX DECR | root | getting bluetooth address | |
594 | 0x252 | CEX DEX DECR | return 0x80010003 | ||
595 | 0x253 | CEX DEX DECR | return 0x80010003 | ||
596 | 0x254 | CEX DEX DECR | return 0x80010003 | ||
597 | 0x255 | CEX DEX DECR | bt_cancel_connect_accept_controller(),deprecated | ||
598 | 0x256 | CEX DEX DECR | root | 0 Param | |
599 | 0x257 | CEX DEX DECR | root | 2 Params: out:uint8_t[2], out:uint8_t[2] | |
#sys_storage Syscalls (600-623+837+838) | |||||
600 | 0x258 | CEX DEX DECR | root | sys_storage_open | int sys_storage_open(uint64_t id, int mode, int *fd, int flags) mode=0,flags=0 |
601 | 0x259 | CEX DEX DECR | sys_storage_close | int sys_storage_close(int fd) | |
602 | 0x25A | CEX DEX DECR | sys_storage_read | int sys_storage_read(int fd, int mode?, uint32_t start_sector, uint32_t sectors, uint8_t *bounce_buf, uint32_t *sectors_read, uint64_t flags) mode?=0 | |
603 | 0x25B | CEX DEX DECR | sys_storage_write | ||
604 | 0x25C | CEX DEX DECR | sys_storage_send_device_command | 6 Params: | |
605 | 0x25D | CEX DEX DECR | sys_storage_async_configure | int sys_storage_async_configure(uint32_t fd, sys_io_buffer_t io_buffer, sys_event_queue_t equeue_id, int *unknown) | |
606 | 0x25E | CEX DEX DECR | sys_storage_async_read | int sys_storage_async_read(int fd, int unknown_1, uint32_t start_sector, uint32_t sectors, sys_io_block_t bounce_buf, uint64_t user_data, int unknown_2) unknown_1=0, unknown_2=0 | |
607 | 0x25F | CEX DEX DECR | sys_storage_async_write | 7 Params: | |
608 | 0x260 | CEX DEX DECR | sys_storage_async_cancel | 2 Params | |
609 | 0x261 | CEX DEX DECR | root | sys_storage_get_device_info | int sys_storage_get_device_info(uint64_t device, uint8_t *buffer), buffer[40]=total sectors,buffer[48]=sector size,buffer[53]=writable |
610 | 0x262 | CEX DEX DECR | root | sys_storage_get_device_config | 2 Params: int sys_storage_get_device_config(uint64_t device, uint8_t *config) ? |
611 | 0x263 | CEX DEX DECR | root | sys_storage_report_devices | 4 Params: |
612 | 0x264 | CEX DEX DECR | root | sys_storage_configure_medium_event | 3 Params |
613 | 0x265 | CEX DEX DECR | sys_storage_set_medium_polling_interval | 2 Params | |
614 | 0x266 | CEX DEX DECR | sys_storage_create_region | ||
615 | 0x267 | CEX DEX DECR | sys_storage_delete_region | int sys_storage_delete_region(uint32_t dev_id,uint64_t index); | |
616 | 0x268 | CEX DEX DECR | sys_storage_execute_device_command | sys_storage_execute_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown) | |
617 | 0x269 | CEX DEX DECR | sys_storage_check_region_acl | alias int sys_storage_get_region_acl(device_id, region_id, index, authority, mask); | |
618 | 0x26A | CEX DEX DECR | sys_storage_set_region_acl | int sys_storage_set_region_acl(device_id, region_id, authority, permission); | |
619 | 0x26B | CEX DEX DECR | sys_storage_async_send_device_command | sys_storage_async_send_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown) | |
620 | 0x26C | CEX DEX DECR | root | hid ldd if, kb/mouse/pad.... (param1: ?,0,1,2 or 3;param2;param3;param4;param5) | |
621 | 0x26D | CEX DEX DECR | sys_gamepad_ycon_if | syscall(621,packet_id,uint8_t *in,uint8_t *out) Talk:LV2_Functions_and_Syscalls#Syscall_621_.280x26D.29 gamepad_if usage | |
622 | 0x26E | CEX DEX DECR | sys_storage_get_region_offset | ||
623 | 0x26F | DECR | sys_storage_set_emulated_speed | ||
#sys_io Syscalls (624-627) | |||||
624 | 0x270 | CEX DEX DECR | sys_io_buffer_create | int sys_io_buffer_create(int io_block_count, int block_size, int blocks, int unknown_3, sys_io_buffer_t *io_buffer) | |
625 | 0x271 | CEX DEX DECR | sys_io_buffer_destroy | int sys_io_buffer_destroy(sys_io_buffer_t io_buffer) | |
626 | 0x272 | CEX DEX DECR | sys_io_buffer_allocate | int sys_io_buffer_allocate(sys_io_buffer_t io_buffer, sys_io_block_t *block) | |
627 | 0x273 | CEX DEX DECR | sys_io_buffer_free | int sys_io_buffer_free(sys_io_buffer_t io_buffer, sys_io_block_t block) | |
#sys_gpio Syscalls (630-631) | |||||
630 | 0x276 | CEX DEX DECR | sys_gpio_set | int sys_gpio_set (uint64_t device_id, uint64_t mask, uint64_t value) | |
631 | 0x277 | CEX DEX DECR | sys_gpio_get | int sys_gpio_get (uint64_t device_id, uint64_t *value) | |
#sys_fsw Syscalls (633-634) | |||||
633 | 0x279 | DECR | sys_fsw_connect_event | int sys_fsw_connect_event(sys_event_queue_t eq_id) | |
634 | 0x27A | DECR | sys_fsw_disconnect_event | int sys_fsw_disconnect_event(void) | |
#Bluetooth Syscalls | |||||
635 | 0x27B | CEX DEX DECR | root | sys_btsetting_if? | 2 Params: uint64_t packet_id (0=init,1=finalize,....27) , uint8_t buffer |
636 | 0x27C | CEX DEX DECR | root | (BT Database Lookup) | |
637 | 0x27D | CEX DEX DECR | root | BT related, syscall(0x27d, out:uint8_t[0x100]) | |
638 | 0x27E | CEX DEX DECR | root | BT related, 3 Params: packet_id (<7), input, output? | |
#USB Bluetooth Audio Syscalls (639-649) | |||||
639 | 0x27F | CEX DEX DECR | "deprecated!" (seems Sony doesnt want/like USB Bluetooth Audio transmitter/receiver) | ||
640 | 0x280 | CEX DEX DECR | "deprecated!" | ||
641 | 0x281 | CEX DEX DECR | "deprecated!" | ||
642 | 0x282 | CEX DEX DECR | "deprecated!" | ||
643 | 0x283 | CEX DEX DECR | "deprecated!" | ||
644 | 0x284 | CEX DEX DECR | "deprecated!" | ||
645 | 0x285 | CEX DEX DECR | "deprecated!" | ||
646 | 0x286 | CEX DEX DECR | "deprecated!" | ||
647 | 0x287 | CEX DEX DECR | "deprecated!" | ||
648 | 0x288 | CEX DEX DECR | "deprecated!" | ||
649 | 0x289 | CEX DEX DECR | "deprecated!" | ||
#RSX Audio Syscalls (650-x) | |||||
650 | 0x28A | CEX DEX DECR | sys_rsxaudio_initialize | int sys_rsxaudio_initialize(out:uint8[4]) | |
651 | 0x28B | CEX DEX DECR | sys_rsxaudio_finalize | 1 Params | |
652 | 0x28C | CEX DEX DECR | sys_rsxaudio_import_shared_memory | 2 Params | |
653 | 0x28D | CEX DEX DECR | sys_rsxaudio_unimport_shared_memory | 2 Params | |
654 | 0x28E | CEX DEX DECR | sys_rsxaudio_create_connection | 1 Params | |
655 | 0x28F | CEX DEX DECR | sys_rsxaudio_close_connection | 1 Params | |
656 | 0x290 | CEX DEX DECR | sys_rsxaudio_prepare_process | 1 Params | |
657 | 0x291 | CEX DEX DECR | sys_rsxaudio_start_process | 1 Params | |
658 | 0x292 | CEX DEX DECR | sys_rsxaudio_ | 1 Params | |
659 | 0x293 | CEX DEX DECR | sys_rsxaudio_ | 3 Params | |
#sys_rsx Syscalls (666-667) | |||||
666 | 0x29A | CEX DEX DECR | sys_rsx_device_open | 1 Param | |
667 | 0x29B | CEX DEX DECR | sys_rsx_device_close | ||
668 | 0x29C | CEX DEX DECR | sys_rsx_memory_allocate | ||
669 | 0x29D | CEX DEX DECR | sys_rsx_memory_free | ||
670 | 0x29E | CEX DEX DECR | sys_rsx_context_allocate | ||
671 | 0x29F | CEX DEX DECR | sys_rsx_context_free | ||
672 | 0x2A0 | CEX DEX DECR | sys_rsx_context_iomap | ||
673 | 0x2A1 | CEX DEX DECR | sys_rsx_context_iounmap | ||
674 | 0x2A2 | CEX DEX DECR | sys_rsx_context_attribute | ||
675 | 0x2A3 | CEX DEX DECR | sys_rsx_device_map | ||
676 | 0x2A4 | CEX DEX DECR | sys_rsx_device_unmap | ||
677 | 0x2A5 | CEX DEX DECR | sys_rsx_attribute | ||
678 | 0x2A6 | DEX DECR | |||
679 | 0x2A7 | CEX DEX DECR | root | ||
#Bluetooth USB Audio Syscalls (680-696) | |||||
680 | 0x2A8 | CEX DEX DECR | root | ||
681 | 0x2A9 | CEX DEX DECR | root | ||
682 | 0x2AA | CEX DEX DECR | root | ||
683 | 0x2AB | CEX DEX DECR | root | ||
684 | 0x2AC | CEX DEX DECR | root | ||
685 | 0x2AD | CEX DEX DECR | root | ||
686 | 0x2AE | CEX DEX DECR | root | ||
687 | 0x2AF | CEX DEX DECR | root | ||
688 | 0x2B0 | CEX DEX DECR | root | ||
689 | 0x2B1 | CEX DEX DECR | root | ||
690 | 0x2B2 | CEX DEX DECR | root | ||
691 | 0x2B3 | CEX DEX DECR | root | ||
692 | 0x2B4 | CEX DEX DECR | root | ||
693 | 0x2B5 | CEX DEX DECR | root | ||
694 | 0x2B6 | CEX DEX DECR | "deprecated!" (usbbtaudio) | ||
695 | 0x2B7 | CEX DEX DECR | "deprecated!" (usbbtaudio) | ||
696 | 0x2B8 | CEX DEX DECR | root | bt audio interface, packetid 0-4 (0= GetSinkConfig) | |
#sys_bdemu Syscalls (699) | |||||
699 | 0x2BB | DEX DECR | sys_bdemu_send_command | sys_bdemu_send_command(cmd, unused, unk1, result_buffer, result_buffer_len) cmd 0: returns BDemu usb DeviceID cmd 1: eject image (unk1 and result_buffer must be 0) cmd 2: format bdemu hdd? | |
#sys_net Syscalls (700-726) | |||||
700 | 0x2BC | CEX DEX DECR | sys_net_bnet_accept | int sys_net_bnet_accept (int s, struct sockaddr *addr, socklen_t *paddrlen ) // s = socket descriptor | |
701 | 0x2BD | CEX DEX DECR | sys_net_bnet_bind | int sys_net_bnet_bind ( int s, const struct sockaddr *addr, socklen_t addrlen ) | |
702 | 0x2BE | CEX DEX DECR | sys_net_bnet_connect | int sys_net_bnet_connect ( int s, const struct sockaddr *addr, socklen_t addrlen ) | |
703 | 0x2BF | CEX DEX DECR | sys_net_bnet_getpeername | int sys_net_bnet_getpeername ( int s, struct sockaddr *addr, socklen_t *paddrlen ) | |
704 | 0x2C0 | CEX DEX DECR | sys_net_bnet_getsockname | int sys_net_bnet_getsockname ( int s, struct sockaddr *addr, socklen_t *paddrlen ) | |
705 | 0x2C1 | CEX DEX DECR | sys_net_bnet_getsockopt | int sys_net_bnet_getsockopt ( int s, int level, int optname, void *optval, socklen_t *optlen ) | |
706 | 0x2C2 | CEX DEX DECR | sys_net_bnet_listen | int sys_net_bnet_listen ( int s, int backlog ) | |
707 | 0x2C3 | CEX DEX DECR | sys_net_bnet_recvfrom | int sys_net_bnet_recvfrom ( int s, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *paddrlen ) | |
708 | 0x2C4 | CEX DEX DECR | sys_net_bnet_recvmsg | int sys_net_bnet_recvmsg ( int s, struct msghdr *msg, int flags ) | |
709 | 0x2C5 | CEX DEX DECR | sys_net_bnet_sendmsg | int sys_net_bnet_sendmsg ( int s, const struct msghdr *msg, int flags ) | |
710 | 0x2C6 | CEX DEX DECR | sys_net_bnet_sendto | int sys_net_bnet_sendto ( int s, const void *buf, size_t len, int flags, const struct sockaddr *addr, socklen_t addrlen ) | |
711 | 0x2C7 | CEX DEX DECR | sys_net_bnet_setsockop | int sys_net_bnet_setsockop ( int s, int level, int optname, const void *optval, socklen_t optlen ) | |
712 | 0x2C8 | CEX DEX DECR | sys_net_bnet_shutdown | int sys_net_bnet_shutdown ( int s, int how ) | |
713 | 0x2C9 | CEX DEX DECR | sys_net_bnet_socket | int sys_net_bnet_socket ( int family, int type, int protocol ) | |
714 | 0x2CA | CEX DEX DECR | sys_net_bnet_close | int sys_net_bnet_close ( int fd ) | |
715 | 0x2CB | CEX DEX DECR | sys_net_bnet_poll | ||
716 | 0x2CC | CEX DEX DECR | sys_net_bnet_select | ||
717 | 0x2CD | CEX DEX DECR | sys_net_open_dump | int sys_net_open_dump ( int len, int flags ) | |
718 | 0x2CE | CEX DEX DECR | sys_net_read_dump | int sys_net_read_dump ( int id, void *buf, int len, int *pflags ) | |
719 | 0x2CF | CEX DEX DECR | sys_net_close_dump | int sys_net_close_dump ( int id, int *pflags ) | |
720 | 0x2D0 | CEX DEX DECR | sys_net_write_dump | int sys_net_write_dump ( char *buf ) | |
721 | 0x2D1 | CEX DEX DECR | sys_net_abort | int sys_net_abort (packet id <5: 0=abort socket,1=abort resolver ), sys_net_thread_id_t tid/int socket_descriptor, int flags ) | |
722 | 0x2D2 | CEX DEX DECR | sys_net_infoctl | ||
723 | 0x2D3 | CEX DEX DECR | sys_net_control | ||
724 | 0x2D4 | CEX DEX DECR | sys_net_bnet_ioctl | ||
725 | 0x2D5 | CEX DEX DECR | sys_net_bnet_sysctl | ||
726 | 0x2D6 | CEX DEX DECR | sys_net_eurus_post_command | int sys_net_eurus_post_command(uint16_t cmd, uint8_t *cmdbuf, uint64_t cmdbuf_size) Hypervisor_Reverse_Engineering#Commands_2 Commands | |
#lv2Fs Syscalls (801-834) | |||||
800 | 0x320 | CEX DEX DECR | sys_fs_test | int sys_fs_test(packetid < 7 (6 tests) ,0,*deviceid,4,uint8* out[0x420],0x420) | |
801 | 0x321 | CEX DEX DECR | sys_fs_open | CellFsErrno sys_fs_open(const char *path, int flags, int *fd, uint64_t mode, const void *arg, uint64_t size); | |
802 | 0x322 | CEX DEX DECR | sys_fs_read | CellFsErrno sys_fs_read(int fd, void *buf, uint64_t nbytes, uint64_t *nread); | |
803 | 0x323 | CEX DEX DECR | sys_fs_write | CellFsErrno sys_fs_write(int fd, const void *buf, uint64_t nbytes, uint64_t *nwrite); | |
804 | 0x324 | CEX DEX DECR | sys_fs_close | CellFsErrno sys_fs_close(int fd); | |
805 | 0x325 | CEX DEX DECR | sys_fs_opendir | CellFsErrno sys_fs_opendir(const char *path, int *fd); | |
806 | 0x326 | CEX DEX DECR | sys_fs_readdir | CellFsErrno sys_fs_readdir(int fd, CellFsDirent *dir, uint64_t *nread); | |
807 | 0x327 | CEX DEX DECR | sys_fs_closedir | CellFsErrno sys_fs_closedir(int fd); | |
808 | 0x328 | CEX DEX DECR | sys_fs_stat | CellFsErrno sys_fs_stat(const char *path, CellFsStat *sb); | |
809 | 0x329 | CEX DEX DECR | sys_fs_fstat | CellFsErrno sys_fs_fstat(int fd, CellFsStat *sb); | |
810 | 0x32A | CEX DEX DECR | sys_fs_link | int sys_fs_link(char const*, char const*) | |
811 | 0x32B | CEX DEX DECR | sys_fs_mkdir | CellFsErrno sys_fs_mkdir(const char *path, CellFsMode mode); | |
812 | 0x32C | CEX DEX DECR | sys_fs_rename | CellFsErrno sys_fs_rename(const char *from, const char *to); | |
813 | 0x32D | CEX DEX DECR | sys_fs_rmdir | CellFsErrno sys_fs_rmdir(const char *path); | |
814 | 0x32E | CEX DEX DECR | sys_fs_unlink | CellFsErrno sys_fs_unlink(const char *path); | |
815 | 0x32F | CEX DEX DECR | sys_fs_utime | CellFsErrno sys_fs_utime(const char *path, const CellFsUtimbuf *timep); | |
816 | 0x330 | CEX DEX DECR | sys_fs_access | int sys_fs_access(char cont*, int) | |
817 | 0x331 | CEX DEX DECR | sys_fs_fcntl | int sys_fs_fcntl(int, int, void *, unsigned long) | |
818 | 0x332 | CEX DEX DECR | sys_fs_lseek | CellFsErrno sys_fs_lseek(int fd, int64_t offset, int whence, uint64_t *pos); | |
819 | 0x333 | CEX DEX DECR | sys_fs_fdatasync | int sys_fs_datasync(int) | |
820 | 0x334 | CEX DEX DECR | sys_fs_fsync | CellFsErrno sys_fs_fsync(int fd); | |
821 | 0x335 | CEX DEX DECR | sys_fs_fget_block_size | int sys_fs_fget_block_size(int, unsigned long *, unsigned long *, unsigned long *, int *) | |
822 | 0x336 | CEX DEX DECR | sys_fs_get_block_size | int sys_fs_get_block_size(char const*, unsigned long *, unsigned long *, unsigned long *) | |
823 | 0x337 | CEX DEX DECR | sys_fs_acl_read | int sys_fs_acl_read(char const*, CellFsAcl *) | |
824 | 0x338 | CEX DEX DECR | sys_fs_acl_write | int sys_fs_acl_read(char const*, CellFsAcl *) | |
825 | 0x339 | CEX DEX DECR | sys_fs_lsn_get_cda_size | int sys_fs_lsn_get_cda_size(int, unsigned long *) | |
826 | 0x33A | CEX DEX DECR | sys_fs_lsn_get_cda | int sys_fs_lsn_get_cda(int, CellFsCda *, unsigned long, unsigned long *) | |
827 | 0x33B | CEX DEX DECR | sys_fs_lsn_lock | int sys_fs_lsn_lock(int) | |
828 | 0x33C | CEX DEX DECR | sys_fs_lsn_unlock | int sys_fs_lsn_unlock(int) | |
829 | 0x33D | CEX DEX DECR | sys_fs_lsn_read | int sys_fs_lsn_read(int, CellFsCda const*, unsigned long) | |
830 | 0x33E | CEX DEX DECR | sys_fs_lsn_write | int sys_fs_lsn_write(int, CellFsCda const*, unsigned long) | |
831 | 0x33F | CEX DEX DECR | sys_fs_truncate | CellFsErrno sys_fs_truncate(const char *path, uint64_t size); | |
832 | 0x340 | CEX DEX DECR | sys_fs_ftruncate | CellFsErrno sys_fs_ftruncate(int fd, uint64_t size); | |
833 | 0x341 | CEX DEX DECR | sys_fs_symbolic_link | int sys_fs_symbolic_link(char const*, char const*) | |
834 | 0x342 | CEX DEX DECR | sys_fs_chmod | CellFsErrno sys_fs_chmod(const char *path, CellFsMode mode); | |
835 | 0x343 | CEX DEX DECR | sys_fs_chown | int sys_fs_chown(char const*, int, int) | |
836 | 0x344 | CEX DEX DECR | sys_fs_newfs | int sys_fs_newfs(char const* deviceName, char const*, int, char const**) | |
837 | 0x345 | CEX DEX DECR | sys_fs_mount | int sys_fs_mount(char const* deviceName, char const*, char const*, int, int, int, char const**) Example: Device Name (e.g CELL_FS_IOS:BUILTIN_FLSH1), Device File System (e.g CELL_FS_FAT), Device Path (e.g. /dev_flash), 0, Write Protection (0 or 1), 0, 0, 0 | |
838 | 0x346 | CEX DEX DECR | sys_fs_unmount | int sys_fs_unmount(char const*, int, int) Parameters: Device Path (e.g. /dev_flash) | |
839 | 0x347 | CEX DEX DECR | sys_fs_sync | int sys_fs_sync(const char *dir) Parameter: Device Path (e.g. /dev_hdd0) | |
840 | 0x348 | CEX DEX DECR | sys_fs_disk_free | int sys_fs_disk_free(char const*, unsigned long *, unsigned long *) | |
841 | 0x349 | CEX DEX DECR | sys_fs_get_mount_info_size | int sys_fs_get_mount_info_size(unsigned long *) | |
842 | 0x34A | CEX DEX DECR | sys_fs_get_mount_info | int sys_fs_get_mount_info(CellFsMountInformation *, unsigned long, unsigned long *) | |
843 | 0x34B | CEX DEX DECR | sys_fs_get_fs_info_size | int sys_fs_get_fs_info_size(unsigned long *) | |
844 | 0x34C | CEX DEX DECR | sys_fs_get_fs_info | int sys_fs_get_fs_info(ulong, ulong*, CellFsInfo *) | |
845 | 0x34D | CEX DEX DECR | sys_fs_mapped_allocate | int sys_fs_mapped_allocate(int, unsigned long, void **) | |
846 | 0x34E | CEX DEX DECR | sys_fs_mapped_free | int sys_fs_mapped_free(int, void *) | |
847 | 0x34F | CEX DEX DECR | sys_fs_truncate2 | int sys_fs_ftruncate2(int fd, uint64_t size); | |
#process socket service syscalls (861-864) | |||||
860 | 0x35C | CEX DEX DECR | AuthID | syscall_sys_ss_get_cache_of_analog_sunset_flag | int syscall_sys_ss_get_cache_of_analog_sunset_flag(out:uint8_t[1]) |
861 | 0x35D | CEX DEX DECR | root | gamesave_storage_manager_if | |
862 | 0x35E | CEX DEX DECR | root | vtrm_manager_if (Interface) | |
863 | 0x35F | CEX DEX DECR | root | update_manager_if (Interface) | |
864 | 0x360 | CEX DEX DECR | dbg | storage_manager_if (Interface) | |
#sys_ss/sys_get Syscalls (865-879) | |||||
865 | 0x361 | CEX DEX DECR | root AuthID | sys_ss_random_number_generator | int sys_ss_random_number_generator(id,buffer,size), alias sys_get_random_number |
866 | 0x362 | CEX DEX DECR | root | secure_rtc_manager_if (Interface) | |
867 | 0x363 | CEX DEX DECR | root | aim_manager_if (Interface) | |
868 | 0x364 | CEX DEX DECR | root / dbg AuthID | indi_info_manager_if (Interface) | |
869 | 0x365 | CEX DEX DECR | root | syscall(869,0x22001,out:uint8_t[0x80] or 0x22002,out:uint8_t[0x690] or 0x22003,in:uint8_t[8] or 0x22004,in*), 0x22003 & 0x22004 = set_rtc | |
870 | 0x366 | CEX DEX DECR | sys_ss_get_console_id | int sys_ss_get_console_id(uint8_t *buf) //returns IDPS in buf | |
871 | 0x367 | CEX DEX DECR | dbg | sys_ss_access_control_engine | 3 params (1,sys_pid_t,out:uint8_t [8]) / (2 or 3,out:uint8_t [8],0) |
872 | 0x368 | CEX DEX DECR | sys_ss_get_open_psid | int sys_ss_get_open_psid(CellSsOpenPSID *ptr) ; typedef struct CellSsOpenPSID { uint64_t high; uint64_t low;} | |
873 | 0x369 | CEX DEX DECR | sys_ss_get_cache_of_product_mode | int sys_ss_get_cache_of_product_mode(uint8_t *ptr [1]); | |
874 | 0x36A | CEX DEX DECR | sys_ss_get_cache_of_flash_ext_flag | int sys_ss_get_cache_of_flash_ext_flag(uint8_t *flag [1]) | |
875 | 0x36B | CEX DEX DECR | sys_ss_get_boot_device | int sys_ss_get_boot_device(uint8_t * buf [8]); | |
876 | 0x36C | CEX DEX DECR | sys_ss_disc_access_control | 2Params: 0x20000(=get_disc_access_control),uint8_t [4] / 0x20001(=set_disc_access_control),1 | |
877 | 0x36D | CEX DEX DECR | root | sys_ss_~utoken_if | syscall(877,0x25003=Decrypt or 0x25004 or 0x25005=Encrypt or 0x25006=(copy syscall table to user), uint8_t *token, 0xC50 (size)), user_token_manager_if |
878 | 0x36E | CEX DEX DECR | sys_ss_ad_sign | syscall(878, 0x26001, in_buffer[0x14], out_buffer[0x80]) | |
879 | 0x36F | CEX DEX DECR | sys_ss_media_id | syscall(879, 0x10001, out_buffer[0x10]) | |
#sys_deci3 Syscalls (880-884) | |||||
880 | 0x370 | DEX DECR | sys_deci3_open | int sys_deci3_open(sys_deci3_protocol_t protocol, sys_deci3_port_t port, void *option, sys_deci3_session_t * session_id); | |
881 | 0x371 | DEX DECR | sys_deci3_create_event_path | int sys_deci3_create_event_path(sys_deci3_session_t session_id, size_t bufsize, sys_event_queue_t event_queue_id); | |
882 | 0x372 | DEX DECR | sys_deci3_close | int sys_deci3_close(sys_deci3_session_t session_id); | |
883 | 0x373 | DEX DECR | sys_deci3_send | int sys_deci3_send(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size); | |
884 | 0x374 | DEX DECR | sys_deci3_receive | int sys_deci3_receive(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size); | |
885 | 0x375 | DECR | sys_deci3_open2 | ||
889 | 0x379 | DECR | root | sys_ | |
890 | 0x37A | sys_deci3_initialize | |||
891 | 0x37B | sys_deci3_terminate | |||
892 | 0x37C | sys_deci3_debug_mode | |||
893 | 0x37D | sys_deci3_show_status | |||
894 | 0x37E | sys_deci3_echo_test | |||
895 | 0x37F | sys_deci3_send_dcmp_packet | |||
896 | 0x380 | sys_deci3_dump_cp_register | |||
897 | 0x381 | sys_deci3_dump_cp_buffer | |||
899 | 0x383 | sys_deci3_test | |||
#sys_dbg Syscalls (900-970) | |||||
900 | 0x384 | CEX DEX DECR | sys_dbg_stop_processes | 2 params: sys_pid_t pid, 1 | |
901 | 0x385 | DEX DECR | sys_dbg_continue_processes | ||
902 | 0x386 | CEX DEX DECR | sys_dbg_stop_threads | 2 params: in/out, len | |
903 | 0x387 | CEX DEX DECR | sys_dbg_continue_threads | 2 params: uint64_t *inbuff, int length(0 or ... or 8) | |
904 | 0x388 | DEX DECR | sys_dbg_read_process_memory | int sys_dbg_read_process_memory(sys_pid_t pid, uint64_t process_ea, void* data, uint32_t size) | |
905 | 0x389 | DEX DECR | sys_dbg_write_process_memory | int sys_dbg_write_process_memory(sys_pid_t pid, uint64_t process_ea, const void* data, uint32_t size) | |
906 | 0x38A | CEX DEX DECR | sys_dbg_read_thread_register | ||
907 | 0x38B | DEX DECR | sys_dbg_write_thread_register | ||
908 | 0x38C | DEX DECR | sys_dbg_get_process_list | int sys_dbg_get_process_list(sys_pid_t* pids, uint64_t* max, uint64_t* count) | |
909 | 0x38D | CEX DEX DECR | sys_dbg_get_thread_list | int sys_dbg_get_thread_list( sys_pid_t pid, sys_ppu_thread_t* ids, uint64_t* ids_num, uint64_t* all_ids_num) | |
910 | 0x38E | CEX DEX DECR | sys_dbg_get_thread_info | ||
911 | 0x38F | CEX DEX DECR | sys_dbg_spu_thread_read_from_ls | ||
912 | 0x390 | DEX DECR | sys_dbg_spu_thread_write_to_ls | ||
913 | 0x391 | DEX DECR | sys_dbg_kill_process | int sys_dbg_kill_process(sys_pid_t pid) | |
914 | 0x392 | CEX DEX DECR | sys_dbg_get_process_info | int sys_dbg_get_process_info(sys_pid_t pid, sys_process_info_t* info) | |
915 | 0x393 | DEX DECR | sys_dbg_set_run_control_bit_to_spu | ||
916 | 0x394 | DEX DECR | sys_dbg_spu_thread_get_exception_cause | ||
917 | 0x395 | DEX DECR | sys_dbg_create_kernel_event_queue | ||
918 | 0x396 | DEX DECR | sys_dbg_read_kernel_event_queue | ||
919 | 0x397 | DEX DECR | sys_dbg_destroy_kernel_event_queue | ||
920 | 0x398 | DEX DECR | sys_dbg_get_process_event_ctrl_flag | ||
921 | 0x399 | DEX DECR | sys_dbg_set_process_event_cntl_flag | ||
922 | 0x39A | DEX DECR | sys_dbg_get_spu_thread_group_event_cntl_flag | ||
923 | 0x39B | DEX DECR | sys_dbg_set_spu_thread_group_event_cntl_flag | ||
924 | 0x39C | DEX DECR | |||
925 | 0x39D | DEX DECR | sys_dbg_get_raw_spu_list | ||
926 | 0x39E | DEX DECR | |||
927 | 0x3A0 | DEX DECR | |||
928 | 0x3A1 | DEX DECR | |||
929 | 0x3A2 | DEX DECR | |||
930 | 0x3A3 | DEX DECR | |||
931 | 0x3A4 | DEX DECR | |||
932 | 0x3A4 | DEX DECR | sys_dbg_get_mutex_list | ||
933 | 0x3A5 | CEX DEX DECR | sys_dbg_get_mutex_information | int sys_dbg_get_mutex_information(sys_pid_t id, sys_mutex_t id, sys_dbg_mutex_information_t* info ) | |
934 | 0x3A6 | DEX DECR | sys_dbg_get_cond_list | ||
935 | 0x3A7 | CEX DEX DECR | sys_dbg_get_cond_information | int sys_dbg_get_cond_information ( sys_pid_t id, sys_cond_t id, sys_dbg_cond_information_t* info ) | |
936 | 0x3A8 | DEX DECR | sys_dbg_get_rwlock_list | ||
937 | 0x3A9 | CEX DEX DECR | sys_dbg_get_rwlock_information | int sys_dbg_get_rwlock_information ( sys_pid_t id, sys_rwlock_t id, sys_dbg_rwlock_information_t* info ) | |
938 | 0x3AA | DEX DECR | sys_dbg_get_lwmutex_list | ||
939 | 0x3AB | DEX DECR | sys_dbg_get_address_from_dabr | int sys_dbg_get_address_from_dabr ( sys_pid_t id, uint64_t* addr, uint64_t* ctrl_flag ) | |
940 | 0x3AC | DEX DECR | sys_dbg_set_address_to_dabr | int sys_dbg_set_address_to_dabr ( sys_pid_t id, uint64_t addr, uint64_t ctrl_flag ) | |
941 | 0x3AD | CEX DEX DECR | sys_dbg_get_lwmutex_information | int sys_dbg_get_lwmutex_information ( sys_pid_t id, sys_lwmutex_pseudo_id_t id, sys_dbg_lwmutex_information_t* info ) | |
942 | 0x3AE | DEX DECR | sys_dbg_get_event_queue_list | ||
943 | 0x3AF | CEX DEX DECR | sys_dbg_get_event_queue_information | int sys_dbg_get_event_queue_information ( sys_pid_t id, sys_event_queue_t id, sys_dbg_event_queue_information_t* info ) | |
944 | 0x3B0 | CEX DEX DECR | sys_dbg_initialize_ppu_exception_handler | int sys_dbg_initialize_ppu_exception_handler( sys_event_queue_t * equeue_id) | |
945 | 0x3B1 | CEX DEX DECR | dbg | sys_dbg_finalize_ppu_exception_handler | int sys_dbg_finalize_ppu_exception_handler ( sys_event_queue_t equeue_id ) |
946 | 0x3B2 | DEX DECR | sys_dbg_get_semaphore_list | ||
947 | 0x3B3 | CEX DEX DECR | sys_dbg_get_semaphore_information | int sys_dbg_get_semaphore_information (sys_pid_t id, sys_semaphore_t id, sys_dbg_semaphore_information_t* info ) | |
948 | 0x3B4 | DEX DECR | sys_dbg_get_kernel_thread_list | ||
949 | 0x3B5 | DEX DECR | sys_dbg_get_kernel_thread_info | ||
950 | 0x3B6 | DEX DECR | sys_dbg_get_lwcond_list | ||
951 | 0x3B7 | CEX DEX DECR | sys_dbg_get_lwcond_information | int sys_dbg_get_lwcond_information (sys_pid_t id, sys_lwcond_pseudo_id_t id, sys_dbg_lwcond_information_t* info ) | |
952 | 0x3B8 | DEX DECR | sys_dbg_create_scratch_data_area_ext | ||
953 | 0x3B9 | DEX DECR | sys_dbg_vm_get_page_information | int sys_dbg_vm_get_page_information (sys_pid_t id, sys_addr_t addr, unsigned int num, sys_vm_page_information_t *pageinfo ) | |
954 | 0x3BA | DEX DECR | sys_dbg_vm_get_info | ||
955 | 0x3BB | DEX DECR | sys_dbg_enable_floating_point_enabled_exception | int sys_dbg_enable_floating_point_enabled_exception ( sys_ppu_thread_t id ) | |
956 | 0x3BC | DEX DECR | sys_dbg_disable_floating_point_enabled_exception | int sys_dbg_disable_floating_point_enabled_exception ( sys_ppu_thread_t id ) | |
957 | 0x3BD | CEX DEX DECR | dbg | ||
959 | 0x3BF | CEX DEX DECR | sys_dbg_(send event flags?) | 4 Params: id, uint64_t,uint64_t,uint64_t | |
960 | 0x3C0 | DECR | sys_control_performance_monitor? | int sys_control_performance_monitor? (int id, 0 / *out ) - Controls Performance Monitor on the Cell Broadband Engine syscall | |
961 | 0x3C1 | DECR | |||
962 | 0x3C2 | DECR | |||
963 | 0x3C3 | DECR | |||
964 | 0x3C4 | DECR | |||
965 | 0x3C5 | DECR | |||
966 | 0x3C6 | DECR | |||
967 | 0x3C7 | DECR | |||
968 | 0x3C8 | DECR | |||
969 | 0x3C9 | DECR | |||
970 | 0x3CA | DEX DECR | sys_dbg_get_event_flag_list | ||
971 | 0x3CB | CEX DEX DECR | sys_dbg_get_event_flag_information | int sys_dbg_get_event_flag_information ( sys_pid_t id, sys_event_flag_t id, sys_dbg_event_flag_information_t* info ) | |
972 | 0x3CC | CEX DEX DECR | sys_dbg_(send event flags?) | 1 Param: uint8_t [0x48] | |
973 | 0x3CD | DEX DECR | |||
974 | 0x3CE | CEX DEX DECR | sc(0x3CE, in:(ppu)thread_id, out:uint8_t[0x440]) | ||
975 | 0x3CF | CEX DEX DECR | sys_dbg_read_spu_thread_context2 | int sys_dbg_read_spu_thread_context2( sys_spu_thread_t id, sys_dbg_spu_thread_context2_t* spu_context ) | |
976 | 0x3D0 | CEX DEX DECR | sc(0x3D0, out:*uint32_t handle), creates a handle? | ||
977 | 0x3D1 | CEX DEX DECR | sc(0x3D1, uint32_t handle) closes the handle? | ||
978 | 0x3D2 | CEX DEX DECR | root | sc(0x3D2, uint32_t handle, 1) | |
979 | 0x3D3 | CEX DEX DECR | sc(0x3D3, uint32_t handle, , ) | ||
980 | 0x3D4 | CEX DEX DECR | sc(0x3D4, uint32_t handle, out:uint8_t[0x14], 0x14), returns some sha hash | ||
981 | 0x3D5 | CEX DEX DECR | root | ||
982 | 0x3D6 | CEX DEX DECR | |||
983 | 0x3D7 | CEX DEX DECR | sc(0x3D7, uint32_t handle, out:uint8_t[0x14], 0x14) // sha | ||
984 | 0x3D8 | CEX DEX DECR | sc(0x3D8, out:uint8_t[0x10], size:0x10) seems to return max. 0x10 Randombytes | ||
985 | 0x3D9 | CEX DEX DECR | root | sys_dbg_get_console_type? | seems to return Console Type, syscall(985,out_buffer[8]), return values:2=DEX,3=TOOL,1=CEX |
986 | 0x3DA | CEX DEX DECR | root dbg | seems to return Game Application Title ID , syscall(986,out:uint8[0x40]) | |
987 | 0x3DB | CEX DEX DECR | root | syscall(987,0 or 1, uint64_t data), example: 0, 0x8000100000020000 (no root flags required) example: 1, uint64_t data (requires root flags AND QA-Enabled, sends data to vsh process) | |
988 | 0x3DC | CEX | sys_dbg_(something)_ppu_exception_handler | 2 Params: syscall(988,int i,0) , i <0x10 (1 or 4 or 8 or 0x10) | |
989 | 0x3DD | CEX DEX DECR | 2 Params: syscall(989, (spu) thread_id ,out:uint8[0x20]) |
Network Syscalls
Networking uses LV2_Functions_and_Syscalls#sys_net_Syscalls syscalls 700-726
File Syscalls
OFLAGS
Name | Value |
---|---|
CELL_FS_O_RDONLY | 000000 |
CELL_FS_O_WRONLY | 000001 |
CELL_FS_O_RDWR | 000002 |
CELL_FS_O_ACCMODE | 000003 |
CELL_FS_O_CREAT | 000100 |
CELL_FS_O_EXCL | 000200 |
CELL_FS_O_TRUNC | 001000 |
CELL_FS_O_APPEND | 002000 |
CELL_FS_O_MSELF | 010000 |
Classes
Name | Structure | Packed |
---|---|---|
cellFsStat | s32 st_mode; s32 st_uid; s32 st_gid; u64 st_access_time; u64 st_modify_time; u64 st_create_time; u64 st_size; u64 st_blksize; | yes |
cellFsUtimbuf | u64 access_time; u64 modify_time; | no |
cellFsDirent | u8 d_type; u8 d_namlen; char d_name[256]; | no |
Filesystem Syscalls
Filesystem uses LV2_Functions_and_Syscalls#lv2Fs_Syscalls syscalls 700-726
Unofficial Syscalls added
See also : Syscalls, what they mean for you and for multiMAN
since 3.55 Sony fixed memory region restrictions and Write and Execute access permissions so that's why lv1 peek (lv2_lv1_peek - graf_chokolo) and lv1 poke (lv2_lv1_poke - graf_chokolo) were created.
Number | Function - Added by | Notes |
---|---|---|
6 | lv2_peek - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x peek) | r3 is a 64 bit address to read. A 64 bit value will be returned in r3 |
7 | lv2_poke - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x poke) | r4 is a 64 bit value. r3 is the address to write that value to. |
8 | lv2_lv1_peek - graf_chokolo / (4.3x peek) | r3 is a 64 bit address to read. A 64 bit value will be returned in r3 |
8 | Peek - ps3cobra | r3 is a 64 bit address to read. A 64 bit value will be returned in r3 |
8 | Remapper - Hermes4 | redirections of any paths, including /dev_usb for AVCHD HDD |
9 | lv2_lv1_poke - graf_chokolo / (4.3x poke) | r4 is a 64 bit value. r3 is the address to write that value to. |
10 | lv2_lv1_peek - jfw 'bad idea' | r3 is a 64 bit address to read. A 64 bit value will be returned in r3 |
10 | lv2_lv1_call - rebug | r10 is the lv1 syscall number. The registers r3 - r9 are arguments. |
11 | lv2_lv1_poke - jfw 'bad idea' | r4 is a 64 bit value. r3 is the address to write that value to. |
35 | Remapper - PL3, PSGroove, PSFreedom | syscall_35 (char *old_path, char *new_path); |
36 | Remapper - Hermes, PSJailbreak / (4.2x BD-Emulator) | hardcoded /dev_bdvd & /app_home remapping |
200 | Run_Payload - Payloader3 | |
201 | Alloc - Payloader3 | |
202 | Free - Payloader3 |
Note: LV1: Peek and Poke support uses unused LV1 call 182 and 183
See also:
- Tutorial How to call a Syscall By deroad: http://www.ps3hax.net/2012/02/tutorial-how-to-call-a-syscall-by-deroad/