Changes

84 bytes added ,  14:51, 15 August 2022
m
β†’β€ŽSyscall Table: cleanup table columns...
Line 181: Line 181:  
| 24 || int IOS_CloseAsync(int fd, int queueid, IOSRequest *message) || Async implementation of IOS_Close || 0 on success
 
| 24 || int IOS_CloseAsync(int fd, int queueid, IOSRequest *message) || Async implementation of IOS_Close || 0 on success
 
|-
 
|-
βˆ’
| 25 || int IOS_ReadAsync(int fd, void *buf, u32 len, int queueid, IOSRequest *message) || Async implementation of IOS_Read
+
| 25 || int IOS_ReadAsync(int fd, void *buf, u32 len, int queueid, IOSRequest *message) || Async implementation of IOS_Read ||
 
|-
 
|-
βˆ’
| 26 || int IOS_WriteAsync(int fd, const void *buf, u32 len, int queueid, IOSRequest *message) || Async implementation of IOS_Write
+
| 26 || int IOS_WriteAsync(int fd, const void *buf, u32 len, int queueid, IOSRequest *message) || Async implementation of IOS_Write ||
 
|-
 
|-
βˆ’
| 27 || int IOS_SeekAsync(int fd, int offset int origin, int queueid, IOSRequest *message) || Async implementation of IOS_Seek
+
| 27 || int IOS_SeekAsync(int fd, int offset int origin, int queueid, IOSRequest *message) || Async implementation of IOS_Seek ||
 
|-
 
|-
βˆ’
| 28 || int IOS_IoctlAsync(int fd, u32 request, void *input_buffer, u32 input_buffer_len, void *output_buffer, u32 output_buffer_len, int queueid, IOSRequest *message) || Async implementation of IOS_Ioctl
+
| 28 || int IOS_IoctlAsync(int fd, u32 request, void *input_buffer, u32 input_buffer_len, void *output_buffer, u32 output_buffer_len, int queueid, IOSRequest *message) || Async implementation of IOS_Ioctl ||
 
|-
 
|-
βˆ’
| 29 || int IOS_IoctlvAsync(int fd, u32 request, u32 vector_count_in, u32 vector_count_out, [[IOS/Resource_request|IOVector]] *vector, int queueid, IOSRequest *message) || Async implementation of IOS_Ioctlv
+
| 29 || int IOS_IoctlvAsync(int fd, u32 request, u32 vector_count_in, u32 vector_count_out, [[IOS/Resource_request|IOVector]] *vector, int queueid, IOSRequest *message) || Async implementation of IOS_Ioctlv ||
 
|-
 
|-
βˆ’
| 2a || int IOS_ResourceReply( [[IOS/resource request|const IOSRequest]] *request, int retval) || return from a cmd on a  [[IOS|resource]]  
+
| 2a || int IOS_ResourceReply( [[IOS/resource request|const IOSRequest]] *request, int retval) || return from a cmd on a  [[IOS|resource]] ||
 
|-
 
|-
 
| 2b || int SetUid(u32 pid, u32 uid) || Set the UID for a process (PID <= 0x13). This can only be used from the kernel or ES. || IPC_SUCCESS on success, IPC_EACCES (permission denied if current PID > 0x1) or IPC_EINVAL (invalid PID)
 
| 2b || int SetUid(u32 pid, u32 uid) || Set the UID for a process (PID <= 0x13). This can only be used from the kernel or ES. || IPC_SUCCESS on success, IPC_EACCES (permission denied if current PID > 0x1) or IPC_EINVAL (invalid PID)
Line 201: Line 201:  
| 2e || IOSGid GetGid(void) || Get the GID for the active process (based on the thread PID). || GID (u16)  
 
| 2e || IOSGid GetGid(void) || Get the GID for the active process (based on the thread PID). || GID (u16)  
 
|-
 
|-
βˆ’
| 2f || int AHB_MemFlush(int ahb_dev)
+
| 2f || int AHB_MemFlush(int ahb_dev) ||  ||
 
|-
 
|-
βˆ’
| 30 || int AHB_MemRBInvalidate(int ahb_dev){{check}}
+
| 30 || int AHB_MemRBInvalidate(int ahb_dev){{check}} ||  ||
 
|-
 
|-
 
| 31 || int ClearAndEnableIPCIOPIntr(void) || Enables [[Hardware/Hollywood IRQs|hardware interrupts]] for device 31 ([[Hardware/IPC|IPC (Starlet)]]) (can only be used from the kernel or ES) || 0 on success, -4 for no permission.
 
