aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-vines.h
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-vines.h')
-rw-r--r--epan/dissectors/packet-vines.h135
1 files changed, 135 insertions, 0 deletions
diff --git a/epan/dissectors/packet-vines.h b/epan/dissectors/packet-vines.h
new file mode 100644
index 0000000000..ff8a2c7a73
--- /dev/null
+++ b/epan/dissectors/packet-vines.h
@@ -0,0 +1,135 @@
+/* packet-vines.h
+ * Definitions for packet disassembly structures and routines
+ *
+ * $Id$
+ *
+ * Don Lafontaine <lafont02@cn.ca>
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ * 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.
+ */
+
+/* Information about VINES can be found in
+ *
+ * VINES Protocol Definition
+ * Order Number: DA254-00
+ * 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 {
+ VIP_PROTO_IPC = 1, /* Interprocess Communications Protocol (IPC) */
+ VIP_PROTO_SPP = 2, /* Sequenced Packet Protcol (SPP) */
+ VIP_PROTO_ARP = 4, /* Address Resolution Protocol (ARP) */
+ VIP_PROTO_RTP = 5, /* Routing Update Protocol (RTP) / SRTP (Sequenced RTP) */
+ VIP_PROTO_ICP = 6 /* Internet Control Protocol (ICP) */
+};
+
+typedef struct _e_vip {
+ guint16 vip_chksum;
+ guint16 vip_pktlen;
+ guint8 vip_tctl; /* Transport Control */
+ guint8 vip_proto;
+ guint8 vip_dst[VINES_ADDR_LEN];
+ guint8 vip_src[VINES_ADDR_LEN];
+} e_vip;
+
+/* VINES SPP and IPC structs and definitions */
+
+enum {
+ 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 {
+ guint16 vspp_sport;
+ guint16 vspp_dport;
+ guint8 vspp_pkttype;
+ guint8 vspp_control;
+ guint16 vspp_lclid; /* Local Connection ID */
+ guint16 vspp_rmtid; /* Remote Connection ID */
+ guint16 vspp_seqno; /* Sequence Number */
+ guint16 vspp_ack; /* Acknowledgement Number */
+ guint16 vspp_win;
+} e_vspp;
+
+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;
+
+void capture_vines(packet_counts *);
+
+#endif /* packet-vines.h */