Make sure the keysym list is present before allocating a buffer to hold
[obnox/wireshark/wip.git] / packet-vines.h
index 83b44b729ff15c9f69d1946df2fd692f0a4db2a1..2dd49cfc677a46f27d08bc85d5fa9a984320a1a4 100644 (file)
@@ -1,26 +1,25 @@
 /* packet-vines.h
  * Definitions for packet disassembly structures and routines
  *
- * $Id: packet-vines.h,v 1.3 1999/10/22 08:30:04 guy Exp $
+ * $Id: packet-vines.h,v 1.17 2003/04/22 08:37:55 guy Exp $
  *
  * Don Lafontaine <lafont02@cn.ca>
  *
  * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@zing.org>
+ * By Gerald Combs <gerald@ethereal.com>
  * Copyright 1998 Gerald Combs
- * Joerg Mayer <jmayer@telemation.de>
+ * Joerg Mayer <jmayer@loplof.de>
  *
- * 
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  * Banyan Systems incorporated
  * February 1990
  * Part Number: 092093-000
+ *
+ * Some information can also be found in
+ *
+ *     http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/vines.htm
+ *
+ * and at
+ *
+ *     http://www.synapse.de/ban/HTML/P_VINES/Eng/P_vines.html
+ *
+ * The document at
+ *
+ *     http://www.watersprings.org/pub/id/draft-ietf-rmonmib-rmonprot-v2-00.txt
+ *
+ * lists a bunch of values of protocol identifier fields for various
+ * protocols.  It speaks of the Vines Fragmentation Protocol,
+ * the "Vines Token Ring Protocol" which appears to be the same as the
+ * "Vines LLC" protocol here, the Vines echo protocol, Vines IP, and
+ * protocols running atop Vines IP.
+ *
+ * The LLC values it describes are:
+ *
+ *     0xbc    (SAP_VINES2) Vines Token Ring a/k/a Vines LLC
+ *
+ * It doesn't mention 0xba (SAP_VINES1).
+ *
+ * The Vines Token Ring/Vines LLC protocol identifier values it
+ * describes are:
+ *
+ *     0xba    Vines IP
+ *     0xbb    Vines Echo
+ *
+ * The Ethernet type values it describes are:
+ *
+ *     0x0bad  (ETHERTYPE_VINES) Vines IP
+ *     0x0baf  Vines Echo
  */
 
 #ifndef __PACKETVINES_H__
 #define __PACKETVINES_H__
 
+#include <epan/to_str.h>
+
+#define VINES_ADDR_LEN 6
+
 /* VINES IP structs and definitions */
 
 enum {
@@ -53,19 +91,19 @@ typedef struct _e_vip {
   guint16 vip_pktlen;
   guint8  vip_tctl;    /* Transport Control */
   guint8  vip_proto;
-  guint32 vip_dnet;
-  guint16 vip_dsub;
-  guint32 vip_snet;
-  guint16 vip_ssub;
+  guint8  vip_dst[VINES_ADDR_LEN];
+  guint8  vip_src[VINES_ADDR_LEN];
 } e_vip;
 
-/* VINES SPP structs and definitions */
+/* VINES SPP and IPC structs and definitions */
 
 enum {
-  VSPP_PKTTYPE_DATA = 1,       /* User Data */
-  VSPP_PKTTYPE_DISC = 3,       /* Diconnect Request */
-  VSPP_PKTTYPE_PROBE = 4,      /* Probe (retransmit) */
-  VSPP_PKTTYPE_ACK = 5         /* Acknowledgement */
+  PKTTYPE_DGRAM = 0,   /* Unreliable datagram */
+  PKTTYPE_DATA = 1,    /* User Data */
+  PKTTYPE_ERR = 2,     /* Error */
+  PKTTYPE_DISC = 3,    /* Diconnect Request */
+  PKTTYPE_PROBE = 4,   /* Probe (retransmit) */
+  PKTTYPE_ACK = 5      /* Acknowledgement */
 };
 
 typedef struct _e_vspp {
@@ -80,34 +118,18 @@ typedef struct _e_vspp {
   guint16 vspp_win;
 } e_vspp;
 
-/* VINES SMB structs and definitions */
+typedef struct _e_vipc {
+  guint16 vipc_sport;
+  guint16 vipc_dport;
+  guint8  vipc_pkttype;
+  guint8  vipc_control;
+  guint16 vipc_lclid;  /* Local Connection ID */
+  guint16 vipc_rmtid;  /* Remote Connection ID */
+  guint16 vipc_seqno;  /* Sequence Number */
+  guint16 vipc_ack;    /* Acknowledgement Number */
+  guint16 vipc_err_len;
+} e_vipc;
 
-typedef struct _e_vsmb {
-  guint32 vsmb_tag;
-  guint8  vsmb_func;
-  guint8  vsmb_d1;
-  guint32 vsmb_d2;
-  guint32 vsmb_d3;
-  guint16 vsmb_d4;
-  guint32 vsmb_d5;
-  guint32 vsmb_d6;
-  guint16 vsmb_treeid; 
-  guint16 vsmb_pid;
-  guint16 vsmb_uid;
-  guint16 vsmb_mid; 
-  guint8  vsmb_wcnt;
-  guint16 vsmb_pbytes;
-  guint16 vsmb_dbytes;
-  guint16 vsmb_maxpbytes;
-  guint16 vsmb_maxdbytes;
-  guint16 vsmb_setupw;
-  guint16 vsmb_tflags;
-  guint32 vsmb_ttw;
-} e_vsmb;
-
-/*
- * Routine to take a Vines address and generate a string.
- */
-extern gchar *vines_addr_to_str(const guint8 *addrp);
+void capture_vines(packet_counts *);
 
 #endif /* packet-vines.h */