aboutsummaryrefslogtreecommitdiffstats
path: root/epan/circuit.h
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2010-08-28 19:27:19 +0000
committerAnders Broman <anders.broman@ericsson.com>2010-08-28 19:27:19 +0000
commita96e6b2047cce1c671f476ae26c81ee8afb7ca12 (patch)
tree2056442e125bbf13f50e1d84c913ca2a8cd783c1 /epan/circuit.h
parentf17c5ac01f9198a033f6c1cb97ee54676121453e (diff)
Doxygen changes.
svn path=/trunk/; revision=33981
Diffstat (limited to 'epan/circuit.h')
-rw-r--r--epan/circuit.h46
1 files changed, 36 insertions, 10 deletions
diff --git a/epan/circuit.h b/epan/circuit.h
index cd262b1318..a937aa437a 100644
--- a/epan/circuit.h
+++ b/epan/circuit.h
@@ -31,7 +31,7 @@
extern "C" {
#endif /* __cplusplus */
-/*
+/**
* Data structure representing a circuit.
*/
typedef struct circuit_key {
@@ -40,26 +40,46 @@ typedef struct circuit_key {
} circuit_key;
typedef struct circuit {
- struct circuit *next; /* pointer to next circuit with given circuit ID */
- guint32 first_frame; /* # of first frame for that circuit */
- guint32 last_frame; /* # of last frame for that circuit */
- guint32 index; /* unique ID for circuit */
- GSList *data_list; /* list of data associated with circuit */
- dissector_handle_t dissector_handle;
- /* handle for protocol dissector client associated with circuit */
- guint options; /* wildcard flags */
- circuit_key *key_ptr; /* pointer to the key for this circuit */
+ struct circuit *next; /**< pointer to next circuit with given circuit ID */
+ guint32 first_frame; /**< # of first frame for that circuit */
+ guint32 last_frame; /**< # of last frame for that circuit */
+ guint32 index; /**< unique ID for circuit */
+ GSList *data_list; /**< list of data associated with circuit */
+ dissector_handle_t dissector_handle; /**< handle for protocol dissector client associated with circuit */
+ guint options; /**< wildcard flags */
+ circuit_key *key_ptr; /**< pointer to the key for this circuit */
} circuit_t;
+/**
+ * Destroy all existing circuits.
+ */
extern void circuit_cleanup(void);
+
+/**
+ * Initialize some variables every time a file is loaded or re-loaded.
+ * Create a new hash table for the circuits in the new file.
+ */
extern void circuit_init(void);
+/**
+ * Given a circuit type and circuit ID for a packet, create a new circuit
+ * to contain packets for that circuit.
+ */
extern circuit_t *circuit_new(circuit_type ctype, guint32 circuit_id,
guint32 first_frame);
+/**
+ * Given a circuit type and ID, and a frame number, search for a circuit with
+ * that type and ID whose range of frames includes that frame number.
+ * Returns NULL if not found.
+ */
extern circuit_t *find_circuit(circuit_type ctype, guint32 circuit_id,
guint32 frame);
+/**
+ * Set the last frame of a circuit, if it's not already known,
+ * "closing" the circuit.
+ */
extern void close_circuit(circuit_t *circuit, guint32 last_frame);
extern void circuit_add_proto_data(circuit_t *conv, int proto,
@@ -70,6 +90,12 @@ 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);
+
+/**
+ * Given a circuit type and ID for a packet, search for a matching
+ * circuit and, if found and it has a circuit dissector,
+ * call that dissector and return TRUE, otherwise return FALSE.
+ */
extern gboolean
try_circuit_dissector(circuit_type ctype, guint32 circuit_id, guint32 frame,
tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);