This is an updated patch, inclusive of the previous, that fixes all of
these issues except for one. Note that most of these were simply a
matter of inserting function prototypes into header files. Also note
that I've only adding these prototypes for functions caught by this
buildlog filter. There are probably many more functions being used
without prototypes - the upstream codebase could really use a cleanup
here.

The remaining issue that is not fixed by this patch is this one:

 Function `EIMIL_get_private' implicitly converted to pointer at testEIMIL.c:126

I tried to fix this by adding a prototype for this function in the
corresponding header file - but this leads to an error. testEIMIL.c
only passes one argument to this function, but it requires two. I'm
not sure what the correct value for the second argument should be, so
I've left this unfixed. However, I've attached my patch for reference.

-- 
dann frazier

diff -urpN iiimf-12.3.91-svn2814.orig/iiimxcf/xiiimp.so/iiimp/iiimpSwitcher.h iiimf-12.3.91-svn2814/iiimxcf/xiiimp.so/iiimp/iiimpSwitcher.h
--- iiimf-12.3.91-svn2814.orig/iiimxcf/xiiimp.so/iiimp/iiimpSwitcher.h	2005-08-11 22:38:14.000000000 -0600
+++ iiimf-12.3.91-svn2814/iiimxcf/xiiimp.so/iiimp/iiimpSwitcher.h	2007-08-13 14:24:49.000000000 -0600
@@ -45,6 +45,9 @@ Sun Microsystems, Inc. or its licensors 
 
 #include "iiimpIM.h"
 
+char **my_strsplit (const char *string,
+		    const char *single_delimiter);
+
 Bool im_switcher_active (XimCommon im);
 Bool im_switcher_new (XimCommon im);
 void im_switcher_shutdown (XimCommon im);
diff -urpN iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_info.h iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_info.h
--- iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_info.h	2005-04-26 22:08:10.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_info.h	2007-08-13 14:24:49.000000000 -0600
@@ -46,4 +46,6 @@ typedef struct {
     MConverter *converter;
 } LeInfoRec;
 
+LeInfoRec *le_info_new();
+
 #endif	/* _LE_INFO_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_interface.c iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_interface.c
--- iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_interface.c	2005-04-18 08:21:22.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_interface.c	2007-08-13 14:24:49.000000000 -0600
@@ -2,6 +2,7 @@
 
 #include "le_object.h"
 #include "le_info.h"
+#include "le_session.h"
 
 Bool if_le_OpenIF(iml_if_t *);
 Bool if_le_CloseIF(iml_if_t *);
diff -urpN iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_object.h iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_object.h
--- iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_object.h	2005-03-07 23:17:13.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_object.h	2007-08-13 14:24:49.000000000 -0600
@@ -17,4 +17,6 @@ typedef struct _LeObjectRec {
 
 } LeObjectRec;
 
+LeObjectRec *le_object_new();
+
 #endif /* _LE_OBJECT_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_session.h iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_session.h
--- iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_session.h	2005-04-26 22:08:10.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_session.h	2007-08-13 14:24:49.000000000 -0600
@@ -16,4 +16,6 @@ typedef struct _LeSessionContextRec {
 
 } LeSessionContextRec;
 
+IMText *le_session_reset(iml_session_t * s);
+
 #endif	/* _LE_SESSION_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/newpy/xaux/gifalloc.c iiimf-12.3.91-svn2814/leif/newpy/xaux/gifalloc.c
--- iiimf-12.3.91-svn2814.orig/leif/newpy/xaux/gifalloc.c	2002-10-31 17:15:38.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/newpy/xaux/gifalloc.c	2007-08-13 14:24:49.000000000 -0600
@@ -10,6 +10,7 @@
 * 15 Sep 92 - Version 1.0 by Eric Raymond.				     *
 *****************************************************************************/
 #include <stdio.h>
+#include <stdlib.h>
 #include "gif_lib.h"
 
 #define MAX(x, y)	(((x) > (y)) ? (x) : (y))
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/include/imbean.h iiimf-12.3.91-svn2814/leif/sch_le_sun/include/imbean.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/include/imbean.h	2005-04-28 06:33:45.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/include/imbean.h	2007-08-13 14:24:49.000000000 -0600
@@ -67,4 +67,7 @@ typedef struct _IbmlData {
     IbmlCategoryPtr *categories;
 } IbmlData;
 
+IbmlData *imbean_config_new_from_file(char *file_name);
+IbmlData *imbean_config_new_from_memory(char *buffer, int size);
+
 #endif				/* _IBML_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c	2005-05-17 08:01:50.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c	2007-08-13 14:24:49.000000000 -0600
@@ -8,6 +8,7 @@
 #include "gtkiiimwin.h"
 #include "gtkflatbutton.h"
 #include "imlabel.h"
+#include "support.h"
 
 #define MAX_CANDIDATE_COUNT  32
 #define MAX_LABELSTRING_LEN  (8*1024)
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c	2005-06-27 21:16:37.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c	2007-08-13 14:24:49.000000000 -0600
@@ -2,6 +2,7 @@
 #include "palette_pixmap.h"
 #include "palette_messages.h"
 #include "palette_aux.h"
+#include "palette_menu.h"
 
 enum {
     BUTTON_STATE_NORMAL = 0,
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h	2005-06-27 21:16:37.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h	2007-08-13 14:24:49.000000000 -0600
@@ -134,4 +134,9 @@ typedef struct _palette_session_t {
     char *ime_uuid;
 } palette_session_t;
 
+palette_window_t *palette_window_new();
+palette_button_t *palette_window_get_button_from_pos(palette_window_t *palette_window, int x, int y);
+vkb_layout_t *palette_window_get_current_ime_vkb_layout(palette_window_t *palette_window);
+vkb_layout_t **palette_window_get_vkb_layout_list(palette_window_t *palette_window);
+
 #endif				/* _PALETTE_AUX_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h	1969-12-31 17:00:00.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h	2007-08-13 14:24:49.000000000 -0600
@@ -0,0 +1,18 @@
+#ifndef _PALETTE_MENU_H_
+#define _PALETTE_MENU_H_
+
+#include <stdio.h>
+#include <gdk/gdkx.h>
+#include <gtk/gtk.h>
+#include <signal.h>
+#include <wait.h>
+
+#include "palette_messages.h"
+#include "palette_aux.h"
+#include "vkb_aux.h"
+
+GtkWidget *palette_window_create_utility_list_menu(palette_window_t *palette_window);
+GtkWidget *palette_window_update_utility_list_menu(palette_window_t *palette_window);
+GtkWidget *palette_window_create_vkb_list_menu(palette_window_t *palette_window);
+GtkWidget *palette_window_update_vkb_list_menu(palette_window_t *palette_window);
+#endif
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_data.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_data.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_data.h	2005-06-27 21:16:37.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_data.h	2007-08-13 14:24:49.000000000 -0600
@@ -62,4 +62,6 @@ enum {
     PROPERTY_DATA_FOR_ALL
 };
 
+property_data_t *property_data_new();
+
 #endif /* _PROPERTY_DATA_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_window.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_window.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_window.h	2005-02-28 03:10:03.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_window.h	2007-08-13 14:24:49.000000000 -0600
@@ -50,4 +50,6 @@ typedef struct _property_window_t {
 
 } property_window_t;
 
+property_window_t *property_window_new_with_property_data(property_data_t *property_data);
+
 #endif /* _PROPERTY_WINDOW_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h	2007-08-13 14:24:49.000000000 -0600
@@ -56,4 +56,6 @@ typedef struct _vkb_session_t {
     int status_capslockkey:2;
 } vkb_session_t;
 
+vkb_window_t *vkb_window_new();
+
 #endif	/* _VKB_AUX_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h	2007-08-13 14:24:49.000000000 -0600
@@ -114,4 +114,8 @@ typedef struct _vkb_layout_t {
 	vkb_ctrlkey_label_t	ctrlkey[MAX_CTRLKEY_NUM];
 } vkb_layout_t;
 
+vkb_layout_t *vkb_layout_new();
+vkb_layout_t **vkb_layout_list_read_from_layout_file(char *layout_file_name);
+vkb_layout_t *vkb_layout_new_for_pc_keyboard();
+
 #endif     /*  _VKB_LAYOUT_H_  */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c	2007-08-13 14:24:49.000000000 -0600
@@ -43,6 +43,7 @@ Sun Microsystems, Inc. or its licensors 
 /* txt2bin.c */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include "codetable.h"
 #include "ctfile.h"
 
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/ime_module.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/ime_module.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/ime_module.h	2005-02-01 22:09:24.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/ime_module.h	2007-08-13 14:24:49.000000000 -0600
@@ -50,4 +50,7 @@ typedef struct _ImeModuleContextRec {
 
 } ImeModuleContextRec;
 
+ImeModuleRec *ime_module_new();
+ImeModuleContextRec *ime_module_context_new();
+
 #endif	/* _IME_MODULE_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_desktop.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_desktop.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_desktop.h	2005-03-15 02:55:42.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_desktop.h	2007-08-13 14:24:49.000000000 -0600
@@ -38,4 +38,9 @@ typedef struct _LeDesktopContextRec {
 
 } LeDesktopContextRec;
 
+LeDesktopContextRec *le_desktop_context_new();
+iml_session_t *le_desktop_context_get_current_session(LeDesktopContextRec *
+						      le_desktop_context);
+char *le_desktop_profile_write_to_memory(LeDesktopContextRec * dc);
+
 #endif	/* _LE_DESKTOP_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_info.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_info.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_info.h	2005-04-14 04:36:58.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_info.h	2007-08-13 14:24:49.000000000 -0600
@@ -76,4 +76,6 @@ typedef struct {
 
 } LeInfoRec;
 
+LeInfoRec *le_info_new();
+
 #endif	/* _LE_INFO_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_interface.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_interface.c
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_interface.c	2005-08-15 03:15:00.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_interface.c	2007-08-13 14:24:49.000000000 -0600
@@ -3,6 +3,7 @@
 
 #include "le_object.h"
 #include "le_info.h"
+#include "le_session.h"
 
 Bool if_le_OpenIF(iml_if_t *);
 Bool if_le_CloseIF(iml_if_t *);
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_keybinding.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_keybinding.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_keybinding.h	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_keybinding.h	2007-08-13 14:24:49.000000000 -0600
@@ -18,4 +18,6 @@ typedef struct {
     ImmKeyType defined_type;
 } ImmKeybindingRec;
 
+ImmKeybindingRec *imm_keybinding_new();
+
 #endif	/* _LE_KEYBINDING_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_keyevent.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_keyevent.c
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_keyevent.c	2005-02-21 04:11:10.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_keyevent.c	2007-08-13 14:24:49.000000000 -0600
@@ -15,6 +15,9 @@ int le_session_process_key_event_for_ime
 int le_session_process_key_event_for_ime_manager(iml_session_t * s,
 						 IMKeyEventStruct * key_event);
 
+char *get_qj_str(char ch);
+char *get_punct_str(char ch);
+
 /* process the keyboard event */
 LeResult le_session_process_key_event(iml_session_t * s,
 				      IMKeyListEvent * keylistevent)
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_object.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_object.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_object.h	2005-03-08 04:15:58.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_object.h	2007-08-13 14:24:49.000000000 -0600
@@ -17,4 +17,6 @@ typedef struct _LeObjectRec {
 
 } LeObjectRec;
 
+LeObjectRec *le_object_new();
+
 #endif /* _LE_OBJECT_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_session.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_session.h
--- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_session.h	2005-02-01 22:09:24.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_session.h	2007-08-13 14:24:49.000000000 -0600
@@ -47,4 +47,16 @@ typedef struct _LeSessionContextRec {
     //TImePCAuxOption    *pc_aux_options;         //preedit_candidates aux options
 } LeSessionContextRec;
 
+LeSessionContextRec *le_session_context_new();
+IMText *le_session_reset(iml_session_t * s);
+TImePCAuxOption*
+session_get_pc_style(LeSessionContextRec* le_session_context);
+LeDesktopContextRec *le_session_get_desktop_context(iml_session_t * s);
+LeSessionContextRec *le_session_get_session_context(iml_session_t * s);
+ImeModuleRec *le_session_get_ime_module_by_uuid(iml_session_t * s,
+                                                char *uuid);
+ImeModuleRec *le_session_get_current_ime_module(iml_session_t * s);
+ImePropertyListRec *le_session_get_current_ime_module_property_list(
+    iml_session_t * s);
+ImeModuleRec *le_session_get_next_ime_module(iml_session_t * s);
 #endif	/* _LE_SESSION_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/palette_method.c iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/palette_method.c
--- iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/palette_method.c	2005-03-24 03:37:42.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/palette_method.c	2007-08-13 14:24:49.000000000 -0600
@@ -23,6 +23,7 @@
 #endif
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <gdk/gdk.h>
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/vkb_aux.h iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/vkb_aux.h
--- iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/vkb_aux.h	2005-03-24 03:37:42.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/vkb_aux.h	2007-08-13 14:24:49.000000000 -0600
@@ -59,4 +59,6 @@ typedef struct _vkb_session_t {
     int status_capslockkey:2;
 } vkb_session_t;
 
+vkb_window_t *vkb_window_new();
+
 #endif	/* _VKB_AUX_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/vkb_layout.h iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/vkb_layout.h
--- iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/vkb_layout.h	2005-03-24 03:37:42.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/vkb_layout.h	2007-08-13 14:24:49.000000000 -0600
@@ -114,4 +114,7 @@ typedef struct _vkb_layout_t {
 	vkb_ctrlkey_label_t	ctrlkey[MAX_CTRLKEY_NUM];
 } vkb_layout_t;
 
+static vkb_layout_t *vkb_layout_new();
+vkb_layout_t **vkb_layout_list_read_from_layout_file(char *layout_file_name);
+
 #endif     /*  _VKB_LAYOUT_H_  */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/include/imbean.h iiimf-12.3.91-svn2814/leif/tch_le_sun/include/imbean.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/include/imbean.h	2005-04-28 03:29:20.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/include/imbean.h	2007-08-13 14:24:49.000000000 -0600
@@ -67,4 +67,7 @@ typedef struct _IbmlData {
     IbmlCategoryPtr *categories;
 } IbmlData;
 
+IbmlData *imbean_config_new_from_file(char *file_name);
+IbmlData *imbean_config_new_from_memory(char *buffer, int size);
+
 #endif				/* _IBML_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c	2005-05-17 08:01:50.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c	2007-08-13 14:24:49.000000000 -0600
@@ -8,6 +8,7 @@
 #include "gtkiiimwin.h"
 #include "gtkflatbutton.h"
 #include "imlabel.h"
+#include "support.h"
 
 #define MAX_CANDIDATE_COUNT  32
 #define MAX_LABELSTRING_LEN  (8*1024)
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c	2005-06-27 21:10:59.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c	2007-08-13 14:24:49.000000000 -0600
@@ -2,6 +2,7 @@
 #include "palette_pixmap.h"
 #include "palette_messages.h"
 #include "palette_aux.h"
+#include "palette_menu.h"
 
 enum {
     BUTTON_STATE_NORMAL = 0,
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h	2005-06-27 21:10:59.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h	2007-08-13 14:24:49.000000000 -0600
@@ -134,4 +134,9 @@ typedef struct _palette_session_t {
     char *ime_uuid;
 } palette_session_t;
 
+palette_window_t *palette_window_new();
+palette_button_t *palette_window_get_button_from_pos(palette_window_t *palette_window, int x, int y);
+vkb_layout_t *palette_window_get_current_ime_vkb_layout(palette_window_t *palette_window);
+vkb_layout_t **palette_window_get_vkb_layout_list(palette_window_t *palette_window);
+
 #endif				/* _PALETTE_AUX_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h	1969-12-31 17:00:00.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h	2007-08-13 14:24:49.000000000 -0600
@@ -0,0 +1,18 @@
+#ifndef _PALETTE_MENU_H_
+#define _PALETTE_MENU_H_
+
+#include <stdio.h>
+#include <gdk/gdkx.h>
+#include <gtk/gtk.h>
+#include <signal.h>
+#include <wait.h>
+
+#include "palette_messages.h"
+#include "palette_aux.h"
+#include "vkb_aux.h"
+
+GtkWidget *palette_window_create_utility_list_menu(palette_window_t *palette_window);
+GtkWidget *palette_window_update_utility_list_menu(palette_window_t *palette_window);
+GtkWidget *palette_window_create_vkb_list_menu(palette_window_t *palette_window);
+GtkWidget *palette_window_update_vkb_list_menu(palette_window_t *palette_window);
+#endif
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_data.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_data.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_data.h	2005-06-27 21:10:59.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_data.h	2007-08-13 14:24:49.000000000 -0600
@@ -62,4 +62,6 @@ enum {
     PROPERTY_DATA_FOR_ALL
 };
 
+property_data_t *property_data_new();
+
 #endif /* _PROPERTY_DATA_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_window.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_window.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_window.h	2005-02-28 03:08:47.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_window.h	2007-08-13 14:24:49.000000000 -0600
@@ -50,4 +50,6 @@ typedef struct _property_window_t {
 
 } property_window_t;
 
+property_window_t *property_window_new_with_property_data(property_data_t *property_data);
+
 #endif /* _PROPERTY_WINDOW_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h	2007-08-13 14:24:49.000000000 -0600
@@ -56,4 +56,6 @@ typedef struct _vkb_session_t {
     int status_capslockkey:2;
 } vkb_session_t;
 
+vkb_window_t *vkb_window_new();
+
 #endif	/* _VKB_AUX_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h	2007-08-13 14:24:49.000000000 -0600
@@ -114,4 +114,8 @@ typedef struct _vkb_layout_t {
 	vkb_ctrlkey_label_t	ctrlkey[MAX_CTRLKEY_NUM];
 } vkb_layout_t;
 
+vkb_layout_t *vkb_layout_new();
+vkb_layout_t **vkb_layout_list_read_from_layout_file(char *layout_file_name);
+vkb_layout_t *vkb_layout_new_for_pc_keyboard();
+
 #endif     /*  _VKB_LAYOUT_H_  */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c	2007-08-13 14:24:49.000000000 -0600
@@ -43,6 +43,7 @@ Sun Microsystems, Inc. or its licensors 
 /* txt2bin.c */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include "codetable.h"
 #include "ctfile.h"
 
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/input_methods/zhuyin/zhuyin_standard.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/input_methods/zhuyin/zhuyin_standard.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/input_methods/zhuyin/zhuyin_standard.h	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/input_methods/zhuyin/zhuyin_standard.h	2007-08-13 14:24:49.000000000 -0600
@@ -54,4 +54,7 @@ enum {
 	ZHUYIN_TYPE_NUM,
 };
 
+unsigned char *ZhuyinKeyToZhuyinSymbol(char key);
+unsigned char *ZhuyinIndexToZhuyinSymbol(int idx);
+
 #endif /* _ZHUYIN_STANDARD_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/ime_module.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/ime_module.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/ime_module.h	2005-02-01 22:44:49.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/ime_module.h	2007-08-13 14:24:49.000000000 -0600
@@ -50,4 +50,7 @@ typedef struct _ImeModuleContextRec {
 
 } ImeModuleContextRec;
 
+ImeModuleRec *ime_module_new();
+ImeModuleContextRec *ime_module_context_new();
+
 #endif	/* _IME_MODULE_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_desktop.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_desktop.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_desktop.h	2005-03-15 02:53:32.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_desktop.h	2007-08-13 14:24:49.000000000 -0600
@@ -38,4 +38,9 @@ typedef struct _LeDesktopContextRec {
 
 } LeDesktopContextRec;
 
+LeDesktopContextRec *le_desktop_context_new();
+iml_session_t *le_desktop_context_get_current_session(LeDesktopContextRec *
+						      le_desktop_context);
+char *le_desktop_profile_write_to_memory(LeDesktopContextRec * dc);
+
 #endif	/* _LE_DESKTOP_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_info.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_info.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_info.h	2005-04-14 04:34:33.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_info.h	2007-08-13 14:24:49.000000000 -0600
@@ -76,4 +76,6 @@ typedef struct {
 
 } LeInfoRec;
 
+LeInfoRec *le_info_new();
+
 #endif	/* _LE_INFO_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_interface.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_interface.c
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_interface.c	2005-08-15 03:15:00.000000000 -0600
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_interface.c	2007-08-13 14:24:49.000000000 -0600
@@ -3,6 +3,7 @@
 
 #include "le_object.h"
 #include "le_info.h"
+#include "le_session.h"
 
 Bool if_le_OpenIF(iml_if_t *);
 Bool if_le_CloseIF(iml_if_t *);
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_keybinding.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_keybinding.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_keybinding.h	2005-01-19 19:04:02.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_keybinding.h	2007-08-13 14:24:49.000000000 -0600
@@ -18,4 +18,6 @@ typedef struct {
     ImmKeyType defined_type;
 } ImmKeybindingRec;
 
+ImmKeybindingRec *imm_keybinding_new();
+
 #endif	/* _LE_KEYBINDING_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_keyevent.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_keyevent.c
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_keyevent.c	2005-02-21 04:13:44.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_keyevent.c	2007-08-13 14:24:49.000000000 -0600
@@ -15,6 +15,9 @@ int le_session_process_key_event_for_ime
 int le_session_process_key_event_for_ime_manager(iml_session_t * s,
 						 IMKeyEventStruct * key_event);
 
+char *get_qj_str(char ch);
+char *get_punct_str(char ch);
+
 /* process the keyboard event */
 LeResult le_session_process_key_event(iml_session_t * s,
 				      IMKeyListEvent * keylistevent)
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_object.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_object.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_object.h	2005-03-08 04:14:22.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_object.h	2007-08-13 14:24:49.000000000 -0600
@@ -17,4 +17,6 @@ typedef struct _LeObjectRec {
 
 } LeObjectRec;
 
+LeObjectRec *le_object_new();
+
 #endif /* _LE_OBJECT_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_session.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_session.h
--- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_session.h	2005-02-01 22:44:49.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_session.h	2007-08-13 14:24:49.000000000 -0600
@@ -47,4 +47,16 @@ typedef struct _LeSessionContextRec {
     //TImePCAuxOption    *pc_aux_options;         //preedit_candidates aux options
 } LeSessionContextRec;
 
+LeSessionContextRec *le_session_context_new();
+IMText *le_session_reset(iml_session_t * s);
+TImePCAuxOption*
+session_get_pc_style(LeSessionContextRec* le_session_context);
+LeDesktopContextRec *le_session_get_desktop_context(iml_session_t * s);
+LeSessionContextRec *le_session_get_session_context(iml_session_t * s);
+ImeModuleRec *le_session_get_ime_module_by_uuid(iml_session_t * s,
+                                                char *uuid);
+ImeModuleRec *le_session_get_current_ime_module(iml_session_t * s);
+ImePropertyListRec *le_session_get_current_ime_module_property_list(
+    iml_session_t * s);
+ImeModuleRec *le_session_get_next_ime_module(iml_session_t * s);
 #endif	/* _LE_SESSION_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_info.h iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_info.h
--- iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_info.h	2005-03-04 04:03:48.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_info.h	2007-08-13 14:24:49.000000000 -0600
@@ -28,4 +28,6 @@ typedef struct {
     
 } LeInfoRec;
 
+LeInfoRec *le_info_new();
+
 #endif	/* _LE_INFO_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_interface.c iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_interface.c
--- iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_interface.c	2005-03-04 04:03:48.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_interface.c	2007-08-13 14:24:49.000000000 -0600
@@ -2,6 +2,7 @@
 
 #include "le_object.h"
 #include "le_info.h"
+#include "le_session.h"
 
 Bool if_le_OpenIF(iml_if_t *);
 Bool if_le_CloseIF(iml_if_t *);
diff -urpN iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_object.h iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_object.h
--- iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_object.h	2005-03-06 19:30:11.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_object.h	2007-08-13 14:24:49.000000000 -0600
@@ -17,4 +17,6 @@ typedef struct _LeObjectRec {
 
 } LeObjectRec;
 
+LeObjectRec *le_object_new();
+
 #endif /* _LE_OBJECT_H_ */
diff -urpN iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_session.h iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_session.h
--- iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_session.h	2005-03-04 04:03:48.000000000 -0700
+++ iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_session.h	2007-08-13 14:24:49.000000000 -0600
@@ -14,4 +14,6 @@ typedef struct _LeSessionContextRec {
 
 } LeSessionContextRec;
 
+IMText *le_session_reset(iml_session_t * s);
+
 #endif	/* _LE_SESSION_H_ */
--- iiimf-12.3.91-svn2814/include/EIMIL.h~	2004-08-02 08:38:00.000000000 -0600
+++ iiimf-12.3.91-svn2814/include/EIMIL.h	2007-08-13 14:18:01.000000000 -0600
@@ -523,6 +523,11 @@
     } \
 } while(0)
 
+void*
+EIMIL_get_private(
+    EIMIL_handle eh,
+    void* private
+);
 
 #endif /* not _EIMIL_H_ */
 

Reply via email to