aboutsummaryrefslogtreecommitdiffstats
path: root/packet-mount.c
diff options
context:
space:
mode:
authorNathan Neulinger <nneul@umr.edu>1999-11-15 14:17:20 +0000
committerNathan Neulinger <nneul@umr.edu>1999-11-15 14:17:20 +0000
commitb72c0d1f60e3db127fba8494eb9fb00d516c6088 (patch)
treed5fecec4094c54b28370c295bafc91e9a3858828 /packet-mount.c
parente1ef668523ba2215888a9f82a70e6ee6e3c79c8b (diff)
Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.
svn path=/trunk/; revision=1034
Diffstat (limited to 'packet-mount.c')
-rw-r--r--packet-mount.c45
1 files changed, 36 insertions, 9 deletions
diff --git a/packet-mount.c b/packet-mount.c
index aeaf7103fa..2ac5afd307 100644
--- a/packet-mount.c
+++ b/packet-mount.c
@@ -1,7 +1,7 @@
/* packet-mount.c
* Routines for mount dissection
*
- * $Id: packet-mount.c,v 1.1 1999/11/11 21:21:59 nneul Exp $
+ * $Id: packet-mount.c,v 1.2 1999/11/15 14:17:18 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@unicom.net>
@@ -37,11 +37,12 @@
#include "packet-rpc.h"
#include "packet-mount.h"
+
static int proto_mount = -1;
static int hf_mount_path = -1;
-/* Dissect a unmount call */
-int dissect_unmount_call(const u_char *pd, int offset, frame_data *fd,
+
+int dissect_mount_dirpath_call(const u_char *pd, int offset, frame_data *fd,
proto_tree *tree)
{
if ( tree )
@@ -52,20 +53,45 @@ int dissect_unmount_call(const u_char *pd, int offset, frame_data *fd,
return offset;
}
+
/* proc number, "proc name", dissect_request, dissect_reply */
/* NULL as function pointer means: take the generic one. */
-
-const vsff mount_proc[] = {
+/* Mount protocol version 1, RFC 1094 */
+const vsff mount1_proc[] = {
{ 0, "NULL", NULL, NULL },
- { MOUNTPROC_MOUNT, "MOUNT",
+ { MOUNTPROC_MNT, "MNT",
+ dissect_mount_dirpath_call, NULL },
+ { MOUNTPROC_DUMP, "DUMP",
+ NULL, NULL },
+ { MOUNTPROC_UMNT, "UMNT",
+ dissect_mount_dirpath_call, NULL },
+ { MOUNTPROC_UMNTALL, "UMNTALL",
+ NULL, NULL },
+ { MOUNTPROC_EXPORT, "EXPORT",
NULL, NULL },
- { MOUNTPROC_UNMOUNT, "UNMOUNT",
- dissect_unmount_call, NULL },
{ 0, NULL, NULL, NULL }
};
/* end of mount version 1 */
+/* Mount protocol version 3, RFC 1813 */
+const vsff mount3_proc[] = {
+ { 0, "NULL", NULL, NULL },
+ { MOUNTPROC_MNT, "MNT",
+ dissect_mount_dirpath_call, NULL },
+ { MOUNTPROC_DUMP, "DUMP",
+ NULL, NULL },
+ { MOUNTPROC_UMNT, "UMNT",
+ dissect_mount_dirpath_call, NULL },
+ { MOUNTPROC_UMNTALL, "UMNTALL",
+ NULL, NULL },
+ { MOUNTPROC_EXPORT, "EXPORT",
+ NULL, NULL },
+ { 0, NULL, NULL, NULL }
+};
+/* end of Mount protocol version 3 */
+
+
void
proto_register_mount(void)
{
@@ -81,6 +107,7 @@ proto_register_mount(void)
/* Register the protocol as RPC */
rpc_init_prog(proto_mount, MOUNT_PROGRAM, ETT_MOUNT);
/* Register the procedure tables */
- rpc_init_proc_table(MOUNT_PROGRAM, 1, mount_proc);
+ rpc_init_proc_table(MOUNT_PROGRAM, 1, mount1_proc);
+ rpc_init_proc_table(MOUNT_PROGRAM, 3, mount3_proc);
}