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-glusterd.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-glusterd.c')
-rw-r--r-- | epan/dissectors/packet-glusterd.c | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/epan/dissectors/packet-glusterd.c b/epan/dissectors/packet-glusterd.c index ec1c75e68f..31f5e9b621 100644 --- a/epan/dissectors/packet-glusterd.c +++ b/epan/dissectors/packet-glusterd.c @@ -616,6 +616,12 @@ static const vsff gd_mgmt_3_proc[] = { { 0, NULL, NULL, NULL} }; +static const rpc_prog_vers_info glusterd_mgmt_vers_info[] = { + { 1, gd_mgmt_proc, &hf_gd_mgmt_proc }, + { 2, gd_mgmt_2_proc, &hf_gd_mgmt_2_proc }, + { 3, gd_mgmt_3_proc, &hf_gd_mgmt_3_proc } +}; + static const vsff gd_mgmt_brick_2_proc[] = { { GLUSTERD_2_BRICK_NULL, "NULL", @@ -656,6 +662,10 @@ static const vsff gd_mgmt_brick_2_proc[] = { { 0, NULL, NULL, NULL } }; +static const rpc_prog_vers_info gd_mgmt_brick_vers_info[] = { + { 2, gd_mgmt_brick_2_proc, &hf_gd_mgmt_brick_2_proc }, +}; + static const vsff glusterd_friend_proc[] = { { GLUSTERD_FRIEND_NULL, "NULL" , dissect_rpc_void , dissect_rpc_void }, { GLUSTERD_PROBE_QUERY, "PROBE_QUERY" , dissect_rpc_unknown , dissect_rpc_unknown }, @@ -665,6 +675,10 @@ static const vsff glusterd_friend_proc[] = { { 0, NULL, NULL, NULL } }; +static const rpc_prog_vers_info glusterd_friend_vers_info[] = { + { 2, glusterd_friend_proc, &hf_glusterd_friend_proc }, +}; + static const value_string gd_mgmt_proc_vals[] = { { GD_MGMT_NULL, "NULL" }, { GD_MGMT_PROBE_QUERY, "PROBE_QUERY" }, @@ -885,19 +899,14 @@ proto_register_gluster_gd_mgmt(void) void proto_reg_handoff_gluster_gd_mgmt(void) { - rpc_init_prog(proto_gd_mgmt, GD_MGMT_PROGRAM, ett_gd_mgmt); - rpc_init_proc_table(proto_gd_mgmt, GD_MGMT_PROGRAM, 1, gd_mgmt_proc, hf_gd_mgmt_proc); - rpc_init_proc_table(proto_gd_mgmt, GD_MGMT_PROGRAM, 2, gd_mgmt_2_proc, - hf_gd_mgmt_2_proc); - rpc_init_proc_table(proto_gd_mgmt, GD_MGMT_PROGRAM, 3, gd_mgmt_3_proc, - hf_gd_mgmt_3_proc); - - rpc_init_prog(proto_gd_brick, GD_BRICK_PROGRAM, ett_gd_brick); - rpc_init_proc_table(proto_gd_brick, GD_BRICK_PROGRAM, 2, gd_mgmt_brick_2_proc, - hf_gd_mgmt_brick_2_proc); - rpc_init_prog(proto_gd_friend, GD_FRIEND_PROGRAM, ett_gd_friend); - rpc_init_proc_table(proto_gd_friend, GD_FRIEND_PROGRAM, 2,glusterd_friend_proc, - hf_glusterd_friend_proc); + rpc_init_prog(proto_gd_mgmt, GD_MGMT_PROGRAM, ett_gd_mgmt, + G_N_ELEMENTS(glusterd_mgmt_vers_info), glusterd_mgmt_vers_info); + + rpc_init_prog(proto_gd_brick, GD_BRICK_PROGRAM, ett_gd_brick, + G_N_ELEMENTS(gd_mgmt_brick_vers_info), gd_mgmt_brick_vers_info); + + rpc_init_prog(proto_gd_friend, GD_FRIEND_PROGRAM, ett_gd_friend, + G_N_ELEMENTS(glusterd_friend_vers_info), glusterd_friend_vers_info); } /* |