From 8442ad9a325bbfa3a19f9d55bb4df9c7a01f87f4 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Thu, 31 Oct 2002 22:16:01 +0000 Subject: 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 --- tap-rpcprogs.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'tap-rpcprogs.c') diff --git a/tap-rpcprogs.c b/tap-rpcprogs.c index 83da9823d1..50d3f0c21d 100644 --- a/tap-rpcprogs.c +++ b/tap-rpcprogs.c @@ -1,7 +1,7 @@ /* tap-rpcprogs.c * rpcstat 2002 Ronnie Sahlberg * - * $Id: tap-rpcprogs.c,v 1.2 2002/10/23 23:12:34 guy Exp $ + * $Id: tap-rpcprogs.c,v 1.3 2002/10/31 22:16:01 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -39,9 +39,8 @@ #include #include "epan/packet_info.h" #include "tap.h" -#include "tap-rpcprogs.h" #include "packet-rpc.h" - +#include "register.h" /* used to keep track of statistics for a specific program/version */ typedef struct _rpc_program_t { @@ -58,8 +57,9 @@ static rpc_program_t *prog_list=NULL; static int already_enabled=0; static int -rpcprogs_packet(void *dummy1 _U_, packet_info *pinfo, epan_dissect_t *edt _U_, rpc_call_info_value *ri) +rpcprogs_packet(void *dummy1 _U_, packet_info *pinfo, epan_dissect_t *edt _U_, void *pri) { + rpc_call_info_value *ri=pri; nstime_t delta; rpc_program_t *rp=NULL; @@ -219,20 +219,25 @@ rpcprogs_draw(void *dummy _U_) } -void -rpcprogs_init(void) +static void +rpcprogs_init(char *optarg _U_) { if(already_enabled){ return; } already_enabled=1; - if(register_tap_listener("rpc", NULL, NULL, NULL, (void*)rpcprogs_packet, (void*)rpcprogs_draw)){ + if(register_tap_listener("rpc", NULL, NULL, NULL, rpcprogs_packet, rpcprogs_draw)){ fprintf(stderr,"tethereal: rpcprogs_init() failed to attach to tap.\n"); exit(1); } } +void +register_tap_listener_rpcprogs(void) +{ + register_ethereal_tap("rpc,programs", rpcprogs_init, NULL, NULL); +} -- cgit v1.2.1