two more dia diagrams about Ethereals capture engine and updated the first one
[obnox/wireshark/wip.git] / make-tapreg-dotc
1 #! /bin/sh
2
3 #
4 # $Id$
5 #
6
7 #
8 # The first argument is the output filename.
9 #
10
11 outfile="$1"
12 shift
13
14 #
15 # The second argument is the directory in which the source files live.
16 #
17 srcdir="$1"
18 shift
19
20 #
21 # All subsequent arguments are the files to scan.
22 #
23 rm -f ${outfile}-tmp
24 echo '/* Do not modify this file.  */' >${outfile}-tmp
25 echo '/* It is created automatically by the Makefile.  */'>>${outfile}-tmp
26
27 #
28 # Build code to call all the tap listener registration routines.
29 #
30 echo 'void register_all_tap_listeners(void) {' >>${outfile}-tmp
31 for f in "$@"
32 do
33         if [ -f $f ]
34         then
35                 srcfile=$f
36         else
37                 srcfile=$srcdir/$f
38         fi
39         grep '^register_tap_listener_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';' | sed -e 's/(.*//'
40 done | while read func; do
41         echo "  { extern void $func (void);" >>${outfile}-tmp
42         echo "    $func ();}" >>${outfile}-tmp
43 done 
44 echo '}' >>${outfile}-tmp
45
46 mv ${outfile}-tmp ${outfile}