Re: your mail

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Fri Jan 28 2000 - 12:57:07 EST


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@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:22 EST