Question:socket sources

Chuck Swiger cswiger at mac.com
Sat Sep 30 07:06:48 PDT 2006


vpaces at chello.sk wrote:
[ ... ]
> For example:
> int     socket(int domain, int type, int protocol);
> int     bind(int s, const struct sockaddr *addr, socklen_t addrlen);
> 
> Browsing through your WWW CVS repository I'm just finding sources for MAN pages in directory / src / lib / libc / sys: 
> access.2, connect.2 and so on. 
> But where are the C sources of these calls? Or are the sources of these system calls not available?

C functions from section 2 of the manpages are "system calls", which means 
that a stub function is generated in libc via makesyscalls.sh, but most of the 
work in done in the kernel:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/uipc_syscalls.c?rev=1.221.2.4
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/uipc_socket.c?rev=1.283

-- 
-Chuck


More information about the freebsd-questions mailing list