In Win32, treat both '/' and '\' as pathname separators.
[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.1 1999/10/20 16:41:18 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 #define AFS_PORT_FS     7000
31 #define AFS_PORT_CB     7001
32 #define AFS_PORT_PROT   7002
33 #define AFS_PORT_VLDB   7003
34 #define AFS_PORT_KAUTH  7004
35 #define AFS_PORT_VOL    7005
36 #define AFS_PORT_ERROR  7006            /* Doesn't seem to be used */
37 #define AFS_PORT_BOS    7007
38 #define AFS_PORT_UPDATE 7008
39 #define AFS_PORT_RMTSYS 7009
40 #define AFS_PORT_BACKUP 7021
41
42 #ifndef AFSNAMEMAX
43 #define AFSNAMEMAX 256
44 #endif
45
46 #ifndef AFSOPAQUEMAX
47 #define AFSOPAQUEMAX 1024
48 #endif
49
50 #define PRNAMEMAX 64
51 #define VLNAMEMAX 65
52 #define KANAMEMAX 64
53 #define BOSNAMEMAX 256
54
55 #define PRSFS_READ              1 /* Read files */
56 #define PRSFS_WRITE             2 /* Write files */
57 #define PRSFS_INSERT            4 /* Insert files into a directory */
58 #define PRSFS_LOOKUP            8 /* Lookup files into a directory */
59 #define PRSFS_DELETE            16 /* Delete files */
60 #define PRSFS_LOCK              32 /* Lock files */
61 #define PRSFS_ADMINISTER        64 /* Change ACL's */
62
63 #define CB_TYPE_EXCLUSIVE 1
64 #define CB_TYPE_SHARED 2
65 #define CB_TYPE_DROPPED 3
66
67 #define VOTE_LOW        10000
68 #define VOTE_HIGH       10005
69 #define DISK_LOW        20000
70 #define DISK_HIGH       20013
71
72 #define FILE_TYPE_FILE 1
73 #define FILE_TYPE_DIR 2
74 #define FILE_TYPE_LINK 3
75
76 struct afs_header {
77         guint32 opcode;
78 };
79
80 struct afs_volsync {
81      guint32 spare1;
82      guint32 spare2;
83      guint32 spare3;
84      guint32 spare4;
85      guint32 spare5;
86      guint32 spare6;
87 };
88
89 struct afs_status {
90      guint32 InterfaceVersion;
91      guint32 FileType;
92      guint32 LinkCount;
93      guint32 Length;
94      guint32 DataVersion;
95      guint32 Author;
96      guint32 Owner;
97      guint32 CallerAccess;
98      guint32 AnonymousAccess;
99      guint32 UnixModeBits;
100      guint32 ParentVnode;
101      guint32 ParentUnique;
102      guint32 SegSize;
103      guint32 ClientModTime;
104      guint32 ServerModTime;
105      guint32 Group;
106      guint32 SyncCount;
107      guint32 spare1;
108      guint32 spare2;
109      guint32 spare3;
110      guint32 spare4;
111 };
112
113 struct afs_volumeinfo {
114     guint32  Vid;
115     guint32  Type;
116     guint32  Type0;
117     guint32  Type1;
118     guint32  Type2;
119     guint32  Type3;
120     guint32  Type4;
121     guint32  ServerCount;
122     guint32  Server0;
123     guint32  Server1;
124     guint32  Server2;
125     guint32  Server3;
126     guint32  Server4;
127     guint32  Server5;
128     guint32  Server6;
129     guint32  Server7;
130     guint16 Part0;
131     guint16 Part1;
132     guint16 Part2;
133     guint16 Part3;
134     guint16 Part4;
135     guint16 Part5;
136     guint16 Part6;
137     guint16 Part7;
138 };
139
140
141 #endif