Fix build by #if 0 out unused de_sgsap_tmsi() function.
[obnox/wireshark/wip.git] / epan / circuit.h
index e273a0002c516a166f7cec49b8c20e46e26952b0..a937aa437a98d9b92dccc127279c3f8a86442f9b 100644 (file)
@@ -3,8 +3,8 @@
  *
  * $Id$
  *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@ethereal.com>
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
  * Copyright 1998 Gerald Combs
  *
  * This program is free software; you can redistribute it and/or
 
 #include "packet.h"            /* for circuit dissector type */
 
-/*
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/**
  * Data structure representing a circuit.
  */
 typedef struct circuit_key {
@@ -36,25 +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,
@@ -65,9 +90,18 @@ 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);
 
-#endif /* circuit.h */
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
 
+#endif /* circuit.h */