diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-07-21 12:37:11 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-07-21 19:38:15 +0000 |
commit | 868cd679154e6060bf22945e760ada61988fbd94 (patch) | |
tree | 82a031c024bfd130d219e202d54a6823293591bb /epan/dissectors/packet-mount.c | |
parent | f38d976cbed60c370e127bd40396cedf17644cee (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.c | 23 |
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); } /* |