Files
kern/docs/syscalls.txt
T
2025-04-15 11:22:50 +02:00

26 lines
1.0 KiB
Plaintext

System Calls
============
Syscall handlers are prefixed by 'sys_'. Syscalls can be called using int 0x80.
Arguments are passed in registers like this:
* EAX - Syscall number
* EBX - Argument 0
* ECX - Argument 1
* EDX - Argument 2
If the syscall returns, the return value will be in EAX.
Syscall Table (TODO: Update this)
-------------
| NR | SYSC NAME | RETURN (EAX) | ARG0 (EBX) | ARG1 (ECX) | ARG2 (EDX) |
| 00 | reserved | - | - | - | - |
| 01 | sleep | - | uint ms | - | - |
| 02 | read | int count | int fd | char* buf | uint count |
| 03 | write | int count | int fd | char* buf | uint count |
| 04 | open | int fd | char* path | int oflag | - |
| 05 | close | int status | int fd | - | - |
| 06 | malloc | void* buf | int count | - | - |
| 07 | free | - | void* buf | - | - |
| 08 | seek | #TBD | | | |