Line 115: |
Line 115: |
| | 9 || thread_set_priority | | | 9 || thread_set_priority |
| |- | | |- |
− | | a || message_queue_create | + | | a || message_queue_create(void *ptr, int n_msgs) |
| |- | | |- |
− | | b || message_queue_destroy | + | | b || message_queue_destroy(int queue) |
| |- | | |- |
| | c || message_queue_send | | | c || message_queue_send |
Line 123: |
Line 123: |
| | d || message_queue_send_now | | | d || message_queue_send_now |
| |- | | |- |
− | | e || message_queue_receive | + | | e || message_queue_receive(int queue, void *message, int flags) |
| |- | | |- |
− | | f || RegisterEventHandler | + | | f || RegisterEventHandler(int device, int queue, int message) |
| |- | | |- |
| | 10 || UnregisterEventHandler | | | 10 || UnregisterEventHandler |
Line 139: |
Line 139: |
| | 15 || timer_now | | | 15 || timer_now |
| |- | | |- |
− | | 16 || heap_create | + | | 16 || heap_create(void *ptr, int size) |
| |- | | |- |
− | | 17 || heap_destroy | + | | 17 || heap_destroy(int heap) |
| |- | | |- |
− | | 18 || heap_alloc | + | | 18 || heap_alloc(int heap, int size) |
| |- | | |- |
− | | 19 || heap_alloc_aligned | + | | 19 || heap_alloc_aligned(int heap, int size, int align) |
| |- | | |- |
− | | 1a || heap_free | + | | 1a || heap_free(void *ptr) |
| |- | | |- |
| | 1b || BOOL device_register(char* device, u32 messagequeue) || Registers device to the device tree, so it can be opened (from Starlet and PPC) || Returns 0 on success, else error | | | 1b || BOOL device_register(char* device, u32 messagequeue) || Registers device to the device tree, so it can be opened (from Starlet and PPC) || Returns 0 on success, else error |
Line 153: |
Line 153: |
| | 1c || u32 device_open(char* device, int mode) || Similar to IOS_Open on PPC, except now internal to the IOS system || Returns an fd | | | 1c || u32 device_open(char* device, int mode) || Similar to IOS_Open on PPC, except now internal to the IOS system || Returns an fd |
| |- | | |- |
− | | 1d || device_close | + | | 1d || device_close(int fd) |
| |- | | |- |
| | 1e || device_read | | | 1e || device_read |
Line 197: |
Line 197: |
| | 32 || software_irq_18 || seems to enable hardware interrupts for device nr 18 | | | 32 || software_irq_18 || seems to enable hardware interrupts for device nr 18 |
| |- | | |- |
− | | 33 || software_IRQ_7_or_8(id) || seems to enable hardware interrupts for device nr 7 if id==0, else device nr 8 | + | | 33 || software_IRQ_7_or_8(id) || seems to enable hardware interrupts for device nr 7 if id==0, else device nr 8 (sdhc) |
| |- | | |- |
− | | 34 || software_IRQ(id) || seems to enable hardware interrupts for device nr. id | + | | 34 || software_IRQ(id) || enables hardware interrupts for device nr. id; check caller PID |
| |- | | |- |
| | 35 || access_iobuf_pool(arg1) || no-op in IOS-35, arg1=0 || returns always 0 | | | 35 || access_iobuf_pool(arg1) || no-op in IOS-35, arg1=0 || returns always 0 |
Line 223: |
Line 223: |
| | 3f || void sync_before_read(u32 address, u32 size) || Invalidates dcache, and something (probably related to flushing memory) | | | 3f || void sync_before_read(u32 address, u32 size) || Invalidates dcache, and something (probably related to flushing memory) |
| |- | | |- |
− | | 40 || sync_after_write | + | | 40 || sync_after_write(u32 address, u32 size) || Flushes dcache and does magic bullshit (aka magic AHB operations) |
| |- | | |- |
| | 41 || ppc_boot | | | 41 || ppc_boot |
Line 253: |
Line 253: |
| | 4e || poke_E0_1 | | | 4e || poke_E0_1 |
| |- | | |- |
− | | 4f || virt_to_phys | + | | 4f || virt_to_phys(void *ptr) |
| |- | | |- |
| | 50 || syscall_50 | | | 50 || syscall_50 |
Line 309: |
Line 309: |
| | 6a || es_syscall_6a | | | 6a || es_syscall_6a |
| |- | | |- |
− | | 6b || hmac | + | | 6b || aes_decrypt(int keyid, void *iv, void *in, int len, void *out) |
| |- | | |- |
| | 6c || hmac_async | | | 6c || hmac_async |