aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mount.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2015-07-21 12:37:11 -0700
committerGuy Harris <guy@alum.mit.edu>2015-07-21 19:38:15 +0000
commit868cd679154e6060bf22945e760ada61988fbd94 (patch)
tree82a031c024bfd130d219e202d54a6823293591bb /epan/dissectors/packet-mount.c
parentf38d976cbed60c370e127bd40396cedf17644cee (diff)
Do all the work of registering an ONC RPC-based protocol in rpc_init_prog().
Hand it a table of version/procedure table/hf-for-program-number triplets. Change-Id: I2acc03c2da83353165bd422d8537362201c814e2 Reviewed-on: https://code.wireshark.org/review/9740 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors/packet-mount.c')
-rw-r--r--epan/dissectors/packet-mount.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/epan/dissectors/packet-mount.c b/epan/dissectors/packet-mount.c
index 988c1aa11d..5618fa9561 100644
--- a/epan/dissectors/packet-mount.c
+++ b/epan/dissectors/packet-mount.c
@@ -765,6 +765,12 @@ static const value_string mount3_proc_vals[] = {
};
/* end of Mount protocol version 3 */
+static const rpc_prog_vers_info mount_vers_info[] = {
+ { 1, mount1_proc, &hf_mount_procedure_v1 },
+ { 2, mount2_proc, &hf_mount_procedure_v2 },
+ { 3, mount3_proc, &hf_mount_procedure_v3 },
+};
+
/* SGI mount protocol version 1; actually the same as v1 plus
MOUNTPROC_EXPORTLIST and MOUNTPROC_STATVFS */
@@ -803,6 +809,10 @@ static const value_string sgi_mount1_proc_vals[] = {
};
/* end of SGI mount protocol version 1 */
+static const rpc_prog_vers_info sgi_mount_vers_info[] = {
+ { 1, sgi_mount1_proc, &hf_sgi_mount_procedure_v1 },
+};
+
void
proto_register_mount(void)
{
@@ -1027,14 +1037,11 @@ proto_register_mount(void)
void
proto_reg_handoff_mount(void)
{
- /* Register the protocol as RPC */
- rpc_init_prog(proto_mount, MOUNT_PROGRAM, ett_mount);
- rpc_init_prog(proto_sgi_mount, SGI_MOUNT_PROGRAM, ett_mount);
- /* Register the procedure tables */
- rpc_init_proc_table(proto_mount, MOUNT_PROGRAM, 1, mount1_proc, hf_mount_procedure_v1);
- rpc_init_proc_table(proto_mount, MOUNT_PROGRAM, 2, mount2_proc, hf_mount_procedure_v2);
- rpc_init_proc_table(proto_mount, MOUNT_PROGRAM, 3, mount3_proc, hf_mount_procedure_v3);
- rpc_init_proc_table(proto_sgi_mount, SGI_MOUNT_PROGRAM, 1, sgi_mount1_proc, hf_sgi_mount_procedure_v1);
+ /* Register the protocols as RPC */
+ rpc_init_prog(proto_mount, MOUNT_PROGRAM, ett_mount,
+ G_N_ELEMENTS(mount_vers_info), mount_vers_info);
+ rpc_init_prog(proto_sgi_mount, SGI_MOUNT_PROGRAM, ett_mount,
+ G_N_ELEMENTS(sgi_mount_vers_info), sgi_mount_vers_info);
}
/*