syscall.sh / csky / openat
openat
open and possibly create a file
sys_openat(int dfd, const char *filename, int flags, umode_t mode)
| number | 56 (0x38) |
|---|---|
| abi | common |
| entry point | sys_openat |
| since | Linux 4.20 |
| man page | openat(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r7 | 56, the syscall number |
a0 | int dfd |
a1 | const char *filename |
a2 | int flags |
a3 | umode_t mode |
a0 | the return value |
Then run trap 0 to enter the kernel.
Same syscall on other architectures
- x64 257
- x86 295
- arm64 56
- arm 322
- riscv64 56
- x32 1073742081
- loongarch64 56
- ppc64 286
- ppc 286
- s390x 288
- mips64 5247
- mipsn32 6251
- mipso32 4288
- alpha 450
- arc 56
- hexagon 56
- m68k 288
- microblaze 295
- nios2 56
- openrisc 56
- parisc 275
- sh 295
- sparc 284
- sparc64 284
- xtensa 288
Get this as JSON: https://api.syscall.sh/v2/syscalls/csky/openat