diff options
author | Nathan Neulinger <nneul@umr.edu> | 1999-11-15 14:17:20 +0000 |
---|---|---|
committer | Nathan Neulinger <nneul@umr.edu> | 1999-11-15 14:17:20 +0000 |
commit | b72c0d1f60e3db127fba8494eb9fb00d516c6088 (patch) | |
tree | d5fecec4094c54b28370c295bafc91e9a3858828 /packet-mount.c | |
parent | e1ef668523ba2215888a9f82a70e6ee6e3c79c8b (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.c | 45 |
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); } |