diff options
author | Guy Harris <guy@alum.mit.edu> | 2002-10-31 22:16:01 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2002-10-31 22:16:01 +0000 |
commit | 8442ad9a325bbfa3a19f9d55bb4df9c7a01f87f4 (patch) | |
tree | e75e61ee1cff0099bba850493b73b51b9a4f0e4f /make-tapreg-dotc | |
parent | 05c9a9709146670ee19fd068a8de69d750f98728 (diff) | |
download | wireshark-8442ad9a325bbfa3a19f9d55bb4df9c7a01f87f4.tar.gz wireshark-8442ad9a325bbfa3a19f9d55bb4df9c7a01f87f4.tar.bz2 wireshark-8442ad9a325bbfa3a19f9d55bb4df9c7a01f87f4.zip |
From Ronnie Sahlberg: have a registration interface for tap listeners,
and generate the table of stuff to register from tap source files, so
Tethereal doesn't need to know what tap listeners exist.
Get rid of "tap-xxx.h" files, as they're now empty.
Add "tethereal-tap-register.c" to the .cvsignore file, as it's a new
generated file.
Update "Makefile.nmake" to generate "tethereal-tap-register.c".
Clean up "Makefile.am" and "Makefile.nmake" a bit.
svn path=/trunk/; revision=6525
Diffstat (limited to 'make-tapreg-dotc')
-rwxr-xr-x | make-tapreg-dotc | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/make-tapreg-dotc b/make-tapreg-dotc new file mode 100755 index 0000000000..d3c470529c --- /dev/null +++ b/make-tapreg-dotc @@ -0,0 +1,42 @@ +#! /bin/sh + +# +# The first argument is the output filename. +# + +outfile="$1" +shift + +# +# The second argument is the directory in which the source files live. +# +srcdir="$1" +shift + +# +# All subsequent arguments are the files to scan. +# +rm -f ${outfile}-tmp +echo '/* Do not modify this file. */' >${outfile}-tmp +echo '/* It is created automatically by the Makefile. */'>>${outfile}-tmp + +# +# Build code to call all the tap listener registration routines. +# +echo 'void register_all_tap_listeners(void) {' >>${outfile}-tmp +for f in "$@" +do + if [ -f $f ] + then + srcfile=$f + else + srcfile=$srcdir/$f + fi + grep '^register_tap_listener_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';' | sed -e 's/(.*//' +done | while read func; do + echo " { extern void $func (void);" >>${outfile}-tmp + echo " $func ();}" >>${outfile}-tmp +done +echo '}' >>${outfile}-tmp + +mv ${outfile}-tmp ${outfile} |