From Harald Welte:
[obnox/wireshark/wip.git] / epan / column_info.h
index 4976c3e285f3ad60ac364b97be912752bee394fb..74d22575b2802ba67fb3b963658bacb5f0a42d15 100644 (file)
@@ -1,4 +1,4 @@
-/* column.h
+/* column_info.h
  * Definitions for column structures and routines
  *
  * $Id$
 extern "C" {
 #endif /* __cplusplus */
 
+/** @file
+ * Column info.
+ */
+
 #define COL_MAX_LEN 256
 #define COL_MAX_INFO_LEN 4096
 
+/** Column expression */
+typedef struct {
+  const gchar **col_expr;     /**< Filter expression */
+  gchar      **col_expr_val;  /**< Value for filter expression */
+} col_expr_t;
+
+/** Column info */
 typedef struct _column_info {
-  gint          num_cols;    /* Number of columns */
-  gint         *col_fmt;     /* Format of column */
-  gboolean    **fmt_matx;    /* Specifies which formats apply to a column */
-  gint         *col_first;   /* First column number with a given format */
-  gint         *col_last;    /* Last column number with a given format */
-  gchar       **col_title;   /* Column titles */
-  const gchar **col_data;    /* Column data */
-  gchar       **col_buf;     /* Buffer into which to copy data for column */
-  int         *col_fence;    /* Stuff in column buffer before this index is immutable */
-  gchar      **col_expr;     /* Filter expression */
-  gchar      **col_expr_val; /* Value for filter expression */
-  gboolean     writable;     /* Are we still writing to the columns? */
-  gboolean columns_changed;  /* Have the columns been changed in the prefs? */
+  gint                num_cols;             /**< Number of columns */
+  gint               *col_fmt;              /**< Format of column */
+  gboolean          **fmt_matx;             /**< Specifies which formats apply to a column */
+  gint               *col_first;            /**< First column number with a given format */
+  gint               *col_last;             /**< Last column number with a given format */
+  gchar             **col_title;            /**< Column titles */
+  gchar             **col_custom_field;     /**< Custom column field */
+  gint               *col_custom_occurrence;/**< Custom column field occurrence */
+  gint               *col_custom_field_id;  /**< Custom column field id */
+  struct _dfilter_t **col_custom_dfilter;   /**< Compiled custom column field */
+  const gchar       **col_data;             /**< Column data */
+  gchar             **col_buf;              /**< Buffer into which to copy data for column */
+  int                *col_fence;            /**< Stuff in column buffer before this index is immutable */
+  col_expr_t          col_expr;             /**< Column expressions and values */
+  gboolean            writable;             /**< writable or not @todo Are we still writing to the columns? */
+  gboolean            columns_changed;      /**< Have the columns been changed in the prefs? */
 } column_info;
 
