Re: map of system call to tar ball file?
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com You could buy Amit Singh's "Mac OS X Internals" book and read it... -- Terry _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... On Oct 13, 2008, at 2:20 PM, Todd Heberlein wrote: OK, I found open() in Libc-498.1.1, but it just calls __open_nocancel(). Any idea where I can find this function? And back to the original question, is there an easy way to find where these functions might be so I don't have to ask? In Mac OS X, the system call API is at the top of libSystem. This differs frm many other UNIX implementations, which place their system call API at the user/kernel boundary, without intermediation by a shared library. The purpose of this is to allow modification of kernel interfaces and changes to the contract between kernel and user space, while maintaining binary compatibility with historical applications. LibSystem is a pseduo-project which aggregates a number of library projects into a single library called libSystem (currently, /usr/lib/ libSystem.B.dylib). It gets its pieces from a large number of places, which are documented in the pseduo-project itself, and which include, but are not limited to, libsyscall, libc, libnotify, libm, and others. Section 2 (manual page section) calls are implemented in either Libc, if there is logic or compatibility code required, or they are implemented in libsyscall. The libsyscall implementation itself is another pseduo-project which utilizs souzrce code from the xnu project in the libsyscall subdirectory, which in turn utilizes code and build products from building xnu itself (xnu is the kernel project). For libsyscall, the normal approach is to use perl to post-process the file xnu/bsd/kern/syscalls.master in order to generate system call stub functions for those system calls which do not have wrapper functions in Libc. This email sent to site_archiver@lists.apple.com
participants (1)
-
Terry Lambert