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-rpc.h | |
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-rpc.h')
-rw-r--r-- | epan/dissectors/packet-rpc.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/epan/dissectors/packet-rpc.h b/epan/dissectors/packet-rpc.h index ac856ec46e..d633bd3a20 100644 --- a/epan/dissectors/packet-rpc.h +++ b/epan/dissectors/packet-rpc.h @@ -132,6 +132,9 @@ typedef struct _rpc_call_info_value { typedef int (dissect_function_t)(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree* tree, void* data); +/* + * Information about a particular version of a program. + */ typedef struct _vsff { guint32 value; const gchar *strptr; @@ -139,11 +142,16 @@ typedef struct _vsff { new_dissector_t dissect_reply; } vsff; +typedef struct _rpc_proc_list { + guint vers; + const vsff *proc_table; + int *procedure_hf; +} rpc_prog_vers_info; + extern const value_string rpc_auth_flavor[]; -WS_DLL_PUBLIC void rpc_init_proc_table(int proto, guint prog, guint vers, const vsff *proc_table, - int procedure_hf); -WS_DLL_PUBLIC void rpc_init_prog(int proto, guint32 prog, int ett); +WS_DLL_PUBLIC void rpc_init_prog(int proto, guint32 prog, int ett, size_t nvers, + const rpc_prog_vers_info *versions); WS_DLL_PUBLIC const char *rpc_prog_name(guint32 prog); WS_DLL_PUBLIC const char *rpc_proc_name(guint32 prog, guint32 vers, guint32 proc); WS_DLL_PUBLIC int rpc_prog_hf(guint32 prog, guint32 vers); |