diff options
author | Stephen Fisher <steve@stephen-fisher.com> | 2007-03-06 00:35:35 +0000 |
---|---|---|
committer | Stephen Fisher <steve@stephen-fisher.com> | 2007-03-06 00:35:35 +0000 |
commit | 8d8452b419de5fcab20af4a5eeebb0dfb8898af5 (patch) | |
tree | 120b2992d0d0086b980f7d322e7134e7173f3915 | |
parent | 61c8b55913eccbcad14acd187ecc8cb8378b1396 (diff) |
Introduce a new function called have_tap_listener(int tap_id) to
tell if a specific tap id is currently listening for data.
This complements the function have_tap_listeners(), which checks
to see if any tap is currently listening.
svn path=/trunk/; revision=20979
-rw-r--r-- | epan/tap.c | 16 | ||||
-rw-r--r-- | epan/tap.h | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/epan/tap.c b/epan/tap.c index ada6275a2d..c57196b33b 100644 --- a/epan/tap.c +++ b/epan/tap.c @@ -460,3 +460,19 @@ have_tap_listeners(void) { return tap_listener_queue != NULL; } + +/* Returns TRUE there is an active tap listener for the specified tap id. */ +gboolean +have_tap_listener(int tap_id) +{ + volatile tap_listener_t *tap_queue = tap_listener_queue; + + while(tap_queue) { + if(tap_queue->tap_id == tap_id) + return TRUE; + + tap_queue = tap_queue->next; + } + + return FALSE; +} diff --git a/epan/tap.h b/epan/tap.h index d24c3d72f1..9e50c65eef 100644 --- a/epan/tap.h +++ b/epan/tap.h @@ -50,6 +50,7 @@ extern GString *register_tap_listener(const char *tapname, void *tapdata, tap_draw_cb tap_draw); extern void remove_tap_listener(void *tapdata); extern gboolean have_tap_listeners(void); +extern gboolean have_tap_listener(int tap_id); extern const void *fetch_tapped_data(int tap_id, int idx); #endif |