Need source to TCP/IP 'connect()'

Ken Smith kensmith at cse.Buffalo.EDU
Mon Nov 29 18:35:44 PST 2004


On Mon, Nov 29, 2004 at 06:06:22PM -0800, Mark McWiggins wrote:

> Can someone point me to (or send) the BSD source to the TCP/IP
> 'connect()' function?
> 
> I looked through the hierarchy and couldn't find it quickly.
> 
>  
> 
> I need a hacked version to work the way Nmap does just sending SYN and
> then quitting
> 
> to verify that an application is still running but not do a full
> connection, which causes the
> 
> app to misbehave.
> 
> Thanks in advance for any help you can offer.

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).

-- 
						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