Need source to TCP/IP 'connect()'
Ken Smith
kensmith at cse.Buffalo.EDU
Mon Nov 29 19:01:19 PST 2004
On Tue, Nov 30, 2004 at 01:18:58PM +1030, Wilkinson, Alex wrote:
> 0n Mon, Nov 29, 2004 at 09:35:42PM -0500, Ken Smith wrote:
>
> > When 'fishing' for stuff in the kernel source code I find the tags
> > files kind of useful. In a kernel build directory (e.g. I usually
> > use src/sys/i386/compile/GENERIC on a 5.X machine, after config-ing
> > GENERIC) after doing a 'make depend' you can do 'make tags'. It
> > will usually fail once it starts to process the modules because it
> > can't find 'gtags' but by then it's already built what is most useful.
> >
> > Once the tags file is built in the kernel build directory you can
> > do something like:
> >
> > vi -t connect
> >
> > and it will start up vi with the cursor at the beginning of that
> > function. It's not perfect (sometimes it can't find a function)
> > but for the most part it works OK.
> >
> > In this case it found connect() in /usr/src/sys/kern/uipc_syscalls.c
> > (I was using a RELENG_5 source tree).
>
> This looks useful, however, even after a buildkernel all I have
> is a CVS dir in /usr/src/sys/i386/compile/.
>
> Did u mean /usr/obj/usr/src/sys/GENERIC ?
>
> When u say "config-ing", do u mean running config(8) manually ?
I haven't tried using the results of a 'make buildkernel' to do this,
it might not work. There is all sorts of magic stuff going on that
places the results of 'make buildworld/buildkernel' in /usr/obj.
Assuming a 5.X based i386 system I would do this:
cd /usr/src/sys/i386/conf
config GENERIC
cd ../compile/GENERIC
make depend
make tags
vi -t connect
The same basic thing works on 4.X systems but the pathnames are a tiny
bit different (mostly just "cd ../../compile/GENERIC" instead).
--
Ken Smith
- From there to here, from here to | kensmith at cse.buffalo.edu
there, funny things are everywhere. |
- Theodore Geisel |
More information about the freebsd-stable
mailing list