syscall.sh / x32 / openat
openat
open and possibly create a file
sys_openat(int dfd, const char *filename, int flags, umode_t mode)
| number | 1073742081 (0x40000101) |
|---|---|
| abi | common |
| entry point | sys_openat |
| since | Linux 3.4 |
| man page | openat(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 1073742081, the syscall number |
rdi | int dfd |
rsi | const char *filename |
rdx | int flags |
r10 | umode_t mode |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x64 257
- x86 295
- arm64 56
- arm 322
- riscv64 56
- loongarch64 56
- ppc64 286
- ppc 286
- s390x 288
- mips64 5247
- mipsn32 6251
- mipso32 4288
- alpha 450
- arc 56
- csky 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/x32/openat