ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
July 17th, 2024 | 10:00am-11:55am SGT (UTC+8) | Online

Ethereal-dev: [Ethereal-dev] [PATCH] add support for ONC-RPC plugins on Windows

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Lim Dennis-CDL057 <Dennis.Lim@xxxxxxxxxxxx>
Date: Fri, 18 Jun 2004 17:13:46 +0800
Title: Message
Hi All,
 
Please consider this patch to add ONC-RPC plugin support for windows.
 
regards,
Dennis
 
--- c:\ethereal-0.10.4\plugins\plugin_api_list.c 2004-04-18 11:37:22.000000000 +0800
+++ d:\ethereal-0.10.4\plugins\plugin_api_list.c 2004-06-03 09:07:30.038806400 +0800
@@ -38,6 +38,7 @@
 #include "packet-ber.h"
 #include "packet-tpkt.h"
 #include "packet-tcp.h"
+#include "packet-rpc.h"
 #include "tap.h"
 #include "asn1.h"
 #include "xdlc.h"
@@ -437,3 +438,43 @@
 
 void report_failure(const char *msg_format, ...);
 
+void rpc_init_proc_table(guint prog, guint vers, const vsff *proc_table,
+    int procedure_hf);
+void rpc_init_prog(int proto, guint32 prog, int ett);
+char *rpc_prog_name(guint32 prog);
+char *rpc_proc_name(guint32 prog, guint32 vers, guint32 proc);
+int rpc_prog_hf(guint32 prog, guint32 vers);
+
+unsigned int rpc_roundup(unsigned int a);
+int dissect_rpc_bool(tvbuff_t *tvb,
+ proto_tree *tree, int hfindex, int offset);
+int dissect_rpc_string(tvbuff_t *tvb,
+ proto_tree *tree, int hfindex, int offset, char **string_buffer_ret);
+int dissect_rpc_opaque_data(tvbuff_t *tvb, int offset,
+    proto_tree *tree,
+    packet_info *pinfo,
+    int hfindex,
+    gboolean fixed_length, guint32 length,
+    gboolean string_data, char **string_buffer_ret,
+    dissect_function_t *dissect_it);
+int dissect_rpc_data(tvbuff_t *tvb,
+ proto_tree *tree, int hfindex, int offset);
+int dissect_rpc_bytes(tvbuff_t *tvb,
+ proto_tree *tree, int hfindex, int offset, guint32 length,
+ gboolean string_data, char **string_buffer_ret);
+int dissect_rpc_list(tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree, int offset, dissect_function_t *rpc_list_dissector);
+int dissect_rpc_array(tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree, int offset, dissect_function_t *rpc_array_dissector,
+ int hfindex);
+int dissect_rpc_uint32(tvbuff_t *tvb,
+ proto_tree *tree, int hfindex, int offset);
+int dissect_rpc_uint64(tvbuff_t *tvb,
+ proto_tree *tree, int hfindex, int offset);
+
+int dissect_rpc_indir_call(tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree, int offset, int args_id, guint32 prog, guint32 vers,
+ guint32 proc);
+int dissect_rpc_indir_reply(tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree, int offset, int result_id, int prog_id, int vers_id,
+ int proc_id);
--- c:\ethereal-0.10.4\plugins\plugin_api.h 2004-03-26 06:21:18.000000000 +0800
+++ d:\ethereal-0.10.4\plugins\plugin_api.h 2004-06-03 17:08:43.842985600 +0800
@@ -51,6 +51,7 @@
 #include "packet-giop.h"
 #include "packet-tpkt.h"
 #include "packet-tcp.h"
+#include "packet-rpc.h"
 #include "tap.h"
 #include "asn1.h"
 #include "packet-per.h"

--- c:\ethereal-0.10.4\epan\plugins.c 2004-03-07 01:48:42.000000000 +0800
+++ d:\ethereal-0.10.4\epan\plugins.c 2004-06-09 11:54:25.698168000 +0800
@@ -65,6 +65,7 @@
 #include "packet-giop.h"
 #include "packet-tpkt.h"
 #include "packet-tcp.h"
+#include "packet-rpc.h"
 #include "tap.h"
 #include "asn1.h"
 #include "packet-per.h"