-/*
+/**
  * All of the possible columns in summary listing.
  *
- * NOTE: The SRC and DST entries MUST remain in this order, or else you
- * need to fix the offset #defines before get_column_format!
+ * NOTE1: The entries MUST remain in this order, or else you need to reorder
+ *        the slist[] and dlist[] arrays in column.c to match!
+ *
+ * NOTE2: Please add the COL_XYZ entry in the appropriate spot, such that the
+ *        dlist[] array remains in alphabetical order!
  */
 enum {
-  COL_NUMBER,         /* Packet list item number */
-  COL_CLS_TIME,       /* Command line-specified time (default relative) */
-  COL_REL_TIME,       /* Relative time */
-  COL_ABS_TIME,       /* Absolute time */
-  COL_ABS_DATE_TIME,  /* Absolute date and time */
-  COL_DELTA_TIME,     /* Delta time */
-  COL_DELTA_TIME_DIS, /* Delta time displayed*/
-  COL_DEF_SRC,        /* Source address */
-  COL_RES_SRC,        /* Resolved source */
-  COL_UNRES_SRC,      /* Unresolved source */
-  COL_DEF_DL_SRC,     /* Data link layer source address */
-  COL_RES_DL_SRC,     /* Resolved DL source */
-  COL_UNRES_DL_SRC,   /* Unresolved DL source */
-  COL_DEF_NET_SRC,    /* Network layer source address */
-  COL_RES_NET_SRC,    /* Resolved net source */
-  COL_UNRES_NET_SRC,  /* Unresolved net source */
-  COL_DEF_DST,        /* Destination address */
-  COL_RES_DST,        /* Resolved dest */
-  COL_UNRES_DST,      /* Unresolved dest */
-  COL_DEF_DL_DST,     /* Data link layer dest address */
-  COL_RES_DL_DST,     /* Resolved DL dest */
-  COL_UNRES_DL_DST,   /* Unresolved DL dest */
-  COL_DEF_NET_DST,    /* Network layer dest address */
-  COL_RES_NET_DST,    /* Resolved net dest */
-  COL_UNRES_NET_DST,  /* Unresolved net dest */
-  COL_DEF_SRC_PORT,   /* Source port */
-  COL_RES_SRC_PORT,   /* Resolved source port */
-  COL_UNRES_SRC_PORT, /* Unresolved source port */
-  COL_DEF_DST_PORT,   /* Destination port */
-  COL_RES_DST_PORT,   /* Resolved dest port */
-  COL_UNRES_DST_PORT, /* Unresolved dest port */
-  COL_PROTOCOL,       /* Protocol */
-  COL_INFO,           /* Description */
-  COL_PACKET_LENGTH,  /* Packet length in bytes */
-  COL_CUMULATIVE_BYTES, /* Cumulative number of bytes */
-  COL_OXID,           /* Fibre Channel OXID */
-  COL_RXID,           /* Fibre Channel RXID */
-  COL_IF_DIR,         /* FW-1 monitor interface/direction */
-  COL_CIRCUIT_ID,     /* Circuit ID */
-  COL_SRCIDX,         /* Src port idx - Cisco MDS-specific */
-  COL_DSTIDX,         /* Dst port idx - Cisco MDS-specific */
-  COL_VSAN,           /* VSAN - Cisco MDS-specific */
-  COL_TX_RATE,        /* IEEE 802.11 - TX rate in Mbps */
-  COL_RSSI,           /* IEEE 802.11 - received signal strength */
-  COL_HPUX_SUBSYS,    /* HP-UX Nettl Subsystem */
-  COL_HPUX_DEVID,     /* HP-UX Nettl Device ID */
-  COL_DCE_CALL,       /* DCE/RPC connection oriented call id OR datagram sequence number */
-  COL_DCE_CTX,        /* DCE/RPC connection oriented context id */
-  COL_8021Q_VLAN_ID,  /* 802.1Q vlan ID */
-  COL_DSCP_VALUE,     /* IP DSCP Value */
-  COL_COS_VALUE,      /* L2 COS Value */
-  COL_TEI,            /* Q.921 TEI */
-  COL_FR_DLCI,       /* Frame Relay DLCI */
-  COL_BSSGP_TLLI,     /* GPRS BSSGP IE TLLI */
-  COL_EXPERT,         /* Expert Info */
-  NUM_COL_FMTS        /* Should always be last */
+  COL_8021Q_VLAN_ID,  /**< 0) 802.1Q vlan ID */
+  COL_ABS_DATE_TIME,  /**< 1) Absolute date and time */
+  COL_ABS_TIME,       /**< 2) Absolute time */
+  COL_CIRCUIT_ID,     /**< 3) Circuit ID */
+  COL_DSTIDX,         /**< 4) !! DEPRECATED !! - Dst port idx - Cisco MDS-specific */
+  COL_SRCIDX,         /**< 5) !! DEPRECATED !! - Src port idx - Cisco MDS-specific */
+  COL_VSAN,           /**< 6) VSAN - Cisco MDS-specific */
+  COL_CUMULATIVE_BYTES, /**< 7) Cumulative number of bytes */
+  COL_CUSTOM,         /**< 8) Custom column (any filter name's contents) */
+  COL_DCE_CALL,       /**< 9) DCE/RPC connection oriented call id OR datagram sequence number */
+  COL_DCE_CTX,        /**< 10) !! DEPRECATED !! - DCE/RPC connection oriented context id */
+  COL_DELTA_TIME,     /**< 11) Delta time */
+  COL_DELTA_CONV_TIME,/**< 12) Delta time to last frame in conversation */
+  COL_DELTA_TIME_DIS, /**< 13) Delta time displayed*/
+  COL_RES_DST,        /**< 14) Resolved dest */
+  COL_UNRES_DST,      /**< 15) Unresolved dest */
+  COL_RES_DST_PORT,   /**< 16) Resolved dest port */
+  COL_UNRES_DST_PORT, /**< 17) Unresolved dest port */
+  COL_DEF_DST,        /**< 18) Destination address */
+  COL_DEF_DST_PORT,   /**< 19) Destination port */
+  COL_EXPERT,         /**< 20) Expert Info */
+  COL_IF_DIR,         /**< 21) FW-1 monitor interface/direction */
+  COL_OXID,           /**< 22) !! DEPRECATED !! - Fibre Channel OXID */
+  COL_RXID,           /**< 23) !! DEPRECATED !! - Fibre Channel RXID */
+  COL_FR_DLCI,        /**< 24) !! DEPRECATED !! - Frame Relay DLCI */
+  COL_FREQ_CHAN,      /**< 25) IEEE 802.11 (and WiMax?) - Channel */
+  COL_BSSGP_TLLI,     /**< 26) !! DEPRECATED !! - GPRS BSSGP IE TLLI */
+  COL_HPUX_DEVID,     /**< 27) !! DEPRECATED !! - HP-UX Nettl Device ID */
+  COL_HPUX_SUBSYS,    /**< 28) !! DEPRECATED !! - HP-UX Nettl Subsystem */
+  COL_DEF_DL_DST,     /**< 29) Data link layer dest address */
+  COL_DEF_DL_SRC,     /**< 30) Data link layer source address */
+  COL_RES_DL_DST,     /**< 31) Resolved DL dest */
+  COL_UNRES_DL_DST,   /**< 32) Unresolved DL dest */
+  COL_RES_DL_SRC,     /**< 33) Resolved DL source */
+  COL_UNRES_DL_SRC,   /**< 34) Unresolved DL source */
+  COL_RSSI,           /**< 35) IEEE 802.11 - received signal strength */
+  COL_TX_RATE,        /**< 36) IEEE 802.11 - TX rate in Mbps */
+  COL_DSCP_VALUE,     /**< 37) IP DSCP Value */
+  COL_INFO,           /**< 38) Description */
+  COL_COS_VALUE,      /**< 39) !! DEPRECATED !! - L2 COS Value */
+  COL_RES_NET_DST,    /**< 40) Resolved net dest */
+  COL_UNRES_NET_DST,  /**< 41) Unresolved net dest */
+  COL_RES_NET_SRC,    /**< 42) Resolved net source */
+  COL_UNRES_NET_SRC,  /**< 43) Unresolved net source */
+  COL_DEF_NET_DST,    /**< 44) Network layer dest address */
+  COL_DEF_NET_SRC,    /**< 45) Network layer source address */
+  COL_NUMBER,         /**< 46) Packet list item number */
+  COL_PACKET_LENGTH,  /**< 47) Packet length in bytes */
+  COL_PROTOCOL,       /**< 48) Protocol */
+  COL_REL_TIME,       /**< 49) Relative time */
+  COL_REL_CONV_TIME,  /**< 50) !! DEPRECATED !! - Relative time to beginning of conversation */
+  COL_DEF_SRC,        /**< 51) Source address */
+  COL_DEF_SRC_PORT,   /**< 52) Source port */
+  COL_RES_SRC,        /**< 53) Resolved source */
+  COL_UNRES_SRC,      /**< 54) Unresolved source */
+  COL_RES_SRC_PORT,   /**< 55) Resolved source port */
+  COL_UNRES_SRC_PORT, /**< 56) Unresolved source port */
+  COL_TEI,            /**< 57) Q.921 TEI */
+  COL_UTC_DATE_TIME,  /**< 58) UTC date and time */
+  COL_UTC_TIME,       /**< 59) UTC time */
+  COL_CLS_TIME,       /**< 60) Command line-specified time (default relative) */
+  NUM_COL_FMTS        /**< 61) Should always be last */
 };
 
 #ifdef __cplusplus