1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
/* packet-afs.h
* Definitions for packet disassembly structures and routines
*
* $Id: packet-afs.h,v 1.5 2001/04/17 00:46:03 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
* Copyright 1998 Gerald Combs
*
*
* 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.
*/
#ifndef PACKET_AFS_H
#define PACKET_AFS_H
void dissect_afs(const u_char *, int, frame_data *, proto_tree *);
#define AFS_PORT_FS 7000
#define AFS_PORT_CB 7001
#define AFS_PORT_PROT 7002
#define AFS_PORT_VLDB 7003
#define AFS_PORT_KAUTH 7004
#define AFS_PORT_VOL 7005
#define AFS_PORT_ERROR 7006 /* Doesn't seem to be used */
#define AFS_PORT_BOS 7007
#define AFS_PORT_UPDATE 7008
#define AFS_PORT_RMTSYS 7009
#define AFS_PORT_BACKUP 7021
#ifndef AFSNAMEMAX
#define AFSNAMEMAX 256
#endif
#ifndef AFSOPAQUEMAX
#define AFSOPAQUEMAX 1024
#endif
#define PRNAMEMAX 64
#define VLNAMEMAX 65
#define KANAMEMAX 64
#define BOSNAMEMAX 256
#define PRSFS_READ 1 /* Read files */
#define PRSFS_WRITE 2 /* Write files */
#define PRSFS_INSERT 4 /* Insert files into a directory */
#define PRSFS_LOOKUP 8 /* Lookup files into a directory */
#define PRSFS_DELETE 16 /* Delete files */
#define PRSFS_LOCK 32 /* Lock files */
#define PRSFS_ADMINISTER 64 /* Change ACL's */
#define CB_TYPE_EXCLUSIVE 1
#define CB_TYPE_SHARED 2
#define CB_TYPE_DROPPED 3
#define OPCODE_LOW 0
#define OPCODE_HIGH 550 /* arbitrary, is just a fuzzy check for encrypted traffic */
#define VOTE_LOW 10000
#define VOTE_HIGH 10007
#define DISK_LOW 20000
#define DISK_HIGH 20013
#define FILE_TYPE_FILE 1
#define FILE_TYPE_DIR 2
#define FILE_TYPE_LINK 3
struct afs_header {
guint32 opcode;
};
struct afs_volsync {
guint32 spare1;
guint32 spare2;
guint32 spare3;
guint32 spare4;
guint32 spare5;
guint32 spare6;
};
struct afs_status {
guint32 InterfaceVersion;
guint32 FileType;
guint32 LinkCount;
guint32 Length;
guint32 DataVersion;
guint32 Author;
guint32 Owner;
guint32 CallerAccess;
guint32 AnonymousAccess;
guint32 UnixModeBits;
guint32 ParentVnode;
guint32 ParentUnique;
guint32 SegSize;
guint32 ClientModTime;
guint32 ServerModTime;
guint32 Group;
guint32 SyncCount;
guint32 spare1;
guint32 spare2;
guint32 spare3;
guint32 spare4;
};
struct afs_volumeinfo {
guint32 Vid;
guint32 Type;
guint32 Type0;
guint32 Type1;
guint32 Type2;
guint32 Type3;
guint32 Type4;
guint32 ServerCount;
guint32 Server0;
guint32 Server1;
guint32 Server2;
guint32 Server3;
guint32 Server4;
guint32 Server5;
guint32 Server6;
guint32 Server7;
guint16 Part0;
guint16 Part1;
guint16 Part2;
guint16 Part3;
guint16 Part4;
guint16 Part5;
guint16 Part6;
guint16 Part7;
};
#endif
|