Don't hand off the stub body of a Fault PDU to the subdissector for the
[obnox/wireshark/wip.git] / packet-vines.h
1 /* packet-vines.h
2  * Definitions for packet disassembly structures and routines
3  *
4  * $Id: packet-vines.h,v 1.12 2002/04/24 06:03:34 guy Exp $
5  *
6  * Don Lafontaine <lafont02@cn.ca>
7  *
8  * Ethereal - Network traffic analyzer
9  * By Gerald Combs <gerald@ethereal.com>
10  * Copyright 1998 Gerald Combs
11  * Joerg Mayer <jmayer@loplof.de>
12  * 
13  * This program is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  * 
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  * 
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
26  */
27
28 /* Information about VINES can be found in
29  *
30  * VINES Protocol Definition
31  * Order Number: DA254-00
32  * Banyan Systems incorporated
33  * February 1990
34  * Part Number: 092093-000
35  */
36
37 #ifndef __PACKETVINES_H__
38 #define __PACKETVINES_H__
39
40 #include <epan/to_str.h>
41
42 #define VINES_ADDR_LEN  6
43
44 /* VINES IP structs and definitions */
45
46 enum {
47   VIP_PROTO_IPC = 1,     /* Interprocess Communications Protocol (IPC) */
48   VIP_PROTO_SPP = 2,    /* Sequenced Packet Protcol (SPP) */
49   VIP_PROTO_ARP = 4,    /* Address Resolution Protocol (ARP) */
50   VIP_PROTO_RTP = 5,    /* Routing Update Protocol (RTP) / SRTP (Sequenced RTP) */
51   VIP_PROTO_ICP = 6     /* Internet Control Protocol (ICP) */
52 };
53
54 typedef struct _e_vip {
55   guint16 vip_chksum;
56   guint16 vip_pktlen;
57   guint8  vip_tctl;     /* Transport Control */
58   guint8  vip_proto;
59   guint32 vip_dnet;
60   guint16 vip_dsub;
61   guint32 vip_snet;
62   guint16 vip_ssub;
63 } e_vip;
64
65 /* VINES SPP structs and definitions */
66
67 enum {
68   VSPP_PKTTYPE_DATA = 1,        /* User Data */
69   VSPP_PKTTYPE_DISC = 3,        /* Diconnect Request */
70   VSPP_PKTTYPE_PROBE = 4,       /* Probe (retransmit) */
71   VSPP_PKTTYPE_ACK = 5          /* Acknowledgement */
72 };
73
74 typedef struct _e_vspp {
75   guint16 vspp_sport;
76   guint16 vspp_dport;
77   guint8  vspp_pkttype;
78   guint8  vspp_control;
79   guint16 vspp_lclid;   /* Local Connection ID */
80   guint16 vspp_rmtid;   /* Remote Connection ID */
81   guint16 vspp_seqno;   /* Sequence Number */
82   guint16 vspp_ack;     /* Acknowledgement Number */
83   guint16 vspp_win;
84 } e_vspp;
85
86 /* VINES SMB structs and definitions */
87
88 typedef struct _e_vsmb {
89   guint32 vsmb_tag;
90   guint8  vsmb_func;
91   guint8  vsmb_d1;
92   guint32 vsmb_d2;
93   guint32 vsmb_d3;
94   guint16 vsmb_d4;
95   guint32 vsmb_d5;
96   guint32 vsmb_d6;
97   guint16 vsmb_treeid; 
98   guint16 vsmb_pid;
99   guint16 vsmb_uid;
100   guint16 vsmb_mid; 
101   guint8  vsmb_wcnt;
102   guint16 vsmb_pbytes;
103   guint16 vsmb_dbytes;
104   guint16 vsmb_maxpbytes;
105   guint16 vsmb_maxdbytes;
106   guint16 vsmb_setupw;
107   guint16 vsmb_tflags;
108   guint32 vsmb_ttw;
109 } e_vsmb;
110
111 void capture_vines(packet_counts *);
112
113 #endif /* packet-vines.h */