your mail

Richard B. Johnson root en chaos.analogic.com
Vie Ene 28 23:52:25 CST 2000


On Fri, 28 Jan 2000, Manpreet Singh wrote:

> Hi there !!
> 
> I have a small problem. Could you please tell where can I find the
> bindings of operations in the kernel code. For instance, to what does
> 'recvmsg' in the net module bind to in the case of an INET socket using
> TCP and ipv4 and how does it finally reach tcp_recvmsg ? Or more
> generally, what is the path from 'sock_read' to 'tcp_recvmsg' and where
> are the bindings specified ?
> 
> I would be appreciative of your efforts.
> 						Thanks,
> 						Manpreet.

./linux/net/socket.c handles most of the Socket API conversions
(bindings). This interfaces to lower-level code, most of which
is in ../linux/net/ipv4. 

Just `grep` through the kernel sources to follow the path. Most
of the names are similar. For instance:

/ipv4/tcp.c: * tcp_recvmsg has given to the user so far, it speeds up the
/ipv4/tcp.c:int tcp_recvmsg(struct sock *sk, struct msghdr *msg,
/ipv4/tcp_ipv4.c:	tcp_recvmsg,			/* recvmsg */
/netsyms.c:EXPORT_SYMBOL(tcp_recvmsg);
/ipv6/tcp_ipv6.c:	tcp_recvmsg,			/* recvmsg */

Cheers,
Dick Johnson

Penguin : Linux version 2.3.39 on an i686 machine (800.63 BogoMips).


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



Más información sobre la lista de distribución Ayuda