aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-afs.c
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2012-05-16 01:41:03 +0000
committerBill Meier <wmeier@newsguy.com>2012-05-16 01:41:03 +0000
commit2ed4baea4f4938faff8bad363094505efaa208bd (patch)
tree701a635ee974fabacba0f9d41cc246168f3d9a32 /epan/dissectors/packet-afs.c
parent207127597447887d2670ccc668e71e95a371f114 (diff)
all:
Merge .h files into .c files since .h files unused elsewhere; Do whitespace, indentation & formatting cleanup. packet-acn.c: Fix 2 minor bugs wherein subtree not displayed in packet-details because tree variable used in proto_tree_add_text() always NULL. svn path=/trunk/; revision=42647
Diffstat (limited to 'epan/dissectors/packet-afs.c')
-rw-r--r--epan/dissectors/packet-afs.c129
1 files changed, 121 insertions, 8 deletions
diff --git a/epan/dissectors/packet-afs.c b/epan/dissectors/packet-afs.c
index b1c1f61b33..7880e6fe2a 100644
--- a/epan/dissectors/packet-afs.c
+++ b/epan/dissectors/packet-afs.c
@@ -36,9 +36,10 @@
#endif
#include <stdio.h>
-
#include <string.h>
+
#include <glib.h>
+
#include <epan/packet.h>
#include <epan/conversation.h>
#include <epan/addr_resolv.h>
@@ -46,7 +47,119 @@
#include <epan/strutil.h>
#include "packet-rx.h"
-#include "packet-afs.h"
+
+#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 66000 /* 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;
+};
+
static int proto_afs = -1;
static int hf_afs_fs = -1;
@@ -1314,15 +1427,15 @@ static const value_string volume_types[] = {
};
struct afs_request_key {
- guint32 conversation, epoch, cid, callnumber;
- guint16 service;
+ guint32 conversation, epoch, cid, callnumber;
+ guint16 service;
};
struct afs_request_val {
- guint32 opcode;
- guint req_num;
- guint rep_num;
- nstime_t req_time;
+ guint32 opcode;
+ guint req_num;
+ guint rep_num;
+ nstime_t req_time;
};
static GHashTable *afs_request_hash = NULL;