syscall(2) function (really: syscall(3))

Doug Gwyn gwyn at smoke.BRL.MIL
Wed Mar 8 13:26:32 AEST 1989


In article <1449 at ubu.warwick.UUCP> mirk at uk.ac.warwick.cs (Mike Taylor) writes:
>Ask yourself how *that* ties in with this apalling move?

IT HAS NOTHING TO DO WITH IT.

It's also not an "appalling move".  In fact it is designed to make it
possible to port C applications around between widely different types
of operating systems, something that is problematic if each system's
C environment be allowed to preempt names from the application for its
own use.

In a UNIX implementation of C, I would expect that you could still get
at the open() system call by that name.  However, the portable C library
must not use that name if it could accidentally be linked so that an
application-provided function named open() would be used where a system
call interface is expected by the library implementation.  Thus the need
for the library to be implemented using calls to names outside the
application's name space, e.g. __open().



More information about the Comp.unix.wizards mailing list