On Thu, 2018-08-16 at 15:44 -0400, valdis.kletnieks@vt.edu wrote:
On Thu, 16 Aug 2018 16:29:29 -0000, Nicholas Mc Guire said: [...]
Generally, POSIX specifies a API and doesn't really care it it's a real syscall (which crosses the border of user- and kernel-space by definition), a pure-user-space function or some mixture.
Note that you can do system calls directly with system() but that is generaly not how you do it - you to through the glibc calls which do some checks before invoking the actual system call.
system() does a fork/exec of a process.
... via `/bin/sh -c` so it's actually (at least) 2 of both.
syscall() issues an arbitrary system call, but all marshalling of parameters and return codes becomes your problem
... as well as the availability of that syscall at runtime (and glibc has a lot of compatibility/emulation in that direction). Not everyone everywhere has a (somewhat) recent kernel. MfG, Bernd -- Bernd Petrovitsch Email : bernd@petrovitsch.priv.at LUGA : http://www.luga.at