Ethereal-dev: Re: [Ethereal-dev] Ethereal 0.8.20/Win32 and giop plugin

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

From: Frank Singleton <frank.singleton@xxxxxxxxxxxx>
Date: Tue, 16 Oct 2001 08:30:51 -0500
Gilbert Ramirez wrote:
> 
> FYI,
> 
> I'm building the win32 ethereal binary right now, and it looks like I'll
> have to leave out the giop/coseventcom plugin because
> packet-coseventcomm.c uses get_CDR_any(), which is available
> in [t]ethereal binary; but until that gets converted to a DLL,
> the plugin DLL doesn't have access to that symbol.


Hi,

I have attached 3 patches to add entries for missing
get_CDR_xxx accessors.

patch1.diff - plugin_api.h
patch2.diff - plugin_api.c
patch3.diff - plugin_table.h

I have not compiled on win32 for test however :^)

Please try it out, and commit if ok.

Cheers / Frank

-- 
EUS/SV/Z Frank Singleton      ASO Americas BSS
Office : +1 972 583 3251      ECN 800 33251  
Mobile : +1 214 228 0874      Amateur Radio: VK3FCS/KM5WS   
Email : frank.singleton@xxxxxxxxxxxx

Hardware: HP Omnibook 4150 running Redhat Linux 7.1 (2.4.3-12 kernel).
--- ../ethereal-2001-10-16/plugins/plugin_api.h	Mon Sep  3 20:05:41 2001
+++ ../ethereal-2001-10-16.updated/plugins/plugin_api.h	Tue Oct 16 07:56:35 2001
@@ -1,7 +1,7 @@
 /* plugin_api.h
  * Routines for Ethereal plugins.
  *
- * $Id: plugin_api.h,v 1.23 2001/09/04 01:05:41 guy Exp $
+ * $Id: plugin_api.h,v 1.3 2001/10/16 12:56:35 frank Exp $
  *
  * Ethereal - Network traffic analyzer
  * Copyright 2000 by Gilbert Ramirez <gram@xxxxxxxxxx>
@@ -154,13 +154,34 @@
 #define prefs_register_enum_preference	(*p_prefs_register_enum_preference)
 #define prefs_register_string_preference (*p_prefs_register_string_preference)
 
+
+/* GIOP entries Begin */
+
 #define register_giop_user		(*p_register_giop_user)
 #define is_big_endian			(*p_is_big_endian)
-#define get_CDR_string			(*p_get_CDR_string)
-#define get_CDR_ulong			(*p_get_CDR_ulong)
+#define get_CDR_encap_info		(*p_get_CDR_encap_info)
+
+#define get_CDR_any			(*p_get_CDR_any)
+#define get_CDR_boolean			(*p_get_CDR_boolean)
+#define get_CDR_char			(*p_get_CDR_char)
+#define get_CDR_double			(*p_get_CDR_double)
 #define get_CDR_enum			(*p_get_CDR_enum)
+#define get_CDR_fixed			(*p_get_CDR_fixed)
+#define get_CDR_float			(*p_get_CDR_float)
+#define get_CDR_interface		(*p_get_CDR_interface)
+#define get_CDR_long         	        (*p_get_CDR_long)
 #define get_CDR_object			(*p_get_CDR_object)
-#define get_CDR_boolean			(*p_get_CDR_boolean)
+#define get_CDR_octet         	        (*p_get_CDR_octet)
+#define get_CDR_octet_seq     	        (*p_get_CDR_octet_seq)
+#define get_CDR_short         	        (*p_get_CDR_short)
+#define get_CDR_string			(*p_get_CDR_string)
+#define get_CDR_typeCode		(*p_get_CDR_typeCode)
+#define get_CDR_ulong			(*p_get_CDR_ulong)
+#define get_CDR_ushort			(*p_get_CDR_ushort)
+#define get_CDR_wchar			(*p_get_CDR_wchar)
+#define get_CDR_wstring			(*p_get_CDR_wstring)
+
+/* GIOP entries End */
 
 #define pi				(*p_pi)
 
--- ../ethereal-2001-10-16/plugins/plugin_api.c	Mon Sep  3 20:05:41 2001
+++ ../ethereal-2001-10-16.updated/plugins/plugin_api.c	Tue Oct 16 07:56:15 2001
@@ -1,7 +1,7 @@
 /* plugin_api.c
  * Routines for Ethereal plugins.
  *
- * $Id: plugin_api.c,v 1.23 2001/09/04 01:05:41 guy Exp $
+ * $Id: plugin_api.c,v 1.2 2001/10/16 12:56:15 frank Exp $
  *
  * Ethereal - Network traffic analyzer
  * Copyright 2000 by Gilbert Ramirez <gram@xxxxxxxxxx>
@@ -136,12 +136,33 @@
 	p_prefs_register_bool_preference	= pat->p_prefs_register_bool_preference;
 	p_prefs_register_enum_preference	= pat->p_prefs_register_enum_preference;
 	p_prefs_register_string_preference	= pat->p_prefs_register_string_preference;
+
+	/* GIOP Begin */
+
 	p_register_giop_user			= pat->p_register_giop_user;
 	p_is_big_endian				= pat->p_is_big_endian;
