aboutsummaryrefslogtreecommitdiffstats
path: root/packet-fc.h
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2003-06-25 10:21:44 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2003-06-25 10:21:44 +0000
commit740376fb692e2c6075b64f2519d6cf0ab619611c (patch)
tree3eadedae6fd39ddb57cda481e663258bec0256c5 /packet-fc.h
parent37a5bff0fd85381cb6556523d912d4a35fdefc98 (diff)
Add a tap to the fibre channel dissector
svn path=/trunk/; revision=7930
Diffstat (limited to 'packet-fc.h')
-rw-r--r--packet-fc.h42
1 files changed, 41 insertions, 1 deletions
diff --git a/packet-fc.h b/packet-fc.h
index 0887415fdc..9088685f37 100644
--- a/packet-fc.h
+++ b/packet-fc.h
@@ -2,7 +2,7 @@
* Basic Fibre Channel Header definitions
* Copyright 2002 Dinesh G Dutt (ddutt@cisco.com)
*
- * $Id: packet-fc.h,v 1.2 2002/12/10 02:49:31 guy Exp $
+ * $Id: packet-fc.h,v 1.3 2003/06/25 10:21:44 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -100,4 +100,44 @@ extern const value_string fc_fc4_val[];
#define FC_IU_UNSOLICITED_CMD 0x6
#define FC_IU_CMD_STATUS 0x7
+/* FC_CTL bits */
+#define FC_FCTL_EXCHANGE_RESPONDER 0x800000
+#define FC_FCTL_SEQ_RECIPIENT 0x400000
+#define FC_FCTL_EXCHANGE_FIRST 0x200000
+#define FC_FCTL_EXCHANGE_LAST 0x100000
+#define FC_FCTL_SEQ_LAST 0x080000
+#define FC_FCTL_PRIORITY 0x020000
+#define FC_FCTL_TRANSFER_SEQ_INITIATIVE 0x010000
+#define FC_FCTL_LAST_DATA_FRAME_MASK 0x00c000
+#define FC_FCTL_ACK_0_1_MASK 0x003000
+#define FC_FCTL_REXMITTED_SEQ 0x000200
+#define FC_FCTL_ABTS_MASK 0x000030
+#define FC_FCTL_REL_OFFSET 0x000008
+
+/* structure and functions to keep track of first/last exchange
+ frames and time deltas
+*/
+typedef struct _fc_exchange_data {
+ guint32 s_id;
+ guint32 d_id;
+ guint16 oxid;
+ guint32 first_exchange_frame;
+ guint32 last_exchange_frame;
+ nstime_t fc_time;
+} fc_exchange_data;
+
+/* FC header structure */
+typedef struct _fc_hdr {
+ guint32 s_id;
+ guint32 d_id;
+ guint32 fctl;
+ guint8 type;
+ guint16 seqcnt;
+ guint16 oxid;
+ guint16 rxid;
+ guint8 r_ctl;
+ guint8 cs_ctl;
+ fc_exchange_data *fced;
+} fc_hdr;
+
#endif /* __PACKET_FC_H_ */