Nie ma instrukcji dla wywołań systemowych, które znam, jest to coś, na co trzeba zagłębić się w kod źródłowy.
Plik ten nagłówek jest przydatna, ponieważ ma wiele wywołań systemowych prototyp z argumentami:
include/linux/syscalls.h
To conains definicje, takie jak:
asmlinkage long sys_getresuid(uid_t __user *ruid, uid_t __user *euid, uid_t __user *suid);
asmlinkage long sys_getresgid(gid_t __user *rgid, gid_t __user *egid, gid_t __user *sgid);
asmlinkage long sys_getpgid(pid_t pid);
asmlinkage long sys_getpgrp(void);
asmlinkage long sys_getsid(pid_t pid);
asmlinkage long sys_getgroups(int gidsetsize, gid_t __user *grouplist);
plik header łuku syscalli ma pozostałe wywołania systemowe, zależne od łuku:
arch/x86/include/asm/syscalls.h
(są to pliki od wersji 2.6.32 - wcześniejsze/nowsze wersje jądra mogą mieć różne nazwy plików/katalogów).
Należy pamiętać, że elementy wewnętrzne jądra Linuxa zmieniają się dość często i nie ma zbyt wiele wysiłku włożonego w utrzymanie stabilnego ABI pomiędzy głównymi wersjami jądra. Będziesz musiał sprawdzić kod źródłowy jądra, z którego aktualnie korzystasz, i nie spodziewaj się, że automatycznie skompiluje się w jakiejkolwiek innej wersji jądra.
Proszę podać OS. –
@Alex, jestem na Linuksie. –