-	p_get_CDR_string			= pat->p_get_CDR_string;
-	p_get_CDR_ulong				= pat->p_get_CDR_ulong;
+	p_get_CDR_encap_info                    = pat->p_get_CDR_encap_info;
+ 
+	p_get_CDR_any				= pat->p_get_CDR_any;
+	p_get_CDR_boolean			= pat->p_get_CDR_boolean;
+	p_get_CDR_char				= pat->p_get_CDR_char;
+	p_get_CDR_double			= pat->p_get_CDR_double;
 	p_get_CDR_enum				= pat->p_get_CDR_enum;
+	p_get_CDR_fixed				= pat->p_get_CDR_fixed;
+	p_get_CDR_float				= pat->p_get_CDR_float;
+	p_get_CDR_interface			= pat->p_get_CDR_interface;
+	p_get_CDR_long				= pat->p_get_CDR_long;
 	p_get_CDR_object			= pat->p_get_CDR_object;
-	p_get_CDR_boolean			= pat->p_get_CDR_boolean;
+	p_get_CDR_octet 			= pat->p_get_CDR_octet;
+	p_get_CDR_octet_seq 			= pat->p_get_CDR_octet_seq;
+	p_get_CDR_short 			= pat->p_get_CDR_short;
+	p_get_CDR_string			= pat->p_get_CDR_string;
+	p_get_CDR_typeCode			= pat->p_get_CDR_typeCode;
+	p_get_CDR_ulong				= pat->p_get_CDR_ulong;
+	p_get_CDR_ushort			= pat->p_get_CDR_ushort;
+	p_get_CDR_wchar 			= pat->p_get_CDR_wchar;
+	p_get_CDR_wstring 			= pat->p_get_CDR_wstring;
+
+	/* GIOP End */
 
 }
--- ../ethereal-2001-10-16/plugins/plugin_table.h	Fri Sep 14 02:16:42 2001
+++ ../ethereal-2001-10-16.updated/plugins/plugin_table.h	Tue Oct 16 08:15:13 2001
@@ -1,7 +1,7 @@
 /* plugin_table.h
  * Table of exported addresses for Ethereal plugins.
  *
- * $Id: plugin_table.h,v 1.25 2001/09/14 07:16:42 guy Exp $
+ * $Id: plugin_table.h,v 1.2 2001/10/16 13:15:13 frank Exp $
  *
  * Ethereal - Network traffic analyzer
  * Copyright 2000 by Gilbert Ramirez <gram@xxxxxxxxxx>
@@ -304,13 +304,35 @@
 	addr_prefs_register_enum_preference	p_prefs_register_enum_preference;
 	addr_prefs_register_string_preference	p_prefs_register_string_preference;
 
+        /* GIOP Begin */
+
 	addr_register_giop_user			p_register_giop_user;
 	addr_is_big_endian			p_is_big_endian;
-	addr_get_CDR_string			p_get_CDR_string;
-	addr_get_CDR_ulong			p_get_CDR_ulong;
+        addr_get_CDR_encap_info                 p_get_CDR_encap_info;
+
+	addr_get_CDR_any			p_get_CDR_any;
+	addr_get_CDR_boolean			p_get_CDR_boolean;
+	addr_get_CDR_char			p_get_CDR_char;
+	addr_get_CDR_double			p_get_CDR_double;
 	addr_get_CDR_enum			p_get_CDR_enum;
+	addr_get_CDR_fixed			p_get_CDR_fixed;
+	addr_get_CDR_float			p_get_CDR_float;
+	addr_get_CDR_interface			p_get_CDR_interface;
+	addr_get_CDR_long			p_get_CDR_long;
 	addr_get_CDR_object			p_get_CDR_object;
-	addr_get_CDR_boolean			p_get_CDR_boolean;
+	addr_get_CDR_octet			p_get_CDR_octet;
+	addr_get_CDR_octet_seq			p_get_CDR_octet_seq;
+	addr_get_CDR_short			p_get_CDR_short;
+	addr_get_CDR_string			p_get_CDR_string;
+	addr_get_CDR_typeCode			p_get_CDR_typeCode;
+	addr_get_CDR_ulong			p_get_CDR_ulong;
+	addr_get_CDR_ushort			p_get_CDR_ushort;
+	addr_get_CDR_wchar			p_get_CDR_wchar;
+	addr_get_CDR_wstring			p_get_CDR_wstring;
+
+        /* GIOP End */
+
+
 } plugin_address_table_t;
 
 #else /* ! PLUGINS_NEED_ACCESS_TABLE */