Commit Graph

1669 Commits

Author SHA1 Message Date
Guy Harris eedea6fcd4 Give all the Ethereal APIs available to plugins their own function
pointers, and call the APIs by calling through the function pointers -
the old technique of using wrappers didn't work, as the underlying
function they all called no longer exists.

svn path=/trunk/; revision=1724
2000-03-15 19:09:52 +00:00
Guy Harris ff24cd97c0 Rename the local variable "pi" to "ti" in several places - "pi" is also
the name of the global variable containing packet information, and, on
platforms where dynamically-loaded code can't access global variables
and functions in the main program, we #define "pi" in plugins to be
"(*p_pi)", which causes problems even if a plugin with a local variable
named "pi" *isn't* accessing the global "pi".

svn path=/trunk/; revision=1723
2000-03-15 18:38:58 +00:00
Gilbert Ramirez f6e92a9e93 Break proto_tree_add_item_format() into multiple functions:
proto_tree_add_protocol_format()
	proto_tree_add_uint_format()
	proto_tree_add_ipxnet_format()
	proto_tree_add_ipv4_format()
	proto_tree_add_ipv6_format()
	proto_tree_add_bytes_format()
	proto_tree_add_string_format()
	proto_tree_add_ether_format()
	proto_tree_add_time_format()
	proto_tree_add_double_format()
	proto_tree_add_boolean_format()
If using GCC 2.x, we can check the print-format against the variable args
passed in. Regardless of compiler, we can now check at run-time that the
field type passed into the function corresponds to what that function
expects (FT_UINT, FT_BOOLEAN, etc.)

Note that proto_tree_add_protocol_format() does not require a value field,
since the value of a protocol is always NULL. It's more intuitive w/o the
vestigial argument.

Fixed a proto_tree_add_item_format-related bug in packet-isis-hello.c
Fixed a variable usage bug in packet-v120.c. (ett_* was used instead of hf_*)

Checked in Guy's fix for the function declearation for proto_tree_add_text()
and proto_tree_add_notext().

svn path=/trunk/; revision=1713
2000-03-12 04:48:32 +00:00
Gilbert Ramirez a3256bd288 Add config.nmake and two Makefile.nmake's to the list of deliverables.
svn path=/trunk/; revision=1690
2000-03-03 12:01:22 +00:00
Gilbert Ramirez ddfa11e870 Create a header file for every packet-*.c file. Prune the packet.h file.
This change allows you to add a new packet-*.c file and not cause a
recompilation of everything that #include's packet.h

Add the plugin_api.[ch] files ot the plugins/Makefile.am packaging list.

Add #define YY_NO_UNPUT 1 to the lex source so that the yyunput symbol
is not defined, squelching a compiler complaint when compiling the generated
C file.

svn path=/trunk/; revision=1637
2000-02-15 21:06:58 +00:00
Guy Harris 6860dae553 "proto_add_item_subtree()" returns a value; its wrapper should return
the value that the real function returns.

svn path=/trunk/; revision=1627
2000-02-12 11:24:24 +00:00
Gerald Combs 92512bb4a0 Sean Walmsley <sean.p.walmsley@Hydro.ON.CA> caught a typo in Makefile.am.
svn path=/trunk/; revision=1615
2000-02-10 22:54:50 +00:00
Gilbert Ramirez f0fdcecac6 Initialize *p_pi solely to get rid of compiler warning.
svn path=/trunk/; revision=1613
2000-02-09 19:32:28 +00:00
Gilbert Ramirez f9a8a11ef5 Integrate Ed Meaney's <emeaney@altiga.com> changes for using libpcap
from WinDump with Ethereal. We now have packet capturing on Win32. :)

svn path=/trunk/; revision=1612
2000-02-09 19:18:42 +00:00
Gilbert Ramirez 41f0a2c5e6 Update Makefiles for win32. Move local configuration to config.nmake,
have top-level Makefile.nmake call Makefile.nmake's in subdirectories.
Build plugins, and build generated source (lex, yacc). The only thing we
can't build is register.c; I need to re-work the top-level Makefile.nmake
because it lists object files, not C files, which make-reg-dotc needs.

svn path=/trunk/; revision=1608
2000-02-09 00:41:57 +00:00
Gilbert Ramirez 07a7268c83 Change "unsigned gint64" to "guint64", and add GPL header to plugin_api.[ch]
svn path=/trunk/; revision=1606
2000-02-07 17:23:53 +00:00
Gilbert Ramirez c4fa7c87df Code changes, but not Makefile changes, for enabling plugins for Win32.
svn path=/trunk/; revision=1605
2000-02-07 17:08:27 +00:00
Gilbert Ramirez 69edc78327 I finally got autoconf, automake, and the plugins to behave together.
The distro is buildable finally. I had to change "plugins/gryphon" from
a separately configured (i.e., "./configure") package to a member of
the main ethereal autoconf package so that PLUGIN_DIR could be passed
to plugins/gryphon/Makefile.am. In doing so, I had to get rid of
plugins/gryphon/config.h which had PACKAGE and VERSION #defined, the latter
of which was actually used in packet-gryphon.c. So I moved those two
#defines into a new file, plugins/gryphon/moduleinfo.h.

svn path=/trunk/; revision=1438
2000-01-08 19:37:11 +00:00
Guy Harris d6c6aecdba Add a "break;" statement to a "default:" clause - the AIX C compiler
apparently doesn't like it when a case label is the last line in a
"switch()" statement.

Fix a spelling error.

svn path=/trunk/; revision=1408
2000-01-01 21:21:20 +00:00
Guy Harris 59eb4c8a1a Filter out a few more things.
Don't filter out some things that *are* in CVS.

svn path=/trunk/; revision=1403
1999-12-31 00:22:27 +00:00
Guy Harris d1ded6c1c2 Filter out a few more things.
svn path=/trunk/; revision=1402
1999-12-31 00:18:55 +00:00
Gerald Combs 335f0b4647 Add support for "--with-plugindir=<plugin install dir>" to configure.
Make the default plugindir $(libdir)/ethereal/plugins/0.8.  Ethereal now
looks for plugins in the following directories:
  /usr/lib/ethereal/plugins/0.8
  /usr/local/lib/ethereal/plugins/0.8
  $plugindir (if different from above)
  $HOME/.ethereal/plugins

svn path=/trunk/; revision=1382
1999-12-28 04:40:24 +00:00
Gerald Combs 45babe7bb5 Integrate libtool/libltdl with the plugin code. Add libtool and libltdl
to the distribution.

svn path=/trunk/; revision=1379
1999-12-26 22:38:07 +00:00
Gilbert Ramirez b906ce0a17 Add Dearborn Group Technology's Gryphon dissector as our first
shipped plugin.

svn path=/trunk/; revision=1341
1999-12-15 06:53:36 +00:00