aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rpc.h
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2001-02-06 06:46:10 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2001-02-06 06:46:10 +0000
commitc051338f7d6de167820d5ed526c1c7dad391d865 (patch)
tree7a89cb2573f7ae92f6d3acbf562079f2a4144834 /packet-rpc.h
parent630962f9899b802c3f872dadc4078cfcb43fe609 (diff)
Tvbuffify the portmap/rpcbind dissector, and implement part of CALLIT
dissection (dissection of V2 CALLIT calls; no V3/V4 stuff or reply handling yet). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2994 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-rpc.h')
-rw-r--r--packet-rpc.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/packet-rpc.h b/packet-rpc.h
index 6c8dcbf56d..1f3db02932 100644
--- a/packet-rpc.h
+++ b/packet-rpc.h
@@ -1,6 +1,6 @@
/* packet-rpc.h
*
- * $Id: packet-rpc.h,v 1.23 2001/01/28 03:39:48 guy Exp $
+ * $Id: packet-rpc.h,v 1.24 2001/02/06 06:46:10 guy Exp $
*
* (c) 1999 Uwe Girlich
*
@@ -88,12 +88,41 @@ typedef struct _vsff {
dissect_function_t *dissect_reply;
} vsff;
+/*
+ * These are used by the CALLIT handler for the portmapper dissector.
+ */
+typedef struct _rpc_proc_info_key {
+ guint32 prog;
+ guint32 vers;
+ guint32 proc;
+} rpc_proc_info_key;
+
+typedef struct _rpc_proc_info_value {
+ gchar *name;
+ gboolean is_old_dissector;
+ union {
+ old_dissect_function_t *old;
+ dissect_function_t *new;
+ } dissect_call;
+ union {
+ old_dissect_function_t *old;
+ dissect_function_t *new;
+ } dissect_reply;
+} rpc_proc_info_value;
+
+/* Hash table with info on RPC procedure numbers */
+GHashTable *rpc_procs;
+
extern const value_string rpc_auth_flavor[];
extern void old_rpc_init_proc_table(guint prog, guint vers, const old_vsff *proc_table);
extern void rpc_init_proc_table(guint prog, guint vers, const vsff *proc_table);
extern void rpc_init_prog(int proto, guint32 prog, int ett);
extern char *rpc_prog_name(guint32 prog);
+extern int call_dissect_function(tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree, int offset,
+ old_dissect_function_t *old_dissect_function,
+ dissect_function_t* dissect_function, const char *progname);
extern unsigned int rpc_roundup(unsigned int a);
extern int dissect_rpc_bool(const u_char *pd, int offset, frame_data *fd,