| 31 || int ClearAndEnableIPCIOPIntr(void) || Enables [[Hardware/Hollywood IRQs|hardware interrupts]] for device 31 ([[Hardware/IPC|IPC (Starlet)]]) (can only be used from the kernel or ES) || 0 on success, -4 for no permission.
Line 239: Line 239:  
| 36 || [[IOS/IoBuffer|struct iobuf]] *alloc_iobuf(arg1, sbuf) || allocate an iobuf, arg1=0 (unknown), sbuf = buffer size || return NULL on error
 
| 36 || [[IOS/IoBuffer|struct iobuf]] *alloc_iobuf(arg1, sbuf) || allocate an iobuf, arg1=0 (unknown), sbuf = buffer size || return NULL on error
 
|-
 
|-
βˆ’
| 37 || int free_iobuf([[IOS/IoBuffer|struct iobuf]] *buf) || free an allocated iobuf
+
| 37 || int free_iobuf([[IOS/IoBuffer|struct iobuf]] *buf) || free an allocated iobuf ||
 
|-
 
|-
βˆ’
| 38 || iobuf_log_header_info
+
| 38 || iobuf_log_header_info ||  ||
 
|-
 
|-
βˆ’
| 39 || iobuf_log_buffer_info
+
| 39 || iobuf_log_buffer_info ||  ||
 
|-
 
|-
 
| 3a || void *extend_iobuf([[IOS/IoBuffer|struct iobuf]] *iob, unsigned short num) || extend the data in the buffer by num bytes|| returns pointer to extended area
 
| 3a || void *extend_iobuf([[IOS/IoBuffer|struct iobuf]] *iob, unsigned short num) || extend the data in the buffer by num bytes|| returns pointer to extended area
Line 249: Line 249:  
| 3b || void *IOS_PushIob([[IOS/IoBuffer|struct iobuf]] *iob, unsigned short num) || move head pointer in io buffer num bytes towards the buffer end || returns old head pointer
 
| 3b || void *IOS_PushIob([[IOS/IoBuffer|struct iobuf]] *iob, unsigned short num) || move head pointer in io buffer num bytes towards the buffer end || returns old head pointer
 
|-
 
|-
βˆ’
| 3c || void *IOS_PullIob([[IOS/IoBuffer|struct iobuf]] *iob, unsigned short num) || move head pointer in io buffer num bytes towards the buffer start  
+
| 3c || void *IOS_PullIob([[IOS/IoBuffer|struct iobuf]] *iob, unsigned short num) || move head pointer in io buffer num bytes towards the buffer start ||
 
|-
 
|-
βˆ’
| 3d || int verify_iobuf([[IOS/IoBuffer|struct iobuf]] *iob) || verify if the argument points to an io buffer
+
| 3d || int verify_iobuf([[IOS/IoBuffer|struct iobuf]] *iob) || verify if the argument points to an io buffer ||
 
|-
 
|-
βˆ’
| 3e || syscall_3e || Unknown; related to IO buffer functionality
+
| 3e || syscall_3e || Unknown; related to IO buffer functionality ||
 
|-
 
|-
βˆ’
| 3f || void IOS_InvalidateDCache(void *address, u32 size) || "sync_before_read" - Invalidates dcache, and something (probably related to flushing memory)
+
| 3f || void IOS_InvalidateDCache(void *address, u32 size) || "sync_before_read" - Invalidates dcache, and something (probably related to flushing memory) ||
 
|-
 
|-
βˆ’
| 40 || void IOS_FlushDCache(const void *address, u32 size) || "sync_after_write" - Flushes dcache and does magic bullshit (aka magic AHB operations)
+
| 40 || void IOS_FlushDCache(const void *address, u32 size) || "sync_after_write" - Flushes dcache and does magic bullshit (aka magic AHB operations) ||
 
|-
 
|-
βˆ’
| 41 || IOS_StartPPC(const char *path) || Loads a .dol or .elf file into memory and bootstraps the PPC
+
| 41 || IOS_StartPPC(const char *path) || Loads a .dol or .elf file into memory and bootstraps the PPC ||
 
|-
 
|-
 
| 42 || <nowiki>[[noreturn]]</nowiki> int ios_boot(const char* path, bool suspendBroadway, u32 version) || Suspends the IPC thread, loads a new IOS kernel from the NAND to 0x10100000 in IOS59), then calls <code>boot_new_ios_kernel(0x10100000, version)</code>. This can only be called from UID 0. || Doesn't return if the boot succeeded; otherwise, an error code is returned.
 
| 42 || <nowiki>[[noreturn]]</nowiki> int ios_boot(const char* path, bool suspendBroadway, u32 version) || Suspends the IPC thread, loads a new IOS kernel from the NAND to 0x10100000 in IOS59), then calls <code>boot_new_ios_kernel(0x10100000, version)</code>. This can only be called from UID 0. || Doesn't return if the boot succeeded; otherwise, an error code is returned.