diff options
author | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2002-10-31 07:12:42 +0000 |
---|---|---|
committer | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2002-10-31 07:12:42 +0000 |
commit | f6dd69a024735819009d1847f3ac010ff5c025c5 (patch) | |
tree | 7e11961398633886725fb3b33b3a254666a04af2 /epan | |
parent | 009338e1b0e87f5b800e3e2b5ac8f504c39924ab (diff) |
Discard the WTAP_ENCAP_LAPD encapsulation type in favor of a
WTAP_ENCAP_ISDN encapsulation type, which includes a pseudo-header
giving the direction (user-to-network or network-to-user) and the
channel number.
Add a new circuit type, using the ISDN channel number as the circuit ID.
Add an ISDN dissector to put the direction and channel number into the
protocol tree and to call the appropriate dissector for the payload
based on the channel (LAPD for the D channel; V.120, PPP, or data for B
channels, based on some heuristics).
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@6521 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan')
-rw-r--r-- | epan/circuit.c | 11 | ||||
-rw-r--r-- | epan/circuit.h | 3 | ||||
-rw-r--r-- | epan/packet_info.h | 5 |
3 files changed, 13 insertions, 6 deletions
diff --git a/epan/circuit.c b/epan/circuit.c index f4a180a813..3f8a192159 100644 --- a/epan/circuit.c +++ b/epan/circuit.c @@ -1,7 +1,7 @@ /* circuit.c * Routines for building lists of packets that are part of a "circuit" * - * $Id: circuit.c,v 1.2 2002/10/29 07:22:55 guy Exp $ + * $Id: circuit.c,v 1.3 2002/10/31 07:12:38 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -235,12 +235,17 @@ circuit_delete_proto_data(circuit_t *conv, int proto) } void -circuit_set_dissector(circuit_t *circuit, - dissector_handle_t handle) +circuit_set_dissector(circuit_t *circuit, dissector_handle_t handle) { circuit->dissector_handle = handle; } +dissector_handle_t +circuit_get_dissector(circuit_t *circuit) +{ + return circuit->dissector_handle; +} + /* * Given a circuit type and ID for a packet, search for a matching * circuit and, if found and it has a circuit dissector, diff --git a/epan/circuit.h b/epan/circuit.h index 87a04eceac..0aa2e8c0ec 100644 --- a/epan/circuit.h +++ b/epan/circuit.h @@ -1,7 +1,7 @@ /* circuit.h * Routines for building lists of packets that are part of a "circuit" * - * $Id: circuit.h,v 1.1 2002/10/22 08:43:44 guy Exp $ + * $Id: circuit.h,v 1.2 2002/10/31 07:12:38 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -58,6 +58,7 @@ extern void circuit_delete_proto_data(circuit_t *conv, int proto); extern void circuit_set_dissector(circuit_t *circuit, dissector_handle_t handle); +extern dissector_handle_t circuit_get_dissector(circuit_t *circuit); extern gboolean try_circuit_dissector(circuit_type ctype, guint32 circuit_id, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); diff --git a/epan/packet_info.h b/epan/packet_info.h index 50c62155b0..2bb6c9654b 100644 --- a/epan/packet_info.h +++ b/epan/packet_info.h @@ -1,7 +1,7 @@ /* packet_info.h * Definitions for packet info structures and routines * - * $Id: packet_info.h,v 1.23 2002/10/22 08:22:07 guy Exp $ + * $Id: packet_info.h,v 1.24 2002/10/31 07:12:38 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -102,7 +102,8 @@ typedef enum { /* Types of circuit IDs Ethereal knows about. */ typedef enum { CT_NONE, /* no port number */ - CT_DLCI /* Frame Relay DLCI */ + CT_DLCI, /* Frame Relay DLCI */ + CT_ISDN /* ISDN channel number */ /* Could also have X.25 logical channel and ATM VPI/VCI pairs */ } circuit_type; |