Fix the Frame Relay dissector to call subdissectors regardless of
[obnox/wireshark/wip.git] / packet-afs.h
1 /* packet-afs.h
2  * Definitions for packet disassembly structures and routines
3  *
4  * $Id: packet-afs.h,v 1.2 2000/02/15 21:01:57 gram Exp $
5  *
6  * Ethereal - Network traffic analyzer
7  * By Gerald Combs <gerald@zing.org>
8  * Copyright 1998 Gerald Combs
9  * Joerg Mayer <jmayer@telemation.de>
10  *
11  *
12  * This program is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU General Public License
14  * as published by the Free Software Foundation; either version 2
15  * of the License, or (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25  */
26
27 #ifndef PACKET_AFS_H
28 #define PACKET_AFS_H
29
30 void dissect_afs(const u_char *, int, frame_data *, proto_tree *);
31
32 #define AFS_PORT_FS     7000
33 #define AFS_PORT_CB     7001
34 #define AFS_PORT_PROT   7002
35 #define AFS_PORT_VLDB   7003
36 #define AFS_PORT_KAUTH  7004
37 #define AFS_PORT_VOL    7005
38 #define AFS_PORT_ERROR  7006            /* Doesn't seem to be used */
39 #define AFS_PORT_BOS    7007
40 #define AFS_PORT_UPDATE 7008
41 #define AFS_PORT_RMTSYS 7009
42 #define AFS_PORT_BACKUP 7021
43
44 #ifndef AFSNAMEMAX
45 #define AFSNAMEMAX 256
46 #endif
47
48 #ifndef AFSOPAQUEMAX
49 #define AFSOPAQUEMAX 1024
50 #endif
51
52 #define PRNAMEMAX 64
53 #define VLNAMEMAX 65
54 #define KANAMEMAX 64
55 #define BOSNAMEMAX 256
56
57 #define PRSFS_READ              1 /* Read files */
58 #define PRSFS_WRITE             2 /* Write files */
59 #define PRSFS_INSERT            4 /* Insert files into a directory */
60 #define PRSFS_LOOKUP            8 /* Lookup files into a directory */
61 #define PRSFS_DELETE            16 /* Delete files */
62 #define PRSFS_LOCK              32 /* Lock files */
63 #define PRSFS_ADMINISTER        64 /* Change ACL's */
64
65 #define CB_TYPE_EXCLUSIVE 1
66 #define CB_TYPE_SHARED 2
67 #define CB_TYPE_DROPPED 3
68
69 #define VOTE_LOW        10000
70 #define VOTE_HIGH       10005
71 #define DISK_LOW        20000
72 #define DISK_HIGH       20013
73
74 #define FILE_TYPE_FILE 1
75 #define FILE_TYPE_DIR 2
76 #define FILE_TYPE_LINK 3
77
78 struct afs_header {
79         guint32 opcode;
80 };
81
82 struct afs_volsync {
83      guint32 spare1;
84      guint32 spare2;
85      guint32 spare3;
86      guint32 spare4;
87      guint32 spare5;
88      guint32 spare6;
89 };
90
91 struct afs_status {
92      guint32 InterfaceVersion;
93      guint32 FileType;
94      guint32 LinkCount;
95      guint32 Length;
96      guint32 DataVersion;
97      guint32 Author;
98      guint32 Owner;
99      guint32 CallerAccess;
100      guint32 AnonymousAccess;
101      guint32 UnixModeBits;
102      guint32 ParentVnode;
103      guint32 ParentUnique;
104      guint32 SegSize;
105      guint32 ClientModTime;
106      guint32 ServerModTime;
107      guint32 Group;
108      guint32 SyncCount;
109      guint32 spare1;
110      guint32 spare2;
111      guint32 spare3;
112      guint32 spare4;
113 };
114
115 struct afs_volumeinfo {
116     guint32  Vid;
117     guint32  Type;
118     guint32  Type0;
119     guint32  Type1;
120     guint32  Type2;
121     guint32  Type3;
122     guint32  Type4;
123     guint32  ServerCount;
124     guint32  Server0;
125     guint32  Server1;
126     guint32  Server2;
127     guint32  Server3;
128     guint32  Server4;
129     guint32  Server5;
130     guint32  Server6;
131     guint32  Server7;
132     guint16 Part0;
133     guint16 Part1;
134     guint16 Part2;
135     guint16 Part3;
136     guint16 Part4;
137     guint16 Part5;
138     guint16 Part6;
139     guint16 Part7;
140 };
141
142
143 #endif