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 interrupt_bitmap_mask;
uint32_t dbg_trace_id;
};
struct sys_prx_load_module_option_t {
uint64_t size; /* sizeof(this) */
};
struct sys_prx_dbg_get_module_list_t {
uint64_t size; /* sizeof(this) *//* 8 */
uint32_t unk0;
uint32_t max;
sys_prx_user_p_prx_id_t idlist;
uint32_t count;
sys_prx_user_p_stop_level_t levellist;
uint32_t unk1;
} sys_prx_dbg_get_module_list_t;
struct sys_prx_start_t {
uint64_t flag; // flag ?
uint64_t mode; // mode ?
uint64_t entry; //either first arg of pe_func or casted to sys_prx_entry_t (see sys/prx.h)
int64_t modres;
uint64_t pe_func; //casted to sys_prx_entry_pe_t (see sys/prx.h)
};
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.50 DEX | 0x3384A8 | 0x392850 | |||||
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 | int sys_process_get_status(sys_pid_t pid) | |
5 | 0x005 | CEX DEX DECR | dbg | sys_process_detach_child | 1 param | |
12 | 0x00C | CEX DEX DECR | sys_process_get_number_of_object | int sys_process_get_number_of_object(uint32_t object_type, uint32_t* count); | ||
13 | 0x00D | 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 | 0x00E | 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 | int sys_process_spawn(int *pid, int prio, uint64_t flags, void *stack, int stack_size, int unk1, int unk2) | |
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]); (more info: #sys_process_get_paramsfo) | ||
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 (60-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 (60-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_ipc_key_t event_queue_key); | ||
#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 | (console_putc) | ||||
201 | 0x0C9 | (console_getc) | ||||
202 | 0x0CA | |||||
203 | 0x0CB | |||||
209 | 0x0D1 | (sys_pseudo_fs_read) | ||||
210 | 0x0D2 | (sys_pseudo_fs_write) | ||||
211 | 0x0D3 | (sys_pseudo_fs_append) | ||||
212 | 0x0D4 | |||||
213 | 0x0D5 | (console_write) | ||||
214 | 0x0D6 | (sys_pseudo_fs_get_file_size) | ||||
215 | 0x0D7 | DEX DECR | sys_dbg_mat_set_condition
(logical_console_open) |
int sys_dbg_mat_set_condition(sys_addr_t,int) | ||
216 | 0x0D8 | DEX DECR | sys_dbg_mat_get_condition
(logical_console_close) |
int sys_dbg_mat_get_condition(sys_addr_t,int*) | ||
217 | 0x0D9 | DECR | dbg | (logical_console_getc) | ||
218 | 0x0DA | DECR | dbg | (logical_console_putc) | ||
219 | 0x0DB | DECR | dbg | (logical_console_flush) | ||
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) | ||
295 | (sys_pseudo_fs_truncate) | |||||
296 | (sys_pseudo_fs_get_dents) | |||||
#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: (uint32_t id? ('UMEM'), size_t size, size_t alignment, sys_memory_t * mem_id) | ||
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 (PS2_NETEMU) 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 * bootparam? (more info: #Boot_Parameter) | |
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 (STATUS),2 (POWER)(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 | 2 Params,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, uint8_t offset (0-0x20), uint8_t *, uint32_t *, uint32_t *
HV System Manager access - ServiceID 26 (REQUEST_ERROR_LOG) | |
391 | 0x187 | CEX DEX DECR | root | sys_sm_request_be_count | 4 Params
uint8_t *, uint32_t* total_time_in_seconds, uint32_t* power_on_counter, uint32_t* power_off_counter HV System Manager access - ServiceID 28 (REQUEST_BE_COUNT): | |
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 | int sys_sm_set_rtc_alarm(CellRtcTick *pTick), 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: uint64_t param,uint8_t * st (status?/state?)
HV System Manager access - ServiceID 40 (BOOT_PARAMETER) also sends the param to syscon 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: uint64_t * param, uint8_t * st
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: uint16_t * comp?, uint8_t * st (status?/state?)
HV System Manager access - ServiceID 44 factory_process_comp (0,0), dbg_printf comp value | ||
406 | 0x196 | CEX DEX DECR | pm | 2 Params: uint32_t comp? ,uint8_t * st
comp? = 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x100 HV System Manager access - ServiceID 46 factory_process_comp (1,x) -> OR-Operation with comp | ||
407 | 0x197 | CEX DEX DECR | pm | 1 Param: uint8_t * st
HV System Manager access - ServiceID 48 factory_process_comp (2,0) -> ANDC-Operation with comp=0 | ||
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(uint8_t id, uint8_t *st (status? state?), uint8_t *policy (mode), uint8_t * mode (speed), uint8_t *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 | sys_prx_dbg_get_module_id_list(sys_pid_t pid, sys_prx_dbg_get_module_list_t *pInfo) | |
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, sys_prx_flags_t flags, sys_prx_start_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 | int sys_prx_dbg_get_module_info(sys_pid_t pid, sys_prx_id_t id, sys_prx_dbg_module_info* info) | |
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 | param 1: device_type, 1 = pad, 2 = kb, 3 = mouse
int sc(int device_type, int device_no, int port_no) | |
505 | 0x1F9 | CEX DEX DECR | root | sys_hid_manager_unmap_logical_id_to_port_id | int sc(int device_type, int device_no, int port_no) | |
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 | 4 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 | sys_bluetooth_aud_serial_unk1(0x243,0,unk1*,aud_serial*,unk2*,unk3*,unk4*) | 0xD0044D40 00 00 00 00 / 0xD0044D44 00 82 8E 18 --> 00 7D 39 A0 --> 0x007D39A0 5F 61 75 64 5F 53 45 52 49 41 4C 00 00 00 00 00 _aud_SERIAL..... / 0xD0044D48 00 00 00 00 / 0xD0044D4C 00 00 00 00 | ||
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 DeviceIDs | |
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 | int sys_storage_send_device_command(uint32_t device_handle, unsigned int command, void *indata, uint64_t inlen, void *outdata, uint64_t outlen) | ||
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 dev list 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_stop_process | 1 Params | ||
659 | 0x293 | CEX DEX DECR | sys_rsxaudio_ | 3 Params | ||
#sys_rsx Syscalls (666-677) | ||||||
666 | 0x29A | CEX DEX DECR | sys_rsx_device_open | 1 Param (uint64_t arg_1); | ||
667 | 0x29B | CEX DEX DECR | sys_rsx_device_close | (void); | ||
668 | 0x29C | CEX DEX DECR | sys_rsx_memory_allocate | (uint32_t *mem_ctx_id, uint32_t *local_addr, uint64_t arg_4, uint64_t arg_5, uint64_t arg_6, uint64_t arg_7); | ||
669 | 0x29D | CEX DEX DECR | sys_rsx_memory_free | (uint32_t mem_ctx_id); | ||
670 | 0x29E | CEX DEX DECR | sys_rsx_context_allocate | (uint32_t *rsx_ctx_id, uint64_t *dma_control_lpar, uint64_t *driver_info_lpar, uint64_t *reports_lpar, uint32_t mem_ctx_id, uint64_t system_mode); | ||
671 | 0x29F | CEX DEX DECR | sys_rsx_context_free | (uint32_t rsx_ctx_id); | ||
672 | 0x2A0 | CEX DEX DECR | sys_rsx_context_iomap | (uint32_t rsx_ctx_id, uint32_t local_offset, uint32_t main_mem_ea, uint32_t size, uint64_t flags); | ||
673 | 0x2A1 | CEX DEX DECR | sys_rsx_context_iounmap | (uint32_t rsx_ctx_id, uint64_t arg_2, uint64_t arg_3); | ||
674 | 0x2A2 | CEX DEX DECR | sys_rsx_context_attribute | (uint32_t rsx_ctx_id, uint32_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4); | ||
675 | 0x2A3 | CEX DEX DECR | sys_rsx_device_map | (uint64_t *semaphore, uint64_t arg_2, uint64_t device_id); | ||
676 | 0x2A4 | CEX DEX DECR | sys_rsx_device_unmap | (uint64_t device_id); | ||
677 | 0x2A5 | CEX DEX DECR | sys_rsx_attribute
(sys_rsx_audio_setup) |
(uint64_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4); | ||
678 | 0x2A6 | DEX DECR |
(sys_rsx_audio_queue) |
|||
679 | 0x2A7 | CEX DEX DECR | root |
(sys_rsx_audio_iomap) |
(uint32_t arg_1, uint32_t arg_2, uint64_t *out_1, uint64_t *out_2, uint64_t *out_3, uint64_t *out_4); | |
#Bluetooth USB Audio Syscalls (680-696) | ||||||
680 | 0x2A8 | CEX DEX DECR | root |
(sys_rsx_audio_iounmap?) |
||
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) | ||
697 | 0x2B9 |
(sys_iosys_infra_test_open) |
||||
698 | 0x2BA |
(sys_iosys_infra_test_execute) |
||||
#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(uint32_t packetid (0-0x13), uint8_t buf[0xB8], const char* path, int32_t len, int32_t unk2, int32_t unk3, 0, 0); | ||
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 | fdm_manager_if ? | ||
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,out:uint8_t [8],0) // returns Authentication_IDs (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),uint32_t * disc_access / 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, uint32_t size, void* data) | ||
905 | 0x389 | DEX DECR | sys_dbg_write_process_memory | int sys_dbg_write_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, const void* data) | ||
906 | 0x38A | CEX DEX DECR | sys_dbg_read_thread_register | 3 Params: uint8_t [0x10], uint64_t *, uint8_t[0x10] | ||
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 | 2 Params: uint8_t * [0x10] {type,thread id?}, uint8_t [0x80]
1 spu_thread 2 spu_thread_group 0 ppu_thread | ||
911 | 0x38F | CEX DEX DECR | sys_dbg_spu_thread_read_from_ls | 4 Params: spu thread id,, size, uint8_t[size] | ||
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 | sys_dbg_get_process_memory_container_information | (u32 proc_id, dbg_mc_info *mc_info[count], u32 *count) | ||
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 | sys_crypto_engine_create | int sys_crypto_engine_create(sys_pid_t* id); | ||
977 | 0x3D1 | CEX DEX DECR | sys_crypto_engine_destroy | int sys_crypto_engine_destroy(sys_pid_t id); | ||
978 | 0x3D2 | CEX DEX DECR | root | sys_crypto_engine_hasher_prepare | int sys_crypto_engine_hasher_prepare(sys_pid_t id, int32_t hash_key_index); /* uses HMAC-SHA1 with key size of 0x14 bytes, keys are generated by VTRM (master) */ | |
979 | 0x3D3 | CEX DEX DECR | sys_crypto_engine_hasher_run | int sys_crypto_engine_hasher_run(sys_pid_t id, const void* data, uint32_t data size); /* splits data by chunks of 0x400 bytes max */ | ||
980 | 0x3D4 | CEX DEX DECR | sys_crypto_engine_hasher_get_hash | int sys_crypto_engine_hasher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* >= 0x14 */); | ||
981 | 0x3D5 | CEX DEX DECR | root | sys_crypto_engine_cipher_prepare | int sys_crypto_engine_cipher_prepare(sys_pid_t id, int32_t hash_key_index, int32_t mode /* 1:encrypt, 2:decrypt */, int32_t cipher_key_index, const void* iv, uint32_t iv_size); /* uses AES-CBC-128, keys are generated by VTRM (master) */ | |
982 | 0x3D6 | CEX DEX DECR | sys_crypto_engine_cipher_run | int sys_crypto_engine_cipher_run(sys_pid_t id, const void* input, void* output, uint32_t data_size); /* splits data by chunks of 0x400 bytes max */ | ||
983 | 0x3D7 | CEX DEX DECR | sys_crypto_engine_cipher_get_hash | int sys_crypto_engine_cipher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* >= 0x14 */); | ||
984 | 0x3D8 | CEX DEX DECR | sys_crypto_engine_random_generate | int sys_crypto_engine_random_generate(void* buffer, uint32_t max_buffer_size /* >= 0x10 */); | ||
985 | 0x3D9 | CEX DEX DECR | root | sys_dbg_get_console_type? | returns Console Type, syscall(985,uint64_t * type)
1=CEX 2=DEX 3=TOOL | |
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 2 or 4 or 8 or 0x10) | ||
989 | 0x3DD | CEX DEX DECR | 2 Params: syscall(989, (spu) thread_id ,out:uint8[0x20]) |
_sys_process_get_paramsfo
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 01 < -------Title ID------- > 00 00 00 00 00 00 �BLES80608...... 00000010 < ---ExtraLoadFlag--- > < load HUDRSX libProf > ................ 00000020 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................ 00000030 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................
@0x18 can load libgpad.sprx from app_home
ExtraLoadFlag
Name | Value |
---|---|
EnableAccForRemotePlay | 0x20L |
EnableCoreDump | 0x10L |
EnableGCMDebug | 0x04L |
EnableHUDRSXTools | 0x40L |
EnableLv2ExceptionHandler | 0x01L |
EnableMAT | 0x80L |
EnableMiscSettings | 0x8000000000000000L |
EnableRemotePlay | 0x02L |
GameAttributeCustomMessage | 0x200L |
GameAttributeInviteMessage | 0x100L |
LoadingPatch | 0x1000L |
LoadLibprofSPRXAutomatically | 0x08L |
Boot Parameter
Name | Value |
---|---|
BluRayEmuOff | 0x04L |
BluRayEmuUSB | 0x20L |
DebugMode | 0x10L |
Default | 0x00L |
DualNIC | 0x80L |
HDDSpeedBluRayEmu | 0x08L |
HostFSTarget | 0x40L |
MemSizeConsole | 0x02L |
ReleaseMode | 0x01L |
SystemMode | 0x11L |
Network Syscalls
Networking uses 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. |
11 | for sc_ctrl - 'Starsucks MFW 4.75 V1.00' | int sc_ctrl(int sc_num, int mode, uint64_t addr) |
15 | lv2_func_call - habib | r10 is the address to the lv2 function. The registers r3 - r9 are arguments. |
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 | |
200 | sys_dbg_read_process_memory - CCAPI | |
201 | sys_dbg_write_process_memory - CCAPI | |
202 | Free - Payloader3 | |
203 | lv2_peek - CCAPI | |
204 | lv2_poke - CCAPI | |
1022 | load_prx_module - PRXLoader | system_call_6(PRX_SYSCALL, PRX_SYSCALL_LOAD, process_obj, slot, path, arg, arg_size); |
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/