hidden symbol support
authorCarsten Haitzler <raster@rasterman.com>
Thu, 25 Nov 2004 05:18:31 +0000 (05:18 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Thu, 25 Nov 2004 05:18:31 +0000 (05:18 +0000)
SVN revision: 12252

13 files changed:
legacy/ecore/src/lib/ecore/Ecore.h
legacy/ecore/src/lib/ecore_con/Ecore_Con.h
legacy/ecore/src/lib/ecore_config/Ecore_Config.h
legacy/ecore/src/lib/ecore_evas/Ecore_Evas.h
legacy/ecore/src/lib/ecore_fb/Ecore_Fb.h
legacy/ecore/src/lib/ecore_ipc/Ecore_Ipc.h
legacy/ecore/src/lib/ecore_job/Ecore_Job.h
legacy/ecore/src/lib/ecore_txt/Ecore_Txt.h
legacy/ecore/src/lib/ecore_x/Ecore_X.h
legacy/edje/src/lib/Edje.h
legacy/embryo/src/bin/embryo_main.c
legacy/embryo/src/lib/Embryo.h
legacy/evas/src/lib/Evas.h

index 4d57c1f..f8b057c 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _ECORE_H
 #define _ECORE_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file Ecore.h
  * @brief The file that provides the program utility, main loop and timer
@@ -170,64 +187,64 @@ extern "C" {
 #endif
      };
 
-   int  ecore_init(void);
-   int  ecore_shutdown(void);
+   EAPI int  ecore_init(void);
+   EAPI int  ecore_shutdown(void);
        
-   void ecore_app_args_set(int argc, const char **argv);
-   void ecore_app_args_get(int *argc, char ***argv);
-   void ecore_app_restart(void);
-
-   Ecore_Event_Handler *ecore_event_handler_add(int type, int (*func) (void *data, int type, void *event), const void *data);
-   void                *ecore_event_handler_del(Ecore_Event_Handler *event_handler);
-   Ecore_Event         *ecore_event_add(int type, void *ev, void (*func_free) (void *data, void *ev), void *data);
-   void                *ecore_event_del(Ecore_Event *event);
-   int                  ecore_event_type_new(void);
-   Ecore_Event_Filter  *ecore_event_filter_add(void * (*func_start) (void *data), int (*func_filter) (void *data, void *loop_data, int type, void *event), void (*func_end) (void *data, void *loop_data), const void *data);
-   void                *ecore_event_filter_del(Ecore_Event_Filter *ef);
-   int                  ecore_event_current_type_get(void);
-   void                *ecore_event_current_event_get(void);
+   EAPI void ecore_app_args_set(int argc, const char **argv);
+   EAPI void ecore_app_args_get(int *argc, char ***argv);
+   EAPI void ecore_app_restart(void);
+
+   EAPI Ecore_Event_Handler *ecore_event_handler_add(int type, int (*func) (void *data, int type, void *event), const void *data);
+   EAPI void                *ecore_event_handler_del(Ecore_Event_Handler *event_handler);
+   EAPI Ecore_Event         *ecore_event_add(int type, void *ev, void (*func_free) (void *data, void *ev), void *data);
+   EAPI void                *ecore_event_del(Ecore_Event *event);
+   EAPI int                  ecore_event_type_new(void);
+   EAPI Ecore_Event_Filter  *ecore_event_filter_add(void * (*func_start) (void *data), int (*func_filter) (void *data, void *loop_data, int type, void *event), void (*func_end) (void *data, void *loop_data), const void *data);
+   EAPI void                *ecore_event_filter_del(Ecore_Event_Filter *ef);
+   EAPI int                  ecore_event_current_type_get(void);
+   EAPI void                *ecore_event_current_event_get(void);
        
        
 #ifndef WIN32
-   Ecore_Exe *ecore_exe_run(const char *exe_cmd, const void *data);
-   void      *ecore_exe_free(Ecore_Exe *exe);
-   pid_t      ecore_exe_pid_get(Ecore_Exe *exe);
-   void      *ecore_exe_data_get(Ecore_Exe *exe);
-   void       ecore_exe_pause(Ecore_Exe *exe);
-   void       ecore_exe_continue(Ecore_Exe *exe);
-   void       ecore_exe_terminate(Ecore_Exe *exe);
-   void       ecore_exe_kill(Ecore_Exe *exe);
-   void       ecore_exe_signal(Ecore_Exe *exe, int num);
-   void       ecore_exe_hup(Ecore_Exe *exe);
+   EAPI Ecore_Exe *ecore_exe_run(const char *exe_cmd, const void *data);
+   EAPI void      *ecore_exe_free(Ecore_Exe *exe);
+   EAPI pid_t      ecore_exe_pid_get(Ecore_Exe *exe);
+   EAPI void      *ecore_exe_data_get(Ecore_Exe *exe);
+   EAPI void       ecore_exe_pause(Ecore_Exe *exe);
+   EAPI void       ecore_exe_continue(Ecore_Exe *exe);
+   EAPI void       ecore_exe_terminate(Ecore_Exe *exe);
+   EAPI void       ecore_exe_kill(Ecore_Exe *exe);
+   EAPI void       ecore_exe_signal(Ecore_Exe *exe, int num);
+   EAPI void       ecore_exe_hup(Ecore_Exe *exe);
 #endif
        
-   Ecore_Idler *ecore_idler_add(int (*func) (void *data), const void *data);
-   void        *ecore_idler_del(Ecore_Idler *idler);
+   EAPI Ecore_Idler *ecore_idler_add(int (*func) (void *data), const void *data);
+   EAPI void        *ecore_idler_del(Ecore_Idler *idler);
    
-   Ecore_Idle_Enterer *ecore_idle_enterer_add(int (*func) (void *data), const void *data);
-   void               *ecore_idle_enterer_del(Ecore_Idle_Enterer *idle_enterer);
-
-   Ecore_Idle_Exiter *ecore_idle_exiter_add(int (*func) (void *data), const void *data);
-   void              *ecore_idle_exiter_del(Ecore_Idle_Exiter *idle_exiter);
-
-   void              ecore_main_loop_iterate(void);
-   void              ecore_main_loop_begin(void);
-   void              ecore_main_loop_quit(void);
-   Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, int (*func) (void *data, Ecore_Fd_Handler *fd_handler), const void *data, int (*buf_func) (void *buf_data, Ecore_Fd_Handler *fd_handler), const void *buf_data);
-   void             *ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler);
-   int               ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler);
-   int               ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags);
-   void              ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags);
+   EAPI Ecore_Idle_Enterer *ecore_idle_enterer_add(int (*func) (void *data), const void *data);
+   EAPI void               *ecore_idle_enterer_del(Ecore_Idle_Enterer *idle_enterer);
+
+   EAPI Ecore_Idle_Exiter *ecore_idle_exiter_add(int (*func) (void *data), const void *data);
+   EAPI void              *ecore_idle_exiter_del(Ecore_Idle_Exiter *idle_exiter);
+
+   EAPI void              ecore_main_loop_iterate(void);
+   EAPI void              ecore_main_loop_begin(void);
+   EAPI void              ecore_main_loop_quit(void);
+   EAPI Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, int (*func) (void *data, Ecore_Fd_Handler *fd_handler), const void *data, int (*buf_func) (void *buf_data, Ecore_Fd_Handler *fd_handler), const void *buf_data);
+   EAPI void             *ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler);
+   EAPI int               ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler);
+   EAPI int               ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags);
+   EAPI void              ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags);
    
-   double ecore_time_get(void);
+   EAPI double ecore_time_get(void);
        
-   Ecore_Timer *ecore_timer_add(double in, int (*func) (void *data), const void *data);
-   void        *ecore_timer_del(Ecore_Timer *timer);
+   EAPI Ecore_Timer *ecore_timer_add(double in, int (*func) (void *data), const void *data);
+   EAPI void        *ecore_timer_del(Ecore_Timer *timer);
    
-   Ecore_Animator *ecore_animator_add(int (*func) (void *data), const void *data);
-   void           *ecore_animator_del(Ecore_Animator *animator);
-   void            ecore_animator_frametime_set(double frametime);
-   double          ecore_animator_frametime_get(void);
+   EAPI Ecore_Animator *ecore_animator_add(int (*func) (void *data), const void *data);
+   EAPI void           *ecore_animator_del(Ecore_Animator *animator);
+   EAPI void            ecore_animator_frametime_set(double frametime);
+   EAPI double          ecore_animator_frametime_get(void);
        
 #ifdef __cplusplus
 }
index 401e164..3ae8bb1 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _ECORE_CON_H
 #define _ECORE_CON_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file Ecore_Con.h
  * @brief Sockets functions.
@@ -99,24 +116,24 @@ extern "C" {
    extern int ECORE_CON_EVENT_CLIENT_DATA;
    extern int ECORE_CON_EVENT_SERVER_DATA;
    
-   int               ecore_con_init(void);
-   int               ecore_con_shutdown(void);
+   EAPI int               ecore_con_init(void);
+   EAPI int               ecore_con_shutdown(void);
    
-   Ecore_Con_Server *ecore_con_server_add(Ecore_Con_Type type, char *name, int port, const void *data);
+   EAPI Ecore_Con_Server *ecore_con_server_add(Ecore_Con_Type type, char *name, int port, const void *data);
    
-   Ecore_Con_Server *ecore_con_server_connect(Ecore_Con_Type type, char *name, int port, const void *data);
-   void             *ecore_con_server_del(Ecore_Con_Server *svr);
-   void             *ecore_con_server_data_get(Ecore_Con_Server *svr);
-   int               ecore_con_server_connected_get(Ecore_Con_Server *svr);
-   int               ecore_con_server_send(Ecore_Con_Server *svr, void *data, int size);
+   EAPI Ecore_Con_Server *ecore_con_server_connect(Ecore_Con_Type type, char *name, int port, const void *data);
+   EAPI void             *ecore_con_server_del(Ecore_Con_Server *svr);
+   EAPI void             *ecore_con_server_data_get(Ecore_Con_Server *svr);
+   EAPI int               ecore_con_server_connected_get(Ecore_Con_Server *svr);
+   EAPI int               ecore_con_server_send(Ecore_Con_Server *svr, void *data, int size);
    
-   int               ecore_con_client_send(Ecore_Con_Client *cl, void *data, int size);
-   Ecore_Con_Server *ecore_con_client_server_get(Ecore_Con_Client *cl);
-   void             *ecore_con_client_del(Ecore_Con_Client *cl);
-   void              ecore_con_client_data_set(Ecore_Con_Client *cl, const void *data);
-   void             *ecore_con_client_data_get(Ecore_Con_Client *cl);
+   EAPI int               ecore_con_client_send(Ecore_Con_Client *cl, void *data, int size);
+   EAPI Ecore_Con_Server *ecore_con_client_server_get(Ecore_Con_Client *cl);
+   EAPI void             *ecore_con_client_del(Ecore_Con_Client *cl);
+   EAPI void              ecore_con_client_data_set(Ecore_Con_Client *cl, const void *data);
+   EAPI void             *ecore_con_client_data_get(Ecore_Con_Client *cl);
    
-   int               ecore_con_ssl_available_get(void);
+   EAPI int               ecore_con_ssl_available_get(void);
 
    
 #ifdef __cplusplus
index 17bb434..ec9f5bd 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _ECORE_CONFIG_H
 # define _ECORE_CONFIG_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file 
  * @brief Provides the Enlightened Property Library.
@@ -112,92 +129,92 @@ extern              "C"
 # endif
 
 /* global ptrs to save passing them through the API */
-   extern Ecore_Config_Server *__ecore_config_server_global;
-   extern Ecore_Config_Server *__ecore_config_server_local;
-   extern Ecore_Config_Bundle *__ecore_config_bundle_local;
-   extern char        *__ecore_config_app_name;
+   extern EAPI Ecore_Config_Server *__ecore_config_server_global;
+   extern EAPI Ecore_Config_Server *__ecore_config_server_local;
+   extern EAPI Ecore_Config_Bundle *__ecore_config_bundle_local;
+   extern EAPI char        *__ecore_config_app_name;
 
-   Ecore_Config_Prop  *ecore_config_get(const char *key);
-   const char         *ecore_config_type_get(const Ecore_Config_Prop * e);
-   int                ecore_config_boolean_get(const char *key);
-   void               *ecore_config_data_get(const char *key);
-   char               *ecore_config_string_get(const char *key);
-   long                ecore_config_int_get(const char *key);
-   int                 ecore_config_rgb_get(const char *key, int *r, int *g,
+   EAPI Ecore_Config_Prop  *ecore_config_get(const char *key);
+   EAPI const char         *ecore_config_type_get(const Ecore_Config_Prop * e);
+   EAPI int                ecore_config_boolean_get(const char *key);
+   EAPI void               *ecore_config_data_get(const char *key);
+   EAPI char               *ecore_config_string_get(const char *key);
+   EAPI long                ecore_config_int_get(const char *key);
+   EAPI int                 ecore_config_rgb_get(const char *key, int *r, int *g,
                                            int *b);
-   int                 ecore_config_argb_get(const char *key, int *a, int *r,
+   EAPI int                 ecore_config_argb_get(const char *key, int *a, int *r,
                                             int *g, int *b);
-   char               *ecore_config_rgbstr_get(const char *key);
-   char               *ecore_config_argbstr_get(const char *key);
-   float               ecore_config_float_get(const char *key);
-   char               *ecore_config_theme_get(const char *key);
-   char               *ecore_config_as_string_get(const char *key);
-   int                 ecore_config_describe(const char *key, char *desc);
-   int                 ecore_config_short_opt_set(const char *key,
+   EAPI char               *ecore_config_rgbstr_get(const char *key);
+   EAPI char               *ecore_config_argbstr_get(const char *key);
+   EAPI float               ecore_config_float_get(const char *key);
+   EAPI char               *ecore_config_theme_get(const char *key);
+   EAPI char               *ecore_config_as_string_get(const char *key);
+   EAPI int                 ecore_config_describe(const char *key, char *desc);
+   EAPI int                 ecore_config_short_opt_set(const char *key,
                                                  char short_opt);
-   int                 ecore_config_long_opt_set(const char *key,
+   EAPI int                 ecore_config_long_opt_set(const char *key,
                                                 char *long_opt);
-   int                 ecore_config_set(const char *key, char *val);
-   int                 ecore_config_typed_set(const char *key, void *val,
+   EAPI int                 ecore_config_set(const char *key, char *val);
+   EAPI int                 ecore_config_typed_set(const char *key, void *val,
                                              int type);
-   int                 ecore_config_boolean_set(const char *key, int val);
-   int                 ecore_config_string_set(const char *key, char *val);
-   int                 ecore_config_int_set(const char *key, int val);
-   int                 ecore_config_rgb_set(const char *key, char *val);
-   int                 ecore_config_argb_set(const char *key, char *val);
-   int                 ecore_config_float_set(const char *key, float val);
-   int                 ecore_config_theme_set(const char *key, char *val);
-   int                 ecore_config_theme_preview_group_set(const char *key,
+   EAPI int                 ecore_config_boolean_set(const char *key, int val);
+   EAPI int                 ecore_config_string_set(const char *key, char *val);
+   EAPI int                 ecore_config_int_set(const char *key, int val);
+   EAPI int                 ecore_config_rgb_set(const char *key, char *val);
+   EAPI int                 ecore_config_argb_set(const char *key, char *val);
+   EAPI int                 ecore_config_float_set(const char *key, float val);
+   EAPI int                 ecore_config_theme_set(const char *key, char *val);
+   EAPI int                 ecore_config_theme_preview_group_set(const char *key,
                                                            char *group);
-   int                 ecore_config_as_string_set(const char *key, char *val);
+   EAPI int                 ecore_config_as_string_set(const char *key, char *val);
 
-   int                 ecore_config_default(const char *key, char *val,
+   EAPI int                 ecore_config_default(const char *key, char *val,
                                            float lo, float hi, float step);
-   int                 ecore_config_typed_default(const char *key, void *val,
+   EAPI int                 ecore_config_typed_default(const char *key, void *val,
                                                  int type);
-   int                 ecore_config_boolean_default(const char *key, int val);
-   int                 ecore_config_int_default(const char *key, int val);
-   int                 ecore_config_int_default_bound(const char *key, int val,
+   EAPI int                 ecore_config_boolean_default(const char *key, int val);
+   EAPI int                 ecore_config_int_default(const char *key, int val);
+   EAPI int                 ecore_config_int_default_bound(const char *key, int val,
                                                      int lo, int hi, int step);
-   int                 ecore_config_string_default(const char *key, char *val);
-   int                 ecore_config_float_default(const char *key, float val);
-   int                 ecore_config_float_default_bound(const char *key,
+   EAPI int                 ecore_config_string_default(const char *key, char *val);
+   EAPI int                 ecore_config_float_default(const char *key, float val);
+   EAPI int                 ecore_config_float_default_bound(const char *key,
                                                        float val, float lo,
                                                        float hi, float step);
-   int                 ecore_config_rgb_default(const char *key, char *val);
-   int                 ecore_config_argb_default(const char *keym, char *val);
-   int                 ecore_config_theme_default(const char *key, char *val);
+   EAPI int                 ecore_config_rgb_default(const char *key, char *val);
+   EAPI int                 ecore_config_argb_default(const char *keym, char *val);
+   EAPI int                 ecore_config_theme_default(const char *key, char *val);
 
-   int                 ecore_config_listen(const char *name, const char *key,
+   EAPI int                 ecore_config_listen(const char *name, const char *key,
                                           Ecore_Config_Listener listener,
                                           int tag, void *data);
-   int                 ecore_config_deaf(const char *name, const char *key,
+   EAPI int                 ecore_config_deaf(const char *name, const char *key,
                                         Ecore_Config_Listener listener);
-   Ecore_Config_Prop  *ecore_config_dst(Ecore_Config_Prop * e);
-   int                 ecore_config_type_guess(const char *key, char *val);
+   EAPI Ecore_Config_Prop  *ecore_config_dst(Ecore_Config_Prop * e);
+   EAPI int                 ecore_config_type_guess(const char *key, char *val);
 
-   Ecore_Config_Bundle *ecore_config_bundle_new(Ecore_Config_Server * srv,
+   EAPI Ecore_Config_Bundle *ecore_config_bundle_new(Ecore_Config_Server * srv,
                                                const char *id);
-   Ecore_Config_Bundle *ecore_config_bundle_1st_get(Ecore_Config_Server * srv);
-   Ecore_Config_Bundle *ecore_config_bundle_next_get(Ecore_Config_Bundle * ns);
-   Ecore_Config_Bundle *ecore_config_bundle_by_serial_get(Ecore_Config_Server *
+   EAPI Ecore_Config_Bundle *ecore_config_bundle_1st_get(Ecore_Config_Server * srv);
+   EAPI Ecore_Config_Bundle *ecore_config_bundle_next_get(Ecore_Config_Bundle * ns);
+   EAPI Ecore_Config_Bundle *ecore_config_bundle_by_serial_get(Ecore_Config_Server *
                                                          srv, long serial);
-   Ecore_Config_Bundle *ecore_config_bundle_by_label_get(Ecore_Config_Server *
+   EAPI Ecore_Config_Bundle *ecore_config_bundle_by_label_get(Ecore_Config_Server *
                                                         srv,
                                                         const char *label);
-   long                ecore_config_bundle_serial_get(Ecore_Config_Bundle * ns);
-   char               *ecore_config_bundle_label_get(Ecore_Config_Bundle * ns);
+   EAPI long                ecore_config_bundle_serial_get(Ecore_Config_Bundle * ns);
+   EAPI char               *ecore_config_bundle_label_get(Ecore_Config_Bundle * ns);
 
-   int                 ecore_config_init(char *name);
-   int                 ecore_config_shutdown(void);
+   EAPI int                 ecore_config_init(char *name);
+   EAPI int                 ecore_config_shutdown(void);
 
-   int                 ecore_config_system_init(void);
-   int                 ecore_config_system_shutdown(void);
+   EAPI int                 ecore_config_system_init(void);
+   EAPI int                 ecore_config_system_shutdown(void);
 
-   int                 ecore_config_load(void);
-   int                 ecore_config_file_load(char *file);
-   int                 ecore_config_save(void);
-   int                 ecore_config_file_save(char *file);
+   EAPI int                 ecore_config_load(void);
+   EAPI int                 ecore_config_file_load(char *file);
+   EAPI int                 ecore_config_save(void);
+   EAPI int                 ecore_config_file_save(char *file);
 
 /* error codes */
 # define ECORE_CONFIG_ERR_NOTSUPP     (-16)
@@ -224,51 +241,51 @@ extern              "C"
 
 /* convenience mathods in convenience.c */
    /* FIXME: this should only be included if evas is present */
-   int                 ecore_config_evas_font_path_apply(Evas * evas);
-   char               *ecore_config_theme_search_path_get(void);
-   char               *ecore_config_theme_default_path_get(void);
-   char               *ecore_config_theme_with_path_from_name_get(char *name);
-   char               *ecore_config_theme_with_path_get(const char *key);
-   void                ecore_config_args_display(void);
-   int                 ecore_config_args_parse(void);
-   void                ecore_config_app_describe(char *description);
+   EAPI int                 ecore_config_evas_font_path_apply(Evas * evas);
+   EAPI char               *ecore_config_theme_search_path_get(void);
+   EAPI char               *ecore_config_theme_default_path_get(void);
+   EAPI char               *ecore_config_theme_with_path_from_name_get(char *name);
+   EAPI char               *ecore_config_theme_with_path_get(const char *key);
+   EAPI void                ecore_config_args_display(void);
+   EAPI int                 ecore_config_args_parse(void);
+   EAPI void                ecore_config_app_describe(char *description);
 
-   int                 ecore_config_create(const char *key, void *val,
+   EAPI int                 ecore_config_create(const char *key, void *val,
                                           char short_opt, char *long_opt,
                                           char *desc);
-   int                 ecore_config_typed_create(const char *key, void *val,
+   EAPI int                 ecore_config_typed_create(const char *key, void *val,
                                                 int type, char short_opt,
                                                 char *long_opt, char *desc);
-   int                 ecore_config_boolean_create(const char *key, int val,
+   EAPI int                 ecore_config_boolean_create(const char *key, int val,
                       char short_opt, char *long_opt,
                       char *desc);
-   int                 ecore_config_int_create(const char *key, int val,
+   EAPI int                 ecore_config_int_create(const char *key, int val,
                                               char short_opt, char *long_opt,
                                               char *desc);
-   int                 ecore_config_int_create_bound(const char *key, int val,
+   EAPI int                 ecore_config_int_create_bound(const char *key, int val,
                                                     int low, int high,
                                                     int step, char short_opt,
                                                     char *long_opt,
                                                     char *desc);
-   int                 ecore_config_string_create(const char *key, char *val,
+   EAPI int                 ecore_config_string_create(const char *key, char *val,
                                                  char short_opt,
                                                  char *long_opt, char *desc);
-   int                 ecore_config_float_create(const char *key, float val,
+   EAPI int                 ecore_config_float_create(const char *key, float val,
                                                 char short_opt, char *long_opt,
                                                 char *desc);
-   int                 ecore_config_float_create_bound(const char *key,
+   EAPI int                 ecore_config_float_create_bound(const char *key,
                                                       float val, float low,
                                                       float high, float step,
                                                       char short_opt,
                                                       char *long_opt,
                                                       char *desc);
-   int                 ecore_config_rgb_create(const char *key, char *val,
+   EAPI int                 ecore_config_rgb_create(const char *key, char *val,
                                               char short_opt, char *long_opt,
                                               char *desc);
-   int                 ecore_config_argb_create(const char *key, char *val,
+   EAPI int                 ecore_config_argb_create(const char *key, char *val,
                                                char short_opt, char *long_opt,
                                                char *desc);
-   int                 ecore_config_theme_create(const char *key, char *val,
+   EAPI int                 ecore_config_theme_create(const char *key, char *val,
                                                 char short_opt, char *long_opt,
                                                 char *desc);
 
index a20de6a..6f24d42 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _ECORE_EVAS_H
 #define _ECORE_EVAS_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file Ecore_Evas.h
  * @brief Evas wrapper functions
@@ -50,90 +67,90 @@ typedef void Ecore_Evas;
 
 /* module setup/shutdown calls */
 
-int         ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine);
+EAPI int         ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine);
        
-int         ecore_evas_init(void);
-int         ecore_evas_shutdown(void);
+EAPI int         ecore_evas_init(void);
+EAPI int         ecore_evas_shutdown(void);
 
 /* engine/target specific init calls */
-Ecore_Evas     *ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
-Ecore_X_Window  ecore_evas_software_x11_window_get(Ecore_Evas *ee);
-Ecore_X_Window  ecore_evas_software_x11_subwindow_get(Ecore_Evas *ee);
-void            ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on);
-int             ecore_evas_software_x11_direct_resize_get(Ecore_Evas *ee);
+EAPI Ecore_Evas     *ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
+EAPI Ecore_X_Window  ecore_evas_software_x11_window_get(Ecore_Evas *ee);
+EAPI Ecore_X_Window  ecore_evas_software_x11_subwindow_get(Ecore_Evas *ee);
+EAPI void            ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on);
+EAPI int             ecore_evas_software_x11_direct_resize_get(Ecore_Evas *ee);
    
-Ecore_Evas     *ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
-Ecore_X_Window  ecore_evas_gl_x11_window_get(Ecore_Evas *ee);
-Ecore_X_Window  ecore_evas_gl_x11_subwindow_get(Ecore_Evas *ee);
-void            ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on);
-int             ecore_evas_gl_x11_direct_resize_get(Ecore_Evas *ee);
+EAPI Ecore_Evas     *ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
+EAPI Ecore_X_Window  ecore_evas_gl_x11_window_get(Ecore_Evas *ee);
+EAPI Ecore_X_Window  ecore_evas_gl_x11_subwindow_get(Ecore_Evas *ee);
+EAPI void            ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on);
+EAPI int             ecore_evas_gl_x11_direct_resize_get(Ecore_Evas *ee);
 
-Ecore_Evas     *ecore_evas_fb_new(char *disp_name, int rotation, int w, int h);
+EAPI Ecore_Evas     *ecore_evas_fb_new(char *disp_name, int rotation, int w, int h);
 
 /* generic manipulation calls */
-void        ecore_evas_free(Ecore_Evas *ee);
-void       *ecore_evas_data_get(Ecore_Evas *ee, const char *key);
-void        ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data);
-void        ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-void        ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
-Evas       *ecore_evas_get(Ecore_Evas *ee);
-void        ecore_evas_move(Ecore_Evas *ee, int x, int y);
-void        ecore_evas_resize(Ecore_Evas *ee, int w, int h);
-void        ecore_evas_move_resize(Ecore_Evas *ee, int x, int y, int w, int h);
-void        ecore_evas_geometry_get(Ecore_Evas *ee, int *x, int *y, int *w, int *h);
-void        ecore_evas_rotation_set(Ecore_Evas *ee, int rot);
-int         ecore_evas_rotation_get(Ecore_Evas *ee);
-void        ecore_evas_shaped_set(Ecore_Evas *ee, int shaped);
-int         ecore_evas_shaped_get(Ecore_Evas *ee);
-void        ecore_evas_show(Ecore_Evas *ee);
-void        ecore_evas_hide(Ecore_Evas *ee);   
-int         ecore_evas_visibility_get(Ecore_Evas *ee);
-void        ecore_evas_raise(Ecore_Evas *ee);
-void        ecore_evas_lower(Ecore_Evas *ee);       
-void        ecore_evas_title_set(Ecore_Evas *ee, const char *t);
-const char *ecore_evas_title_get(Ecore_Evas *ee);
-void        ecore_evas_name_class_set(Ecore_Evas *ee, const char *n, const char *c);
-void        ecore_evas_name_class_get(Ecore_Evas *ee, const char **n, const char **c);
-void        ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h);
-void        ecore_evas_size_min_get(Ecore_Evas *ee, int *w, int *h);
-void        ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h);
-void        ecore_evas_size_max_get(Ecore_Evas *ee, int *w, int *h);
-void        ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h);
-void        ecore_evas_size_base_get(Ecore_Evas *ee, int *w, int *h);
-void        ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h);
-void        ecore_evas_size_step_get(Ecore_Evas *ee, int *w, int *h);
-void        ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y);
-void        ecore_evas_cursor_get(Ecore_Evas *ee, char **file, int *layer, int *hot_x, int *hot_y);
-void        ecore_evas_layer_set(Ecore_Evas *ee, int layer);
-int         ecore_evas_layer_get(Ecore_Evas *ee);
-void        ecore_evas_focus_set(Ecore_Evas *ee, int on);
-int         ecore_evas_focus_get(Ecore_Evas *ee);
-void        ecore_evas_iconified_set(Ecore_Evas *ee, int on);
-int         ecore_evas_iconified_get(Ecore_Evas *ee);
-void        ecore_evas_borderless_set(Ecore_Evas *ee, int on);
-int         ecore_evas_borderless_get(Ecore_Evas *ee);
-void        ecore_evas_override_set(Ecore_Evas *ee, int on);
-int         ecore_evas_override_get(Ecore_Evas *ee);
-void        ecore_evas_maximized_set(Ecore_Evas *ee, int on);
-int         ecore_evas_maximized_get(Ecore_Evas *ee);
-void        ecore_evas_fullscreen_set(Ecore_Evas *ee, int on);
-int         ecore_evas_fullscreen_get(Ecore_Evas *ee);
-void        ecore_evas_avoid_damage_set(Ecore_Evas *ee, int on);
-int         ecore_evas_avoid_damage_get(Ecore_Evas *ee);
-void        ecore_evas_withdrawn_set(Ecore_Evas *ee, int withdrawn);
-int         ecore_evas_withdrawn_get(Ecore_Evas *ee);
-void        ecore_evas_sticky_set(Ecore_Evas *ee, int sticky);
-int         ecore_evas_sticky_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_free(Ecore_Evas *ee);
+EAPI void       *ecore_evas_data_get(Ecore_Evas *ee, const char *key);
+EAPI void        ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data);
+EAPI void        ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI void        ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
+EAPI Evas       *ecore_evas_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_move(Ecore_Evas *ee, int x, int y);
+EAPI void        ecore_evas_resize(Ecore_Evas *ee, int w, int h);
+EAPI void        ecore_evas_move_resize(Ecore_Evas *ee, int x, int y, int w, int h);
+EAPI void        ecore_evas_geometry_get(Ecore_Evas *ee, int *x, int *y, int *w, int *h);
+EAPI void        ecore_evas_rotation_set(Ecore_Evas *ee, int rot);
+EAPI int         ecore_evas_rotation_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_shaped_set(Ecore_Evas *ee, int shaped);
+EAPI int         ecore_evas_shaped_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_show(Ecore_Evas *ee);
+EAPI void        ecore_evas_hide(Ecore_Evas *ee);   
+EAPI int         ecore_evas_visibility_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_raise(Ecore_Evas *ee);
+EAPI void        ecore_evas_lower(Ecore_Evas *ee);       
+EAPI void        ecore_evas_title_set(Ecore_Evas *ee, const char *t);
+EAPI const char *ecore_evas_title_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_name_class_set(Ecore_Evas *ee, const char *n, const char *c);
+EAPI void        ecore_evas_name_class_get(Ecore_Evas *ee, const char **n, const char **c);
+EAPI void        ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h);
+EAPI void        ecore_evas_size_min_get(Ecore_Evas *ee, int *w, int *h);
+EAPI void        ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h);
+EAPI void        ecore_evas_size_max_get(Ecore_Evas *ee, int *w, int *h);
+EAPI void        ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h);
+EAPI void        ecore_evas_size_base_get(Ecore_Evas *ee, int *w, int *h);
+EAPI void        ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h);
+EAPI void        ecore_evas_size_step_get(Ecore_Evas *ee, int *w, int *h);
+EAPI void        ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y);
+EAPI void        ecore_evas_cursor_get(Ecore_Evas *ee, char **file, int *layer, int *hot_x, int *hot_y);
+EAPI void        ecore_evas_layer_set(Ecore_Evas *ee, int layer);
+EAPI int         ecore_evas_layer_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_focus_set(Ecore_Evas *ee, int on);
+EAPI int         ecore_evas_focus_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_iconified_set(Ecore_Evas *ee, int on);
+EAPI int         ecore_evas_iconified_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_borderless_set(Ecore_Evas *ee, int on);
+EAPI int         ecore_evas_borderless_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_override_set(Ecore_Evas *ee, int on);
+EAPI int         ecore_evas_override_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_maximized_set(Ecore_Evas *ee, int on);
+EAPI int         ecore_evas_maximized_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_fullscreen_set(Ecore_Evas *ee, int on);
+EAPI int         ecore_evas_fullscreen_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_avoid_damage_set(Ecore_Evas *ee, int on);
+EAPI int         ecore_evas_avoid_damage_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_withdrawn_set(Ecore_Evas *ee, int withdrawn);
+EAPI int         ecore_evas_withdrawn_get(Ecore_Evas *ee);
+EAPI void        ecore_evas_sticky_set(Ecore_Evas *ee, int sticky);
+EAPI int         ecore_evas_sticky_get(Ecore_Evas *ee);
 
 #ifdef __cplusplus
 }
index 0296c17..9f2b907 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _ECORE_FB_H
 #define _ECORE_FB_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file
  * @brief Ecore frame buffer system functions.
@@ -60,33 +77,33 @@ struct _Ecore_Fb_Event_Mouse_Move /** FB Mouse Move event */
    int     y; /**< Mouse co-ordinates where the mouse cursor moved to */
 };
 
-int    ecore_fb_init(const char *name);
-int    ecore_fb_shutdown(void);
+EAPI int    ecore_fb_init(const char *name);
+EAPI int    ecore_fb_shutdown(void);
    
-void   ecore_fb_double_click_time_set(double t);
-double ecore_fb_double_click_time_get(void);
+EAPI void   ecore_fb_double_click_time_set(double t);
+EAPI double ecore_fb_double_click_time_get(void);
 
-void   ecore_fb_size_get(int *w, int *h);   
+EAPI void   ecore_fb_size_get(int *w, int *h);   
    
-void   ecore_fb_touch_screen_calibrate_set(int xscale, int xtrans, int yscale, int ytrans, int xyswap);
-void   ecore_fb_touch_screen_calibrate_get(int *xscale, int *xtrans, int *yscale, int *ytrans, int *xyswap);
+EAPI void   ecore_fb_touch_screen_calibrate_set(int xscale, int xtrans, int yscale, int ytrans, int xyswap);
+EAPI void   ecore_fb_touch_screen_calibrate_get(int *xscale, int *xtrans, int *yscale, int *ytrans, int *xyswap);
 
-void   ecore_fb_backlight_set(int on);
-int    ecore_fb_backlight_get(void);
+EAPI void   ecore_fb_backlight_set(int on);
+EAPI int    ecore_fb_backlight_get(void);
 
-void   ecore_fb_backlight_brightness_set(double br);
-double ecore_fb_backlight_brightness_get(void);
+EAPI void   ecore_fb_backlight_brightness_set(double br);
+EAPI double ecore_fb_backlight_brightness_get(void);
 
-void   ecore_fb_led_set(int on);
-void   ecore_fb_led_blink_set(double speed);
+EAPI void   ecore_fb_led_set(int on);
+EAPI void   ecore_fb_led_blink_set(double speed);
 
-void   ecore_fb_contrast_set(double cr);
-double ecore_fb_contrast_get(void);
+EAPI void   ecore_fb_contrast_set(double cr);
+EAPI double ecore_fb_contrast_get(void);
 
-double ecore_fb_light_sensor_get(void);
+EAPI double ecore_fb_light_sensor_get(void);
 
-void ecore_fb_callback_gain_set(void (*func) (void *data), void *data);
-void ecore_fb_callback_lose_set(void (*func) (void *data), void *data);
+EAPI void ecore_fb_callback_gain_set(void (*func) (void *data), void *data);
+EAPI void ecore_fb_callback_lose_set(void (*func) (void *data), void *data);
        
 #ifdef __cplusplus
 }
index 407c6a3..ecb9c1c 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _ECORE_IPC_H
 #define _ECORE_IPC_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file Ecore_Ipc.h
  * @brief Ecore inter-process communication functions.
@@ -83,29 +100,31 @@ extern "C" {
    extern int ECORE_IPC_EVENT_CLIENT_DATA;
    extern int ECORE_IPC_EVENT_SERVER_DATA;
    
-   int               ecore_ipc_init(void);
-   int               ecore_ipc_shutdown(void);
+   EAPI int               ecore_ipc_init(void);
+   EAPI int               ecore_ipc_shutdown(void);
    
    /* FIXME: need to add protocol type parameter */
-   Ecore_Ipc_Server *ecore_ipc_server_add(Ecore_Ipc_Type type, char *name, int port, const void *data);
+   EAPI Ecore_Ipc_Server *ecore_ipc_server_add(Ecore_Ipc_Type type, char *name, int port, const void *data);
    
    /* FIXME: need to add protocol type parameter */
-   Ecore_Ipc_Server *ecore_ipc_server_connect(Ecore_Ipc_Type type, char *name, int port, const void *data);
-   void             *ecore_ipc_server_del(Ecore_Ipc_Server *svr);
-   void             *ecore_ipc_server_data_get(Ecore_Ipc_Server *svr);
-   int               ecore_ipc_server_connected_get(Ecore_Ipc_Server *svr);
+   EAPI Ecore_Ipc_Server *ecore_ipc_server_connect(Ecore_Ipc_Type type, char *name, int port, const void *data);
+   EAPI void             *ecore_ipc_server_del(Ecore_Ipc_Server *svr);
+   EAPI void             *ecore_ipc_server_data_get(Ecore_Ipc_Server *svr);
+   EAPI int               ecore_ipc_server_connected_get(Ecore_Ipc_Server *svr);
    /* FIXME: this needs to become an ipc message */
-   int               ecore_ipc_server_send(Ecore_Ipc_Server *svr, int major, int minor, int ref, int ref_to, int response, void *data, int size);
+   EAPI int               ecore_ipc_server_send(Ecore_Ipc_Server *svr, int major, int minor, int ref, int ref_to, int response, void *data, int size);
 
    /* FIXME: this needs to become an ipc message */
-   int               ecore_ipc_client_send(Ecore_Ipc_Client *cl, int major, int minor, int ref, int ref_to, int response, void *data, int size);
-   Ecore_Ipc_Server *ecore_ipc_client_server_get(Ecore_Ipc_Client *cl);
-   void             *ecore_ipc_client_del(Ecore_Ipc_Client *cl);
-   void              ecore_ipc_client_data_set(Ecore_Ipc_Client *cl, const void *data);
-   void             *ecore_ipc_client_data_get(Ecore_Ipc_Client *cl);
+   EAPI int               ecore_ipc_client_send(Ecore_Ipc_Client *cl, int major, int minor, int ref, int ref_to, int response, void *data, int size);
+   EAPI Ecore_Ipc_Server *ecore_ipc_client_server_get(Ecore_Ipc_Client *cl);
+   EAPI void             *ecore_ipc_client_del(Ecore_Ipc_Client *cl);
+   EAPI void              ecore_ipc_client_data_set(Ecore_Ipc_Client *cl, const void *data);
+   EAPI void             *ecore_ipc_client_data_get(Ecore_Ipc_Client *cl);
+   
+   EAPI int               ecore_ipc_ssl_available_get(void);
+   /* FIXME: need to add a callback to "ok" large ipc messages greater than */
+   /*        a certain size (seurity/DOS attack safety) */
    
-   int               ecore_ipc_ssl_available_get(void);
-       
 #ifdef __cplusplus
 }
 #endif
index 2eefac4..e676ede 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _ECORE_JOB_H
 #define _ECORE_JOB_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file
  * @brief Functions for dealing with Ecore jobs.
@@ -14,8 +31,8 @@ extern "C" {
 typedef void Ecore_Job; /**< A job handle */
 #endif
 
-Ecore_Job *ecore_job_add(void (*func) (void *data), const void *data);    
-void      *ecore_job_del(Ecore_Job *job);
+EAPI Ecore_Job *ecore_job_add(void (*func) (void *data), const void *data);    
+EAPI void      *ecore_job_del(Ecore_Job *job);
 
 #ifdef __cplusplus
 }
index bce6df3..ffdf53f 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _ECORE_TXT_H
 #define _ECORE_TXT_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file Ecore_Txt.h
  * @brief Provides a text encoding conversion function.
@@ -10,7 +27,7 @@
 extern "C" {
 #endif
 
-char *ecore_txt_convert(char *enc_from, char *enc_to, char *text);
+EAPI char *ecore_txt_convert(char *enc_from, char *enc_to, char *text);
 
 #ifdef __cplusplus
 }
index 4d86a4d..2d14b14 100644 (file)
@@ -5,6 +5,23 @@
 #ifndef _ECORE_X_H
 #define _ECORE_X_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /**
  * @file
  * @brief Ecore functions for dealing with the X Windows System
@@ -49,11 +66,11 @@ typedef struct _Ecore_X_Rectangle {
 
 #define ECORE_X_CURRENT_TIME 0
    
-extern Ecore_X_Atom ECORE_X_DND_ACTION_COPY;
-extern Ecore_X_Atom ECORE_X_DND_ACTION_MOVE;
-extern Ecore_X_Atom ECORE_X_DND_ACTION_LINK;
-extern Ecore_X_Atom ECORE_X_DND_ACTION_ASK;
-extern Ecore_X_Atom ECORE_X_DND_ACTION_PRIVATE;
+extern EAPI Ecore_X_Atom ECORE_X_DND_ACTION_COPY;
+extern EAPI Ecore_X_Atom ECORE_X_DND_ACTION_MOVE;
+extern EAPI Ecore_X_Atom ECORE_X_DND_ACTION_LINK;
+extern EAPI Ecore_X_Atom ECORE_X_DND_ACTION_ASK;
+extern EAPI Ecore_X_Atom ECORE_X_DND_ACTION_PRIVATE;
 
 typedef enum _Ecore_X_Selection {
    ECORE_X_SELECTION_PRIMARY,
@@ -562,65 +579,65 @@ struct _Ecore_X_Event_Window_Prop_Desktop_Change
    Ecore_X_Time    time;
 };
 
-extern int ECORE_X_EVENT_KEY_DOWN;
-extern int ECORE_X_EVENT_KEY_UP;
-extern int ECORE_X_EVENT_MOUSE_BUTTON_DOWN;
-extern int ECORE_X_EVENT_MOUSE_BUTTON_UP;
-extern int ECORE_X_EVENT_MOUSE_MOVE;
-extern int ECORE_X_EVENT_MOUSE_IN;
-extern int ECORE_X_EVENT_MOUSE_OUT;
-extern int ECORE_X_EVENT_MOUSE_WHEEL;
-extern int ECORE_X_EVENT_WINDOW_FOCUS_IN;
-extern int ECORE_X_EVENT_WINDOW_FOCUS_OUT;
-extern int ECORE_X_EVENT_WINDOW_KEYMAP;
-extern int ECORE_X_EVENT_WINDOW_DAMAGE;
-extern int ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE;
-extern int ECORE_X_EVENT_WINDOW_CREATE;
-extern int ECORE_X_EVENT_WINDOW_DESTROY;
-extern int ECORE_X_EVENT_WINDOW_HIDE;
-extern int ECORE_X_EVENT_WINDOW_SHOW;
-extern int ECORE_X_EVENT_WINDOW_SHOW_REQUEST;
-extern int ECORE_X_EVENT_WINDOW_REPARENT;
-extern int ECORE_X_EVENT_WINDOW_CONFIGURE;
-extern int ECORE_X_EVENT_WINDOW_CONFIGURE_REQUEST;
-extern int ECORE_X_EVENT_WINDOW_GRAVITY;
-extern int ECORE_X_EVENT_WINDOW_RESIZE_REQUEST;
-extern int ECORE_X_EVENT_WINDOW_STACK;
-extern int ECORE_X_EVENT_WINDOW_STACK_REQUEST;
-extern int ECORE_X_EVENT_WINDOW_PROPERTY;
-extern int ECORE_X_EVENT_WINDOW_COLORMAP;
-extern int ECORE_X_EVENT_WINDOW_MAPPING;
-extern int ECORE_X_EVENT_SELECTION_CLEAR;
-extern int ECORE_X_EVENT_SELECTION_REQUEST;
-extern int ECORE_X_EVENT_SELECTION_NOTIFY;
-extern int ECORE_X_EVENT_CLIENT_MESSAGE;
-extern int ECORE_X_EVENT_WINDOW_SHAPE;
-
-extern int ECORE_X_EVENT_WINDOW_DELETE_REQUEST;
-extern int ECORE_X_EVENT_WINDOW_PROP_TITLE_CHANGE;
-extern int ECORE_X_EVENT_WINDOW_PROP_VISIBLE_TITLE_CHANGE;
-extern int ECORE_X_EVENT_WINDOW_PROP_ICON_NAME_CHANGE;
-extern int ECORE_X_EVENT_WINDOW_PROP_VISIBLE_ICON_NAME_CHANGE;
-extern int ECORE_X_EVENT_WINDOW_PROP_CLIENT_MACHINE_CHANGE;
-extern int ECORE_X_EVENT_WINDOW_PROP_NAME_CLASS_CHANGE;
-extern int ECORE_X_EVENT_WINDOW_PROP_PID_CHANGE;
-extern int ECORE_X_EVENT_WINDOW_PROP_DESKTOP_CHANGE;
-
-extern int ECORE_X_EVENT_XDND_ENTER;
-extern int ECORE_X_EVENT_XDND_POSITION;
-extern int ECORE_X_EVENT_XDND_STATUS;
-extern int ECORE_X_EVENT_XDND_LEAVE;
-extern int ECORE_X_EVENT_XDND_DROP;
-extern int ECORE_X_EVENT_XDND_FINISHED;
+extern EAPI int ECORE_X_EVENT_KEY_DOWN;
+extern EAPI int ECORE_X_EVENT_KEY_UP;
+extern EAPI int ECORE_X_EVENT_MOUSE_BUTTON_DOWN;
+extern EAPI int ECORE_X_EVENT_MOUSE_BUTTON_UP;
+extern EAPI int ECORE_X_EVENT_MOUSE_MOVE;
+extern EAPI int ECORE_X_EVENT_MOUSE_IN;
+extern EAPI int ECORE_X_EVENT_MOUSE_OUT;
+extern EAPI int ECORE_X_EVENT_MOUSE_WHEEL;
+extern EAPI int ECORE_X_EVENT_WINDOW_FOCUS_IN;
+extern EAPI int ECORE_X_EVENT_WINDOW_FOCUS_OUT;
+extern EAPI int ECORE_X_EVENT_WINDOW_KEYMAP;
+extern EAPI int ECORE_X_EVENT_WINDOW_DAMAGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_CREATE;
+extern EAPI int ECORE_X_EVENT_WINDOW_DESTROY;
+extern EAPI int ECORE_X_EVENT_WINDOW_HIDE;
+extern EAPI int ECORE_X_EVENT_WINDOW_SHOW;
+extern EAPI int ECORE_X_EVENT_WINDOW_SHOW_REQUEST;
+extern EAPI int ECORE_X_EVENT_WINDOW_REPARENT;
+extern EAPI int ECORE_X_EVENT_WINDOW_CONFIGURE;
+extern EAPI int ECORE_X_EVENT_WINDOW_CONFIGURE_REQUEST;
+extern EAPI int ECORE_X_EVENT_WINDOW_GRAVITY;
+extern EAPI int ECORE_X_EVENT_WINDOW_RESIZE_REQUEST;
+extern EAPI int ECORE_X_EVENT_WINDOW_STACK;
+extern EAPI int ECORE_X_EVENT_WINDOW_STACK_REQUEST;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROPERTY;
+extern EAPI int ECORE_X_EVENT_WINDOW_COLORMAP;
+extern EAPI int ECORE_X_EVENT_WINDOW_MAPPING;
+extern EAPI int ECORE_X_EVENT_SELECTION_CLEAR;
+extern EAPI int ECORE_X_EVENT_SELECTION_REQUEST;
+extern EAPI int ECORE_X_EVENT_SELECTION_NOTIFY;
+extern EAPI int ECORE_X_EVENT_CLIENT_MESSAGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_SHAPE;
+
+extern EAPI int ECORE_X_EVENT_WINDOW_DELETE_REQUEST;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROP_TITLE_CHANGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROP_VISIBLE_TITLE_CHANGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROP_ICON_NAME_CHANGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROP_VISIBLE_ICON_NAME_CHANGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROP_CLIENT_MACHINE_CHANGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROP_NAME_CLASS_CHANGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROP_PID_CHANGE;
+extern EAPI int ECORE_X_EVENT_WINDOW_PROP_DESKTOP_CHANGE;
+
+extern EAPI int ECORE_X_EVENT_XDND_ENTER;
+extern EAPI int ECORE_X_EVENT_XDND_POSITION;
+extern EAPI int ECORE_X_EVENT_XDND_STATUS;
+extern EAPI int ECORE_X_EVENT_XDND_LEAVE;
+extern EAPI int ECORE_X_EVENT_XDND_DROP;
+extern EAPI int ECORE_X_EVENT_XDND_FINISHED;
    
-extern int ECORE_X_MODIFIER_SHIFT;
-extern int ECORE_X_MODIFIER_CTRL;
-extern int ECORE_X_MODIFIER_ALT;
-extern int ECORE_X_MODIFIER_WIN;
+extern EAPI int ECORE_X_MODIFIER_SHIFT;
+extern EAPI int ECORE_X_MODIFIER_CTRL;
+extern EAPI int ECORE_X_MODIFIER_ALT;
+extern EAPI int ECORE_X_MODIFIER_WIN;
 
-extern int ECORE_X_LOCK_SCROLL;
-extern int ECORE_X_LOCK_NUM;
-extern int ECORE_X_LOCK_CAPS;
+extern EAPI int ECORE_X_LOCK_SCROLL;
+extern EAPI int ECORE_X_LOCK_NUM;
+extern EAPI int ECORE_X_LOCK_CAPS;
 
 #ifndef _ECORE_X_PRIVATE_H
 typedef enum _Ecore_X_WM_Protocol {
@@ -744,198 +761,198 @@ typedef enum _Ecore_X_Window_Stack_Mode {
 #define ECORE_X_WINDOW_LAYER_NORMAL 4
 #define ECORE_X_WINDOW_LAYER_ABOVE 6
 
-int              ecore_x_init(const char *name);
-int              ecore_x_shutdown(void);       
-int              ecore_x_disconnect(void);       
-Ecore_X_Display *ecore_x_display_get(void);
-int              ecore_x_fd_get(void);
-void             ecore_x_double_click_time_set(double t);
-double           ecore_x_double_click_time_get(void);
-void             ecore_x_flush(void);
-void             ecore_x_sync(void);
-void             ecore_x_killall(Ecore_X_Window root);
+EAPI int              ecore_x_init(const char *name);
+EAPI int              ecore_x_shutdown(void);       
+EAPI int              ecore_x_disconnect(void);       
+EAPI Ecore_X_Display *ecore_x_display_get(void);
+EAPI int              ecore_x_fd_get(void);
+EAPI void             ecore_x_double_click_time_set(double t);
+EAPI double           ecore_x_double_click_time_get(void);
+EAPI void             ecore_x_flush(void);
+EAPI void             ecore_x_sync(void);
+EAPI void             ecore_x_killall(Ecore_X_Window root);
        
-void             ecore_x_error_handler_set(void (*func) (void *data), const void *data);
-void             ecore_x_io_error_handler_set(void (*func) (void *data), const void *data);
-int              ecore_x_error_request_get(void);
-int              ecore_x_error_code_get(void);
-
-void             ecore_x_event_mask_set(Ecore_X_Window w, Ecore_X_Event_Mask mask);
-void             ecore_x_event_mask_unset(Ecore_X_Window w, Ecore_X_Event_Mask mask);
-
-int              ecore_x_selection_primary_set(Ecore_X_Window w, unsigned char *data, int size);
-int              ecore_x_selection_primary_clear(void);
-int              ecore_x_selection_secondary_set(Ecore_X_Window w, unsigned char *data, int size);
-int              ecore_x_selection_secondary_clear(void);
-int              ecore_x_selection_clipboard_set(Ecore_X_Window w, unsigned char *data, int size);
-int              ecore_x_selection_clipboard_clear(void);
-void             ecore_x_selection_primary_request(Ecore_X_Window w, char *target);
-void             ecore_x_selection_secondary_request(Ecore_X_Window w, char *target);
-void             ecore_x_selection_clipboard_request(Ecore_X_Window w, char *target);
-void             ecore_x_selection_primary_request_data_get(void **buf, int *len);
-void             ecore_x_selection_secondary_request_data_get(void **buf, int *len);
-void             ecore_x_selection_clipboard_request_data_get(void **buf, int *len);
-void             ecore_x_selection_converter_add(char *target, int (*func)(char *target, void *data, int size, void **data_ret, int *size_ret));
-void             ecore_x_selection_converter_atom_add(Ecore_X_Atom target, int (*func)(char *target, void *data, int size, void **data_ret, int *size_ret));
-void             ecore_x_selection_converter_del(char *target);
-void             ecore_x_selection_converter_atom_del(Ecore_X_Atom target);
-
-void             ecore_x_dnd_aware_set(Ecore_X_Window win, int on);
-int              ecore_x_dnd_version_get(Ecore_X_Window win);
-int              ecore_x_dnd_begin (Ecore_X_Window source, unsigned char *data, int size);
+EAPI void             ecore_x_error_handler_set(void (*func) (void *data), const void *data);
+EAPI void             ecore_x_io_error_handler_set(void (*func) (void *data), const void *data);
+EAPI int              ecore_x_error_request_get(void);
+EAPI int              ecore_x_error_code_get(void);
+
+EAPI void             ecore_x_event_mask_set(Ecore_X_Window w, Ecore_X_Event_Mask mask);
+EAPI void             ecore_x_event_mask_unset(Ecore_X_Window w, Ecore_X_Event_Mask mask);
+
+EAPI int              ecore_x_selection_primary_set(Ecore_X_Window w, unsigned char *data, int size);
+EAPI int              ecore_x_selection_primary_clear(void);
+EAPI int              ecore_x_selection_secondary_set(Ecore_X_Window w, unsigned char *data, int size);
+EAPI int              ecore_x_selection_secondary_clear(void);
+EAPI int              ecore_x_selection_clipboard_set(Ecore_X_Window w, unsigned char *data, int size);
+EAPI int              ecore_x_selection_clipboard_clear(void);
+EAPI void             ecore_x_selection_primary_request(Ecore_X_Window w, char *target);
+EAPI void             ecore_x_selection_secondary_request(Ecore_X_Window w, char *target);
+EAPI void             ecore_x_selection_clipboard_request(Ecore_X_Window w, char *target);
+EAPI void             ecore_x_selection_primary_request_data_get(void **buf, int *len);
+EAPI void             ecore_x_selection_secondary_request_data_get(void **buf, int *len);
+EAPI void             ecore_x_selection_clipboard_request_data_get(void **buf, int *len);
+EAPI void             ecore_x_selection_converter_add(char *target, int (*func)(char *target, void *data, int size, void **data_ret, int *size_ret));
+EAPI void             ecore_x_selection_converter_atom_add(Ecore_X_Atom target, int (*func)(char *target, void *data, int size, void **data_ret, int *size_ret));
+EAPI void             ecore_x_selection_converter_del(char *target);
+EAPI void             ecore_x_selection_converter_atom_del(Ecore_X_Atom target);
+
+EAPI void             ecore_x_dnd_aware_set(Ecore_X_Window win, int on);
+EAPI int              ecore_x_dnd_version_get(Ecore_X_Window win);
+EAPI int              ecore_x_dnd_begin (Ecore_X_Window source, unsigned char *data, int size);
                  
-Ecore_X_Window   ecore_x_window_new(Ecore_X_Window parent, int x, int y, int w, int h);
-Ecore_X_Window   ecore_x_window_override_new(Ecore_X_Window parent, int x, int y, int w, int h);
-Ecore_X_Window   ecore_x_window_input_new(Ecore_X_Window parent, int x, int y, int w, int h);
-void             ecore_x_window_configure(Ecore_X_Window win,
+EAPI Ecore_X_Window   ecore_x_window_new(Ecore_X_Window parent, int x, int y, int w, int h);
+EAPI Ecore_X_Window   ecore_x_window_override_new(Ecore_X_Window parent, int x, int y, int w, int h);
+EAPI Ecore_X_Window   ecore_x_window_input_new(Ecore_X_Window parent, int x, int y, int w, int h);
+EAPI void             ecore_x_window_configure(Ecore_X_Window win,
                                           Ecore_X_Window_Configure_Mask mask,
                                           int x, int y, int w, int h,
                                           int border_width,
                                           Ecore_X_Window sibling,
                                           int stack_mode);
-void             ecore_x_window_cursor_set(Ecore_X_Window win,
+EAPI void             ecore_x_window_cursor_set(Ecore_X_Window win,
                                            Ecore_X_Cursor c);
-void             ecore_x_window_del(Ecore_X_Window win);
-void             ecore_x_window_delete_request_send(Ecore_X_Window win);
-void             ecore_x_window_show(Ecore_X_Window win);
-void             ecore_x_window_hide(Ecore_X_Window win);
-void             ecore_x_window_move(Ecore_X_Window win, int x, int y);
-void             ecore_x_window_resize(Ecore_X_Window win, int w, int h);
-void             ecore_x_window_move_resize(Ecore_X_Window win, int x, int y, int w, int h);
-void             ecore_x_window_focus(Ecore_X_Window win);
-void             ecore_x_window_focus_at_time(Ecore_X_Window win, Ecore_X_Time t);
-Ecore_X_Window   ecore_x_window_focus_get(void);
-void             ecore_x_window_raise(Ecore_X_Window win);
-void             ecore_x_window_lower(Ecore_X_Window win);
-void             ecore_x_window_reparent(Ecore_X_Window win, Ecore_X_Window new_parent, int x, int y);
-void             ecore_x_window_size_get(Ecore_X_Window win, int *w, int *h);
-void             ecore_x_window_geometry_get(Ecore_X_Window win, int *x, int *y, int *w, int *h);
-int              ecore_x_window_border_width_get(Ecore_X_Window win);
-void             ecore_x_window_border_width_set(Ecore_X_Window win, int width);
-int              ecore_x_window_depth_get(Ecore_X_Window win);
-void             ecore_x_window_cursor_show(Ecore_X_Window win, int show);
-void             ecore_x_window_defaults_set(Ecore_X_Window win);
-int              ecore_x_window_visible_get(Ecore_X_Window win);
-Ecore_X_Window   ecore_x_window_at_xy_get(int x, int y);
-Ecore_X_Window   ecore_x_window_parent_get(Ecore_X_Window win);
-
-void             ecore_x_window_background_color_set(Ecore_X_Window win,
+EAPI void             ecore_x_window_del(Ecore_X_Window win);
+EAPI void             ecore_x_window_delete_request_send(Ecore_X_Window win);
+EAPI void             ecore_x_window_show(Ecore_X_Window win);
+EAPI void             ecore_x_window_hide(Ecore_X_Window win);
+EAPI void             ecore_x_window_move(Ecore_X_Window win, int x, int y);
+EAPI void             ecore_x_window_resize(Ecore_X_Window win, int w, int h);
+EAPI void             ecore_x_window_move_resize(Ecore_X_Window win, int x, int y, int w, int h);
+EAPI void             ecore_x_window_focus(Ecore_X_Window win);
+EAPI void             ecore_x_window_focus_at_time(Ecore_X_Window win, Ecore_X_Time t);
+EAPI Ecore_X_Window   ecore_x_window_focus_get(void);
+EAPI void             ecore_x_window_raise(Ecore_X_Window win);
+EAPI void             ecore_x_window_lower(Ecore_X_Window win);
+EAPI void             ecore_x_window_reparent(Ecore_X_Window win, Ecore_X_Window new_parent, int x, int y);
+EAPI void             ecore_x_window_size_get(Ecore_X_Window win, int *w, int *h);
+EAPI void             ecore_x_window_geometry_get(Ecore_X_Window win, int *x, int *y, int *w, int *h);
+EAPI int              ecore_x_window_border_width_get(Ecore_X_Window win);
+EAPI void             ecore_x_window_border_width_set(Ecore_X_Window win, int width);
+EAPI int              ecore_x_window_depth_get(Ecore_X_Window win);
+EAPI void             ecore_x_window_cursor_show(Ecore_X_Window win, int show);
+EAPI void             ecore_x_window_defaults_set(Ecore_X_Window win);
+EAPI int              ecore_x_window_visible_get(Ecore_X_Window win);
+EAPI Ecore_X_Window   ecore_x_window_at_xy_get(int x, int y);
+EAPI Ecore_X_Window   ecore_x_window_parent_get(Ecore_X_Window win);
+
+EAPI void             ecore_x_window_background_color_set(Ecore_X_Window win,
                                                      unsigned long color);
-void             ecore_x_window_gravity_set(Ecore_X_Window win,
+EAPI void             ecore_x_window_gravity_set(Ecore_X_Window win,
                                            Ecore_X_Gravity grav);
-void             ecore_x_window_pixel_gravity_set(Ecore_X_Window win,
+EAPI void             ecore_x_window_pixel_gravity_set(Ecore_X_Window win,
                                                  Ecore_X_Gravity grav);
        
-Ecore_X_Atom     ecore_x_window_prop_any_type(void);
-void             ecore_x_window_prop_property_set(Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Atom format, int size, void *data, int number);
-int              ecore_x_window_prop_property_get(Ecore_X_Window win, Ecore_X_Atom property, Ecore_X_Atom type, int size, unsigned char **data, int *num);
-void             ecore_x_window_prop_property_del(Ecore_X_Window win, Ecore_X_Atom property);
-void             ecore_x_window_prop_property_notify(Ecore_X_Window win, const char *type, long *data);
-void             ecore_x_window_prop_string_set(Ecore_X_Window win, Ecore_X_Atom type, char *str);
-char            *ecore_x_window_prop_string_get(Ecore_X_Window win, Ecore_X_Atom type);
-void             ecore_x_window_prop_title_set(Ecore_X_Window win, const char *t);
-char            *ecore_x_window_prop_title_get(Ecore_X_Window win);
-void             ecore_x_window_prop_command_set(Ecore_X_Window win, int argc, char **argv);
-void             ecore_x_window_prop_command_get(Ecore_X_Window win, int *argc, char ***argv);
-void             ecore_x_window_prop_visible_title_set(Ecore_X_Window win, const char *t);
-char            *ecore_x_window_prop_visible_title_get(Ecore_X_Window win);
-void             ecore_x_window_prop_icon_name_set(Ecore_X_Window win, const char *t);
-char            *ecore_x_window_prop_icon_name_get(Ecore_X_Window win);
-void             ecore_x_window_prop_visible_icon_name_set(Ecore_X_Window win, const char *t);
-char            *ecore_x_window_prop_visible_icon_name_get(Ecore_X_Window win);
-char            *ecore_x_window_prop_client_machine_get(Ecore_X_Window win);
-pid_t            ecore_x_window_prop_pid_get(Ecore_X_Window win);
-void             ecore_x_window_prop_name_class_set(Ecore_X_Window win, const char *n, const char *c);
-void             ecore_x_window_prop_name_class_get(Ecore_X_Window win, char **n, char **c);
-void             ecore_x_window_prop_protocol_set(Ecore_X_Window win, Ecore_X_WM_Protocol protocol, int on);
-int              ecore_x_window_prop_protocol_isset(Ecore_X_Window win, Ecore_X_WM_Protocol protocol);
-Ecore_X_WM_Protocol *ecore_x_window_prop_protocol_list_get(Ecore_X_Window win, int *num_ret);
-void             ecore_x_window_prop_sticky_set(Ecore_X_Window win, int on);
-int              ecore_x_window_prop_input_mode_set(Ecore_X_Window win, Ecore_X_Window_Input_Mode mode);
-void             ecore_x_window_prop_min_size_set(Ecore_X_Window win, int w, int h);
-void             ecore_x_window_prop_max_size_set(Ecore_X_Window win, int w, int h);
-void             ecore_x_window_prop_base_size_set(Ecore_X_Window win, int w, int h);
-void             ecore_x_window_prop_step_size_set(Ecore_X_Window win, int x, int y);
-void             ecore_x_window_prop_xy_set(Ecore_X_Window win, int x, int y);
-void             ecore_x_window_prop_borderless_set(Ecore_X_Window win, int borderless);
-int              ecore_x_window_prop_borderless_get(Ecore_X_Window win);
-int              ecore_x_window_prop_layer_set(Ecore_X_Window win, int layer);
-void             ecore_x_window_prop_withdrawn_set(Ecore_X_Window win, int withdrawn);
-void             ecore_x_window_prop_desktop_request(Ecore_X_Window win, long desktop);
-void             ecore_x_window_prop_state_request(Ecore_X_Window win, Ecore_X_Window_State state, int action);
-void             ecore_x_window_prop_desktop_set(Ecore_X_Window win, long desktop);
-long             ecore_x_window_prop_desktop_get(Ecore_X_Window win);
+EAPI Ecore_X_Atom     ecore_x_window_prop_any_type(void);
+EAPI void             ecore_x_window_prop_property_set(Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Atom format, int size, void *data, int number);
+EAPI int              ecore_x_window_prop_property_get(Ecore_X_Window win, Ecore_X_Atom property, Ecore_X_Atom type, int size, unsigned char **data, int *num);
+EAPI void             ecore_x_window_prop_property_del(Ecore_X_Window win, Ecore_X_Atom property);
+EAPI void             ecore_x_window_prop_property_notify(Ecore_X_Window win, const char *type, long *data);
+EAPI void             ecore_x_window_prop_string_set(Ecore_X_Window win, Ecore_X_Atom type, char *str);
+EAPI char            *ecore_x_window_prop_string_get(Ecore_X_Window win, Ecore_X_Atom type);
+EAPI void             ecore_x_window_prop_title_set(Ecore_X_Window win, const char *t);
+EAPI char            *ecore_x_window_prop_title_get(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_command_set(Ecore_X_Window win, int argc, char **argv);
+EAPI void             ecore_x_window_prop_command_get(Ecore_X_Window win, int *argc, char ***argv);
+EAPI void             ecore_x_window_prop_visible_title_set(Ecore_X_Window win, const char *t);
+EAPI char            *ecore_x_window_prop_visible_title_get(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_icon_name_set(Ecore_X_Window win, const char *t);
+EAPI char            *ecore_x_window_prop_icon_name_get(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_visible_icon_name_set(Ecore_X_Window win, const char *t);
+EAPI char            *ecore_x_window_prop_visible_icon_name_get(Ecore_X_Window win);
+EAPI char            *ecore_x_window_prop_client_machine_get(Ecore_X_Window win);
+EAPI pid_t            ecore_x_window_prop_pid_get(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_name_class_set(Ecore_X_Window win, const char *n, const char *c);
+EAPI void             ecore_x_window_prop_name_class_get(Ecore_X_Window win, char **n, char **c);
+EAPI void             ecore_x_window_prop_protocol_set(Ecore_X_Window win, Ecore_X_WM_Protocol protocol, int on);
+EAPI int              ecore_x_window_prop_protocol_isset(Ecore_X_Window win, Ecore_X_WM_Protocol protocol);
+EAPI Ecore_X_WM_Protocol *ecore_x_window_prop_protocol_list_get(Ecore_X_Window win, int *num_ret);
+EAPI void             ecore_x_window_prop_sticky_set(Ecore_X_Window win, int on);
+EAPI int              ecore_x_window_prop_input_mode_set(Ecore_X_Window win, Ecore_X_Window_Input_Mode mode);
+EAPI void             ecore_x_window_prop_min_size_set(Ecore_X_Window win, int w, int h);
+EAPI void             ecore_x_window_prop_max_size_set(Ecore_X_Window win, int w, int h);
+EAPI void             ecore_x_window_prop_base_size_set(Ecore_X_Window win, int w, int h);
+EAPI void             ecore_x_window_prop_step_size_set(Ecore_X_Window win, int x, int y);
+EAPI void             ecore_x_window_prop_xy_set(Ecore_X_Window win, int x, int y);
+EAPI void             ecore_x_window_prop_borderless_set(Ecore_X_Window win, int borderless);
+EAPI int              ecore_x_window_prop_borderless_get(Ecore_X_Window win);
+EAPI int              ecore_x_window_prop_layer_set(Ecore_X_Window win, int layer);
+EAPI void             ecore_x_window_prop_withdrawn_set(Ecore_X_Window win, int withdrawn);
+EAPI void             ecore_x_window_prop_desktop_request(Ecore_X_Window win, long desktop);
+EAPI void             ecore_x_window_prop_state_request(Ecore_X_Window win, Ecore_X_Window_State state, int action);
+EAPI void             ecore_x_window_prop_desktop_set(Ecore_X_Window win, long desktop);
+EAPI long             ecore_x_window_prop_desktop_get(Ecore_X_Window win);
 /* API Change: use enum Ecore_X_Window_Type instead */
-void             ecore_x_window_prop_window_type_set(Ecore_X_Window win, Ecore_X_Window_Type type);
+EAPI void             ecore_x_window_prop_window_type_set(Ecore_X_Window win, Ecore_X_Window_Type type);
 #if 0
-void             ecore_x_window_prop_window_type_set(Ecore_X_Window win, Ecore_X_Atom type);
-void             ecore_x_window_prop_window_type_desktop_set(Ecore_X_Window win);
-void             ecore_x_window_prop_window_type_dock_set(Ecore_X_Window win);
-void             ecore_x_window_prop_window_type_toolbar_set(Ecore_X_Window win);
-void             ecore_x_window_prop_window_type_menu_set(Ecore_X_Window win);
-void             ecore_x_window_prop_window_type_utility_set(Ecore_X_Window win);
-void             ecore_x_window_prop_window_type_splash_set(Ecore_X_Window win);
-void             ecore_x_window_prop_window_type_dialog_set(Ecore_X_Window win);
-void             ecore_x_window_prop_window_type_normal_set(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_window_type_set(Ecore_X_Window win, Ecore_X_Atom type);
+EAPI void             ecore_x_window_prop_window_type_desktop_set(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_window_type_dock_set(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_window_type_toolbar_set(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_window_type_menu_set(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_window_type_utility_set(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_window_type_splash_set(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_window_type_dialog_set(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_window_type_normal_set(Ecore_X_Window win);
 #endif
-void             ecore_x_window_prop_window_opacity_set(Ecore_X_Window win, int opacity);
-int              ecore_x_window_prop_window_opacity_get(Ecore_X_Window win);
-void             ecore_x_window_prop_state_set(Ecore_X_Window win, Ecore_X_Window_State s);
-int              ecore_x_window_prop_state_isset(Ecore_X_Window win, Ecore_X_Window_State s);
-void             ecore_x_window_prop_state_unset(Ecore_X_Window win, Ecore_X_Window_State s);
-void             ecore_x_window_shape_mask_set(Ecore_X_Window win, Ecore_X_Pixmap mask);
+EAPI void             ecore_x_window_prop_window_opacity_set(Ecore_X_Window win, int opacity);
+EAPI int              ecore_x_window_prop_window_opacity_get(Ecore_X_Window win);
+EAPI void             ecore_x_window_prop_state_set(Ecore_X_Window win, Ecore_X_Window_State s);
+EAPI int              ecore_x_window_prop_state_isset(Ecore_X_Window win, Ecore_X_Window_State s);
+EAPI void             ecore_x_window_prop_state_unset(Ecore_X_Window win, Ecore_X_Window_State s);
+EAPI void             ecore_x_window_shape_mask_set(Ecore_X_Window win, Ecore_X_Pixmap mask);
        
-Ecore_X_Pixmap   ecore_x_pixmap_new(Ecore_X_Window win, int w, int h, int dep);
-void             ecore_x_pixmap_del(Ecore_X_Pixmap pmap);
-void             ecore_x_pixmap_paste(Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy);
-void             ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h);
-int              ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap);
+EAPI Ecore_X_Pixmap   ecore_x_pixmap_new(Ecore_X_Window win, int w, int h, int dep);
+EAPI void             ecore_x_pixmap_del(Ecore_X_Pixmap pmap);
+EAPI void             ecore_x_pixmap_paste(Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy);
+EAPI void             ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h);
+EAPI int              ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap);
 
-Ecore_X_GC       ecore_x_gc_new(Ecore_X_Drawable draw);
-void             ecore_x_gc_del(Ecore_X_GC gc);
+EAPI Ecore_X_GC       ecore_x_gc_new(Ecore_X_Drawable draw);
+EAPI void             ecore_x_gc_del(Ecore_X_GC gc);
 
-int              ecore_x_client_message32_send(Ecore_X_Window win, Ecore_X_Atom type, long d0, long d1, long d2, long d3, long d4);
-int              ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom type, const void *data, int len);
+EAPI int              ecore_x_client_message32_send(Ecore_X_Window win, Ecore_X_Atom type, long d0, long d1, long d2, long d3, long d4);
+EAPI int              ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom type, const void *data, int len);
 
 #if 0 /* ??? */
-   void                ecore_x_netwm_init(void);
+   EAPI void                ecore_x_netwm_init(void);
 #endif
-   void                ecore_x_netwm_desk_count_set(Ecore_X_Window root, int n_desks);
-   void                ecore_x_netwm_desk_roots_set(Ecore_X_Window root, int n_desks, Ecore_X_Window * vroots);
-   void                ecore_x_netwm_desk_names_set(Ecore_X_Window root, int n_desks, const char **names);
-   void                ecore_x_netwm_desk_size_set(Ecore_X_Window root, int width, int height);
-   void                ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, int n_desks, int *areas);
-   void                ecore_x_netwm_desk_current_set(Ecore_X_Window root, int desk);
-   void                ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, int n_desks, int *origins);
-   void                ecore_x_netwm_showing_desktop_set(Ecore_X_Window root, int on);
-   void                ecore_x_netwm_client_list_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients);
-   void                ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients);
-   void                ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win);
+   EAPI void                ecore_x_netwm_desk_count_set(Ecore_X_Window root, int n_desks);
+   EAPI void                ecore_x_netwm_desk_roots_set(Ecore_X_Window root, int n_desks, Ecore_X_Window * vroots);
+   EAPI void                ecore_x_netwm_desk_names_set(Ecore_X_Window root, int n_desks, const char **names);
+   EAPI void                ecore_x_netwm_desk_size_set(Ecore_X_Window root, int width, int height);
+   EAPI void                ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, int n_desks, int *areas);
+   EAPI void                ecore_x_netwm_desk_current_set(Ecore_X_Window root, int desk);
+   EAPI void                ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, int n_desks, int *origins);
+   EAPI void                ecore_x_netwm_showing_desktop_set(Ecore_X_Window root, int on);
+   EAPI void                ecore_x_netwm_client_list_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients);
+   EAPI void                ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients);
+   EAPI void                ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win);
    
    /* FIXME: these funcs need categorising */
-   void            ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, int *w, int *h);
-   int             ecore_x_drawable_border_width_get(Ecore_X_Drawable d);
-   int             ecore_x_drawable_depth_get(Ecore_X_Drawable d);
-   Ecore_X_Window *ecore_x_window_root_list(int *num_ret);
-   int             ecore_x_window_manage(Ecore_X_Window win);
-   void            ecore_x_window_container_manage(Ecore_X_Window win);
-   void            ecore_x_window_client_manage(Ecore_X_Window win);
-   void            ecore_x_window_sniff(Ecore_X_Window win);
-   void            ecore_x_window_client_sniff(Ecore_X_Window win);
-   Ecore_X_Atom    ecore_x_atom_get(char *name);
-
-   void
+   EAPI void            ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, int *w, int *h);
+   EAPI int             ecore_x_drawable_border_width_get(Ecore_X_Drawable d);
+   EAPI int             ecore_x_drawable_depth_get(Ecore_X_Drawable d);
+   EAPI Ecore_X_Window *ecore_x_window_root_list(int *num_ret);
+   EAPI int             ecore_x_window_manage(Ecore_X_Window win);
+   EAPI void            ecore_x_window_container_manage(Ecore_X_Window win);
+   EAPI void            ecore_x_window_client_manage(Ecore_X_Window win);
+   EAPI void            ecore_x_window_sniff(Ecore_X_Window win);
+   EAPI void            ecore_x_window_client_sniff(Ecore_X_Window win);
+   EAPI Ecore_X_Atom    ecore_x_atom_get(char *name);
+
+   EAPI void
      ecore_x_icccm_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state);
-   void
+   EAPI void
      ecore_x_icccm_delete_window_send(Ecore_X_Window win, Ecore_X_Time t);
-   void
+   EAPI void
      ecore_x_icccm_take_focus_send(Ecore_X_Window win, Ecore_X_Time t);
-   void
+   EAPI void
      ecore_x_icccm_save_yourself_send(Ecore_X_Window win, Ecore_X_Time t);
-   void
+   EAPI void
      ecore_x_icccm_move_resize_send(Ecore_X_Window win, 
                                    int x, int y, int w, int h);
-   void
+   EAPI void
      ecore_x_icccm_hints_set(Ecore_X_Window win,
                             int accepts_focus,
                             Ecore_X_Window_State_Hint initial_state,
@@ -944,7 +961,7 @@ int              ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom t
                             Ecore_X_Window icon_window,
                             Ecore_X_Window window_group,
                             int is_urgent);
-   int
+   EAPI int
      ecore_x_icccm_hints_get(Ecore_X_Window win,
                             int *accepts_focus,
                             Ecore_X_Window_State_Hint *initial_state,
@@ -953,7 +970,7 @@ int              ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom t
                             Ecore_X_Window *icon_window,
                             Ecore_X_Window *window_group,
                             int *is_urgent);
-   void
+   EAPI void
      ecore_x_icccm_size_pos_hints_set(Ecore_X_Window win,
                                      int request_pos,
                                      Ecore_X_Gravity gravity,
@@ -964,7 +981,7 @@ int              ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom t
                                      double min_aspect,
                                      double max_aspect);
        
-   int
+   EAPI int
      ecore_x_icccm_size_pos_hints_get(Ecore_X_Window win,
                                      int *request_pos,
                                      Ecore_X_Gravity *gravity,
@@ -974,36 +991,36 @@ int              ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom t
                                      int *step_x, int *step_y,
                                      double *min_aspect,
                                      double *max_aspect);
-   void
+   EAPI void
      ecore_x_icccm_title_set(Ecore_X_Window win, const char *t);
-   char *
+   EAPI char *
      ecore_x_icccm_title_get(Ecore_X_Window win);
        
-   void                ecore_x_netwm_init(void);
-   void                ecore_x_netwm_wm_identify(Ecore_X_Window root, Ecore_X_Window check, const char *wm_name);
-   void                ecore_x_netwm_desk_count_set(Ecore_X_Window root, int n_desks);
-   void                ecore_x_netwm_desk_roots_set(Ecore_X_Window root, int n_desks, Ecore_X_Window * vroots);
-   void                ecore_x_netwm_desk_names_set(Ecore_X_Window root, int n_desks, const char **names);
-   void                ecore_x_netwm_desk_size_set(Ecore_X_Window root, int width, int height);
-   void                ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, int n_desks, int *areas);
-   void                ecore_x_netwm_desk_current_set(Ecore_X_Window root, int desk);
-   void                ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, int n_desks, int *origins);
-   void                ecore_x_netwm_showing_desktop_set(Ecore_X_Window root, int on);
-   void                ecore_x_netwm_client_list_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients);
-   void                ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients);
-   void                ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win);
+   EAPI void                ecore_x_netwm_init(void);
+   EAPI void                ecore_x_netwm_wm_identify(Ecore_X_Window root, Ecore_X_Window check, const char *wm_name);
+   EAPI void                ecore_x_netwm_desk_count_set(Ecore_X_Window root, int n_desks);
+   EAPI void                ecore_x_netwm_desk_roots_set(Ecore_X_Window root, int n_desks, Ecore_X_Window * vroots);
+   EAPI void                ecore_x_netwm_desk_names_set(Ecore_X_Window root, int n_desks, const char **names);
+   EAPI void                ecore_x_netwm_desk_size_set(Ecore_X_Window root, int width, int height);
+   EAPI void                ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, int n_desks, int *areas);
+   EAPI void                ecore_x_netwm_desk_current_set(Ecore_X_Window root, int desk);
+   EAPI void                ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, int n_desks, int *origins);
+   EAPI void                ecore_x_netwm_showing_desktop_set(Ecore_X_Window root, int on);
+   EAPI void                ecore_x_netwm_client_list_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients);
+   EAPI void                ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients);
+   EAPI void                ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win);
    
    /* FIXME: these funcs need categorising */
-   void            ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, int *w, int *h);
-   int             ecore_x_drawable_border_width_get(Ecore_X_Drawable d);
-   int             ecore_x_drawable_depth_get(Ecore_X_Drawable d);
-   Ecore_X_Window *ecore_x_window_root_list(int *num_ret);
-   int             ecore_x_window_manage(Ecore_X_Window win);
-   void            ecore_x_window_container_manage(Ecore_X_Window win);
-   void            ecore_x_window_client_manage(Ecore_X_Window win);
-   void            ecore_x_window_sniff(Ecore_X_Window win);
-   void            ecore_x_window_client_sniff(Ecore_X_Window win);
-   Ecore_X_Atom    ecore_x_atom_get(char *name);
+   EAPI void            ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, int *w, int *h);
+   EAPI int             ecore_x_drawable_border_width_get(Ecore_X_Drawable d);
+   EAPI int             ecore_x_drawable_depth_get(Ecore_X_Drawable d);
+   EAPI Ecore_X_Window *ecore_x_window_root_list(int *num_ret);
+   EAPI int             ecore_x_window_manage(Ecore_X_Window win);
+   EAPI void            ecore_x_window_container_manage(Ecore_X_Window win);
+   EAPI void            ecore_x_window_client_manage(Ecore_X_Window win);
+   EAPI void            ecore_x_window_sniff(Ecore_X_Window win);
+   EAPI void            ecore_x_window_client_sniff(Ecore_X_Window win);
+   EAPI Ecore_X_Atom    ecore_x_atom_get(char *name);
 
    typedef struct _Ecore_X_Window_Attributes
      {
@@ -1033,33 +1050,33 @@ int              ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom t
      }
    Ecore_X_Window_Attributes;
    
-   int
+   EAPI int
      ecore_x_window_attributes_get(Ecore_X_Window win, Ecore_X_Window_Attributes *att_ret);
-   void
+   EAPI void
      ecore_x_window_save_set_add(Ecore_X_Window win);
-   void
+   EAPI void
      ecore_x_window_save_set_del(Ecore_X_Window win);
-   Ecore_X_Window *
+   EAPI Ecore_X_Window *
      ecore_x_window_children_get(Ecore_X_Window win, int *num);
    
-   Ecore_X_Cursor
+   EAPI Ecore_X_Cursor
      ecore_x_cursor_new(Ecore_X_Window win, int *pixels, int w, int h, int hot_x, int hot_y);
-   void
+   EAPI void
      ecore_x_cursor_free(Ecore_X_Cursor c);
-   Ecore_X_Cursor
+   EAPI Ecore_X_Cursor
      ecore_x_cursor_shape_get(int shape);
    
-   int
+   EAPI int
      ecore_x_pointer_grab(Ecore_X_Window win);
-   void
+   EAPI void
      ecore_x_pointer_ungrab(void);
-   int
+   EAPI int
      ecore_x_keyboard_grab(Ecore_X_Window win);
-   void
+   EAPI void
      ecore_x_keyboard_ungrab(void);
-   void
+   EAPI void
      ecore_x_grab(void);
-   void
+   EAPI void
      ecore_x_ungrab(void);
        
        
index 7a86522..0e066e0 100644 (file)
@@ -3,6 +3,23 @@
 
 #include <Evas.h>
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 /* FIXDOC: Define these? */
 enum _Edje_Message_Type
 {
@@ -120,84 +137,84 @@ enum
 extern "C" {
 #endif
    
-  /* edje_main.c */
-   int          edje_init                       (void);
-   int          edje_shutdown                   (void);
-  
-  /* edje_program.c */
-   void         edje_frametime_set              (double t);
-   double       edje_frametime_get              (void);
-
-  /* edje_util.c */
-   void         edje_freeze                     (void);
-   void         edje_thaw                       (void);
+   /* edje_main.c */
+   EAPI int          edje_init                       (void);
+   EAPI int          edje_shutdown                   (void);
+   
+   /* edje_program.c */
+   EAPI void         edje_frametime_set              (double t);
+   EAPI double       edje_frametime_get              (void);
+   
+   /* edje_util.c */
+   EAPI void         edje_freeze                     (void);
+   EAPI void         edje_thaw                       (void);
+   
+   /* edje_load.c */
+   EAPI Evas_List   *edje_file_collection_list       (const char *file);
+   EAPI void         edje_file_collection_list_free  (Evas_List *lst);
+   EAPI char        *edje_file_data_get              (const char *file, const char *key);
+   
+   /* edje_util.c */
+   EAPI void         edje_color_class_set(const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
+   EAPI void         edje_text_class_set(const char *text_class, const char *font, Evas_Font_Size size);
+   EAPI void         edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh);
+   EAPI void         edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh);
+   
+   /* edje_smart.c */
+   EAPI Evas_Object *edje_object_add                 (Evas *evas);
+   
+   /* edje_util.c */
+   EAPI const char  *edje_object_data_get            (Evas_Object *obj, const char *key);
+   
+   /* edje_load.c */
+   EAPI int          edje_object_file_set            (Evas_Object *obj, const char *file, const char *part);
+   EAPI void         edje_object_file_get            (Evas_Object *obj, const char **file, const char **part);
+   EAPI int          edje_object_load_error_get      (Evas_Object *obj);
+   
+   /* edje_program.c */
+   EAPI void         edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *obj, const char *emission, const char *source), void *data);
+   EAPI void        *edje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *obj, const char *emission, const char *source));
+   EAPI void         edje_object_signal_emit         (Evas_Object *obj, const char *emission, const char *source);
+   EAPI void         edje_object_play_set            (Evas_Object *obj, int play);
+   EAPI int          edje_object_play_get            (Evas_Object *obj);
+   EAPI void         edje_object_animation_set       (Evas_Object *obj, int on);
+   EAPI int          edje_object_animation_get       (Evas_Object *obj);
+   
+   /* edje_util.c */
+   EAPI int          edje_object_freeze              (Evas_Object *obj);
+   EAPI int          edje_object_thaw                (Evas_Object *obj);
+   EAPI void         edje_object_color_class_set     (Evas_Object *obj, const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
+   EAPI void         edje_object_text_class_set      (Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size);
+   EAPI void         edje_object_size_min_get        (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
+   EAPI void         edje_object_size_max_get        (Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh);
+   EAPI void         edje_object_size_min_calc       (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
+   EAPI int          edje_object_part_exists         (Evas_Object *obj, const char *part);
+   EAPI void         edje_object_part_geometry_get   (Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+   EAPI void         edje_object_text_change_cb_set  (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, const char *part), void *data);
+   EAPI void         edje_object_part_text_set       (Evas_Object *obj, const char *part, const char *text);
+   EAPI const char  *edje_object_part_text_get       (Evas_Object *obj, const char *part);
+   EAPI void         edje_object_part_swallow        (Evas_Object *obj, const char *part, Evas_Object *obj_swallow);
+   EAPI void         edje_object_part_unswallow      (Evas_Object *obj, Evas_Object *obj_swallow);
+   EAPI Evas_Object *edje_object_part_swallow_get    (Evas_Object *obj, const char *part);
+   EAPI const char  *edje_object_part_state_get      (Evas_Object *obj, const char *part, double *val_ret);
+   EAPI int          edje_object_part_drag_dir_get   (Evas_Object *obj, const char *part);
+   EAPI void         edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy);
+   EAPI void         edje_object_part_drag_value_get (Evas_Object *obj, const char *part, double *dx, double *dy);
+   EAPI void         edje_object_part_drag_size_set  (Evas_Object *obj, const char *part, double dw, double dh);
+   EAPI void         edje_object_part_drag_size_get  (Evas_Object *obj, const char *part, double *dw, double *dh);
+   EAPI void         edje_object_part_drag_step_set  (Evas_Object *obj, const char *part, double dx, double dy);
+   EAPI void         edje_object_part_drag_step_get  (Evas_Object *obj, const char *part, double *dx, double *dy);
+   EAPI void         edje_object_part_drag_page_set  (Evas_Object *obj, const char *part, double dx, double dy);
+   EAPI void         edje_object_part_drag_page_get  (Evas_Object *obj, const char *part, double *dx, double *dy);
+   EAPI void         edje_object_part_drag_step      (Evas_Object *obj, const char *part, double dx, double dy);
+   EAPI void         edje_object_part_drag_page      (Evas_Object *obj, const char *part, double dx, double dy);
    
-  /* edje_load.c */
-   Evas_List   *edje_file_collection_list       (const char *file);
-   void         edje_file_collection_list_free  (Evas_List *lst);
-   char        *edje_file_data_get              (const char *file, const char *key);
-
-  /* edje_util.c */
-   void         edje_color_class_set(const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
-   void         edje_text_class_set(const char *text_class, const char *font, Evas_Font_Size size);
-   void         edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh);
-   void         edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh);
+   /* edje_message_queue.c */
+   EAPI void         edje_object_message_send           (Evas_Object *obj, Edje_Message_Type type, int id, void *msg);
+   EAPI void         edje_object_message_handler_set    (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data);
+   EAPI void         edje_object_message_signal_process (Evas_Object *obj);
    
-  /* edje_smart.c */
-   Evas_Object *edje_object_add                 (Evas *evas);
-
-  /* edje_util.c */
-   const char  *edje_object_data_get            (Evas_Object *obj, const char *key);
-
-  /* edje_load.c */
-  int          edje_object_file_set            (Evas_Object *obj, const char *file, const char *part);
-  void         edje_object_file_get            (Evas_Object *obj, const char **file, const char **part);
-  int          edje_object_load_error_get      (Evas_Object *obj);
-
-  /* edje_program.c */
-  void         edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *obj, const char *emission, const char *source), void *data);
-  void        *edje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *obj, const char *emission, const char *source));
-  void         edje_object_signal_emit         (Evas_Object *obj, const char *emission, const char *source);
-  void         edje_object_play_set            (Evas_Object *obj, int play);
-  int          edje_object_play_get            (Evas_Object *obj);
-  void         edje_object_animation_set       (Evas_Object *obj, int on);
-  int          edje_object_animation_get       (Evas_Object *obj);
-
-  /* edje_util.c */
-  int          edje_object_freeze              (Evas_Object *obj);
-  int          edje_object_thaw                (Evas_Object *obj);
-  void         edje_object_color_class_set     (Evas_Object *obj, const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
-  void         edje_object_text_class_set      (Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size);
-  void         edje_object_size_min_get        (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
-  void         edje_object_size_max_get        (Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh);
-  void         edje_object_size_min_calc       (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
-  int          edje_object_part_exists         (Evas_Object *obj, const char *part);
-  void         edje_object_part_geometry_get   (Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
-  void         edje_object_text_change_cb_set  (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, const char *part), void *data);
-  void         edje_object_part_text_set       (Evas_Object *obj, const char *part, const char *text);
-  const char  *edje_object_part_text_get       (Evas_Object *obj, const char *part);
-  void         edje_object_part_swallow        (Evas_Object *obj, const char *part, Evas_Object *obj_swallow);
-  void         edje_object_part_unswallow      (Evas_Object *obj, Evas_Object *obj_swallow);
-  Evas_Object *edje_object_part_swallow_get    (Evas_Object *obj, const char *part);
-  const char  *edje_object_part_state_get      (Evas_Object *obj, const char *part, double *val_ret);
-  int          edje_object_part_drag_dir_get   (Evas_Object *obj, const char *part);
-  void         edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy);
-  void         edje_object_part_drag_value_get (Evas_Object *obj, const char *part, double *dx, double *dy);
-  void         edje_object_part_drag_size_set  (Evas_Object *obj, const char *part, double dw, double dh);
-  void         edje_object_part_drag_size_get  (Evas_Object *obj, const char *part, double *dw, double *dh);
-  void         edje_object_part_drag_step_set  (Evas_Object *obj, const char *part, double dx, double dy);
-  void         edje_object_part_drag_step_get  (Evas_Object *obj, const char *part, double *dx, double *dy);
-  void         edje_object_part_drag_page_set  (Evas_Object *obj, const char *part, double dx, double dy);
-  void         edje_object_part_drag_page_get  (Evas_Object *obj, const char *part, double *dx, double *dy);
-  void         edje_object_part_drag_step      (Evas_Object *obj, const char *part, double dx, double dy);
-  void         edje_object_part_drag_page      (Evas_Object *obj, const char *part, double dx, double dy);
-
-  /* edje_message_queue.c */
-  void         edje_object_message_send           (Evas_Object *obj, Edje_Message_Type type, int id, void *msg);
-  void         edje_object_message_handler_set    (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data);
-  void         edje_object_message_signal_process (Evas_Object *obj);
-       
-  void         edje_message_signal_process        (void);
+   EAPI void         edje_message_signal_process        (void);
    
 #ifdef __cplusplus
 }
index d37c4c6..2cf1311 100644 (file)
@@ -285,7 +285,8 @@ main(int argc,char *argv[])
             fn = EMBRYO_FUNCTION_MAIN;
          }
      }
-   embryo_program_max_cycle_run_set(ep, 100000000);
+   if (!getenv("NOMAX"))
+     embryo_program_max_cycle_run_set(ep, 100000000);
    for (;;)
      {
        r = embryo_program_run(ep, fn);
index d0a4eef..b3e7fa8 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _EMBRYO_H
 #define _EMBRYO_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
@@ -64,42 +81,42 @@ extern "C" {
 /** Embryo_Cell to float */
 #define EMBRYO_CELL_TO_FLOAT(c) ((FloatEmbryoCell) c).f
    
-   int              embryo_init(void);
-   int              embryo_shutdown(void);
+   EAPI int              embryo_init(void);
+   EAPI int              embryo_shutdown(void);
    
-   Embryo_Program  *embryo_program_new(void *data, int size);
-   Embryo_Program  *embryo_program_const_new(void *data, int size);
-   Embryo_Program  *embryo_program_load(char *file);
-   void             embryo_program_free(Embryo_Program *ep);
-   void             embryo_program_native_call_add(Embryo_Program *ep, char *name, Embryo_Cell (*func) (Embryo_Program *ep, Embryo_Cell *params));
-   void             embryo_program_vm_reset(Embryo_Program *ep);
-   void             embryo_program_vm_push(Embryo_Program *ep);
-   void             embryo_program_vm_pop(Embryo_Program *ep);
-   void             embryo_swap_16(unsigned short *v);
-   void             embryo_swap_32(unsigned int *v);
-   Embryo_Function  embryo_program_function_find(Embryo_Program *ep, char *name);
-   Embryo_Cell      embryo_program_variable_find(Embryo_Program *ep, char *name);
-   int              embryo_program_variable_count_get(Embryo_Program *ep);
-   Embryo_Cell      embryo_program_variable_get(Embryo_Program *ep, int num);
-   void             embryo_program_error_set(Embryo_Program *ep, int error);
-   int              embryo_program_error_get(Embryo_Program *ep);
-   void             embryo_program_data_set(Embryo_Program *ep, void *data);
-   void            *embryo_program_data_get(Embryo_Program *ep);
-   const char      *embryo_error_string_get(int error);
-   int              embryo_data_string_length_get(Embryo_Program *ep, Embryo_Cell *str_cell);
-   void             embryo_data_string_get(Embryo_Program *ep, Embryo_Cell *str_cell, char *dst);
-   void             embryo_data_string_set(Embryo_Program *ep, char *src, Embryo_Cell *str_cell);
-   Embryo_Cell     *embryo_data_address_get(Embryo_Program *ep, Embryo_Cell addr);
-   Embryo_Cell      embryo_data_heap_push(Embryo_Program *ep, int cells);
-   void             embryo_data_heap_pop(Embryo_Program *ep, Embryo_Cell down_to);
-   int              embryo_program_recursion_get(Embryo_Program *ep);
-   int              embryo_program_run(Embryo_Program *ep, Embryo_Function func);
-   Embryo_Cell      embryo_program_return_value_get(Embryo_Program *ep);
-   void             embryo_program_max_cycle_run_set(Embryo_Program *ep, int max);
-   int              embryo_program_max_cycle_run_get(Embryo_Program *ep);
-   int              embryo_parameter_cell_push(Embryo_Program *ep, Embryo_Cell cell);
-   int              embryo_parameter_string_push(Embryo_Program *ep, char *str);
-   int              embryo_parameter_cell_array_push(Embryo_Program *ep, Embryo_Cell *cells, int num);
+   EAPI Embryo_Program  *embryo_program_new(void *data, int size);
+   EAPI Embryo_Program  *embryo_program_const_new(void *data, int size);
+   EAPI Embryo_Program  *embryo_program_load(char *file);
+   EAPI void             embryo_program_free(Embryo_Program *ep);
+   EAPI void             embryo_program_native_call_add(Embryo_Program *ep, char *name, Embryo_Cell (*func) (Embryo_Program *ep, Embryo_Cell *params));
+   EAPI void             embryo_program_vm_reset(Embryo_Program *ep);
+   EAPI void             embryo_program_vm_push(Embryo_Program *ep);
+   EAPI void             embryo_program_vm_pop(Embryo_Program *ep);
+   EAPI void             embryo_swap_16(unsigned short *v);
+   EAPI void             embryo_swap_32(unsigned int *v);
+   EAPI Embryo_Function  embryo_program_function_find(Embryo_Program *ep, char *name);
+   EAPI Embryo_Cell      embryo_program_variable_find(Embryo_Program *ep, char *name);
+   EAPI int              embryo_program_variable_count_get(Embryo_Program *ep);
+   EAPI Embryo_Cell      embryo_program_variable_get(Embryo_Program *ep, int num);
+   EAPI void             embryo_program_error_set(Embryo_Program *ep, int error);
+   EAPI int              embryo_program_error_get(Embryo_Program *ep);
+   EAPI void             embryo_program_data_set(Embryo_Program *ep, void *data);
+   EAPI void            *embryo_program_data_get(Embryo_Program *ep);
+   EAPI const char      *embryo_error_string_get(int error);
+   EAPI int              embryo_data_string_length_get(Embryo_Program *ep, Embryo_Cell *str_cell);
+   EAPI void             embryo_data_string_get(Embryo_Program *ep, Embryo_Cell *str_cell, char *dst);
+   EAPI void             embryo_data_string_set(Embryo_Program *ep, char *src, Embryo_Cell *str_cell);
+   EAPI Embryo_Cell     *embryo_data_address_get(Embryo_Program *ep, Embryo_Cell addr);
+   EAPI Embryo_Cell      embryo_data_heap_push(Embryo_Program *ep, int cells);
+   EAPI void             embryo_data_heap_pop(Embryo_Program *ep, Embryo_Cell down_to);
+   EAPI int              embryo_program_recursion_get(Embryo_Program *ep);
+   EAPI int              embryo_program_run(Embryo_Program *ep, Embryo_Function func);
+   EAPI Embryo_Cell      embryo_program_return_value_get(Embryo_Program *ep);
+   EAPI void             embryo_program_max_cycle_run_set(Embryo_Program *ep, int max);
+   EAPI int              embryo_program_max_cycle_run_get(Embryo_Program *ep);
+   EAPI int              embryo_parameter_cell_push(Embryo_Program *ep, Embryo_Cell cell);
+   EAPI int              embryo_parameter_string_push(Embryo_Program *ep, char *str);
+   EAPI int              embryo_parameter_cell_array_push(Embryo_Program *ep, Embryo_Cell *cells, int num);
    
 #ifdef  __cplusplus
 }         
index b698070..8d00bce 100644 (file)
@@ -1,6 +1,23 @@
 #ifndef _EVAS_H 
 #define _EVAS_H
 
+#ifdef EAPI
+#undef EAPI
+#endif
+#ifdef WIN32
+# ifdef BUILDING_DLL
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI __declspec(dllimport)
+# endif
+#else
+# ifdef GCC_HASCLASSVISIBILITY
+#  define EAPI __attribute__ ((visibility("default")))
+# else
+#  define EAPI
+# endif
+#endif
+
 #ifndef EVAS_COMMON_H
 #ifndef EVAS_PRIVATE_H
 
@@ -246,25 +263,25 @@ struct _Evas_Event_Key_Up /** Key release event */
 extern "C" {
 #endif
 
-   Evas_List        *evas_list_append                  (Evas_List *list, const void *data);
-   Evas_List        *evas_list_prepend                 (Evas_List *list, const void *data);
-   Evas_List        *evas_list_append_relative         (Evas_List *list, const void *data, const void *relative);
-   Evas_List        *evas_list_prepend_relative        (Evas_List *list, const void *data, const void *relative);
-   Evas_List        *evas_list_remove                  (Evas_List *list, const void *data);
-   Evas_List        *evas_list_remove_list             (Evas_List *list, Evas_List *remove_list);
-   void             *evas_list_find                    (Evas_List *list, const void *data);
-   Evas_List        *evas_list_find_list               (Evas_List *list, const void *data);
-   Evas_List        *evas_list_free                    (Evas_List *list);
-   Evas_List        *evas_list_last                    (Evas_List *list);
-   Evas_List        *evas_list_next                    (Evas_List *list);
-   Evas_List        *evas_list_prev                    (Evas_List *list);
-   void             *evas_list_data                    (Evas_List *list);
-   int               evas_list_count                   (Evas_List *list);
-   void             *evas_list_nth                     (Evas_List *list, int n);
-   Evas_List        *evas_list_nth_list                (Evas_List *list, int n);
-   Evas_List        *evas_list_reverse                 (Evas_List *list);
-   Evas_List        *evas_list_sort                   (Evas_List *list, int size, int(*func)(void*,void*));
-   int               evas_list_alloc_error             (void);
+   EAPI Evas_List        *evas_list_append                  (Evas_List *list, const void *data);
+   EAPI Evas_List        *evas_list_prepend                 (Evas_List *list, const void *data);
+   EAPI Evas_List        *evas_list_append_relative         (Evas_List *list, const void *data, const void *relative);
+   EAPI Evas_List        *evas_list_prepend_relative        (Evas_List *list, const void *data, const void *relative);
+   EAPI Evas_List        *evas_list_remove                  (Evas_List *list, const void *data);
+   EAPI Evas_List        *evas_list_remove_list             (Evas_List *list, Evas_List *remove_list);
+   EAPI void             *evas_list_find                    (Evas_List *list, const void *data);
+   EAPI Evas_List        *evas_list_find_list               (Evas_List *list, const void *data);
+   EAPI Evas_List        *evas_list_free                    (Evas_List *list);
+   EAPI Evas_List        *evas_list_last                    (Evas_List *list);
+   EAPI Evas_List        *evas_list_next                    (Evas_List *list);
+   EAPI Evas_List        *evas_list_prev                    (Evas_List *list);
+   EAPI void             *evas_list_data                    (Evas_List *list);
+   EAPI int               evas_list_count                   (Evas_List *list);
+   EAPI void             *evas_list_nth                     (Evas_List *list, int n);
+   EAPI Evas_List        *evas_list_nth_list                (Evas_List *list, int n);
+   EAPI Evas_List        *evas_list_reverse                 (Evas_List *list);
+   EAPI Evas_List        *evas_list_sort                      (Evas_List *list, int size, int(*func)(void*,void*));
+   EAPI int               evas_list_alloc_error             (void);
        
    /* FIXME: add:
     * api to add find, del members by data, size not just string and also
@@ -272,267 +289,267 @@ extern "C" {
     * 
     * do we really need this? hmmm - let me think... there may be a better way
     */
-   Evas_Hash        *evas_hash_add                     (Evas_Hash *hash, const char *key, const void*data);
-   Evas_Hash        *evas_hash_del                     (Evas_Hash *hash, const char *key, const void*data);
-   void             *evas_hash_find                    (Evas_Hash *hash, const char *key);
-   int               evas_hash_size                    (Evas_Hash *hash);
-   void              evas_hash_free                    (Evas_Hash *hash);
-   void              evas_hash_foreach                 (Evas_Hash *hash, Evas_Bool (*func) (Evas_Hash *hash, const char *key, void *data, void *fdata), const void *fdata);
-   int               evas_hash_alloc_error             (void);
-   
-   int               evas_alloc_error                  (void);
-
-   int               evas_init                         (void);
-   int               evas_shutdown                     (void);
+   EAPI Evas_Hash        *evas_hash_add                     (Evas_Hash *hash, const char *key, const void*data);
+   EAPI Evas_Hash        *evas_hash_del                     (Evas_Hash *hash, const char *key, const void*data);
+   EAPI void             *evas_hash_find                    (Evas_Hash *hash, const char *key);
+   EAPI int               evas_hash_size                    (Evas_Hash *hash);
+   EAPI void              evas_hash_free                    (Evas_Hash *hash);
+   EAPI void              evas_hash_foreach                 (Evas_Hash *hash, Evas_Bool (*func) (Evas_Hash *hash, const char *key, void *data, void *fdata), const void *fdata);
+   EAPI int               evas_hash_alloc_error             (void);
+   
+   EAPI int               evas_alloc_error                  (void);
+
+   EAPI int               evas_init                         (void);
+   EAPI int               evas_shutdown                     (void);
        
-   Evas             *evas_new                          (void);
-   void              evas_free                         (Evas *e);
+   EAPI Evas             *evas_new                          (void);
+   EAPI void              evas_free                         (Evas *e);
 
-   int               evas_render_method_lookup         (const char *name);
-   Evas_List        *evas_render_method_list           (void);
-   void              evas_render_method_list_free      (Evas_List *list);
+   EAPI int               evas_render_method_lookup         (const char *name);
+   EAPI Evas_List        *evas_render_method_list           (void);
+   EAPI void              evas_render_method_list_free      (Evas_List *list);
    
-   void              evas_output_method_set            (Evas *e, int render_method);
-   int               evas_output_method_get            (Evas *e);
+   EAPI void              evas_output_method_set            (Evas *e, int render_method);
+   EAPI int               evas_output_method_get            (Evas *e);
    
-   Evas_Engine_Info *evas_engine_info_get              (Evas *e);
-   void              evas_engine_info_set              (Evas *e, Evas_Engine_Info *info);
+   EAPI Evas_Engine_Info *evas_engine_info_get              (Evas *e);
+   EAPI void              evas_engine_info_set              (Evas *e, Evas_Engine_Info *info);
    
-   void              evas_output_size_set              (Evas *e, int w, int h);
-   void              evas_output_size_get              (Evas *e, int *w, int *h);
-   void              evas_output_viewport_set          (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
-   void              evas_output_viewport_get          (Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+   EAPI void              evas_output_size_set              (Evas *e, int w, int h);
+   EAPI void              evas_output_size_get              (Evas *e, int *w, int *h);
+   EAPI void              evas_output_viewport_set          (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
+   EAPI void              evas_output_viewport_get          (Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
    
-   Evas_Coord        evas_coord_screen_x_to_world      (Evas *e, int x);
-   Evas_Coord        evas_coord_screen_y_to_world      (Evas *e, int y);   
-   int               evas_coord_world_x_to_screen      (Evas *e, Evas_Coord x);
-   int               evas_coord_world_y_to_screen      (Evas *e, Evas_Coord y);
+   EAPI Evas_Coord        evas_coord_screen_x_to_world      (Evas *e, int x);
+   EAPI Evas_Coord        evas_coord_screen_y_to_world      (Evas *e, int y);   
+   EAPI int               evas_coord_world_x_to_screen      (Evas *e, Evas_Coord x);
+   EAPI int               evas_coord_world_y_to_screen      (Evas *e, Evas_Coord y);
        
-   void              evas_pointer_output_xy_get        (Evas *e, int *x, int *y);
-   void              evas_pointer_canvas_xy_get        (Evas *e, Evas_Coord *x, Evas_Coord *y);
-   int               evas_pointer_button_down_mask_get (Evas *e);
-   Evas_Bool         evas_pointer_inside_get           (Evas *e);
+   EAPI void              evas_pointer_output_xy_get        (Evas *e, int *x, int *y);
+   EAPI void              evas_pointer_canvas_xy_get        (Evas *e, Evas_Coord *x, Evas_Coord *y);
+   EAPI int               evas_pointer_button_down_mask_get (Evas *e);
+   EAPI Evas_Bool         evas_pointer_inside_get           (Evas *e);
 /* DOC UP TO HERE */
-   void              evas_damage_rectangle_add         (Evas *e, int x, int y, int w, int h);
-   void              evas_obscured_rectangle_add       (Evas *e, int x, int y, int w, int h);
-   void              evas_obscured_clear               (Evas *e);
-   Evas_List        *evas_render_updates               (Evas *e);
-   void              evas_render_updates_free          (Evas_List *updates);
-   void              evas_render                       (Evas *e);
+   EAPI void              evas_damage_rectangle_add         (Evas *e, int x, int y, int w, int h);
+   EAPI void              evas_obscured_rectangle_add       (Evas *e, int x, int y, int w, int h);
+   EAPI void              evas_obscured_clear               (Evas *e);
+   EAPI Evas_List        *evas_render_updates               (Evas *e);
+   EAPI void              evas_render_updates_free          (Evas_List *updates);
+   EAPI void              evas_render                       (Evas *e);
       
-   Evas_Object      *evas_object_rectangle_add         (Evas *e);
-   
-   Evas_Object      *evas_object_line_add              (Evas *e);
-   void              evas_object_line_xy_set           (Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2);
-   void              evas_object_line_xy_get           (Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2);
-   
-   Evas_Object      *evas_object_gradient_add          (Evas *e);
-   void              evas_object_gradient_color_add    (Evas_Object *obj, int r, int g, int b, int a, int distance);
-   void              evas_object_gradient_colors_clear (Evas_Object *obj);
-   void              evas_object_gradient_angle_set    (Evas_Object *obj, Evas_Angle angle);
-   Evas_Angle        evas_object_gradient_angle_get    (Evas_Object *obj);
-   
-   Evas_Object      *evas_object_polygon_add           (Evas *e);
-   void              evas_object_polygon_point_add     (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
-   void              evas_object_polygon_points_clear  (Evas_Object *obj);
-   
-   Evas_Object      *evas_object_image_add             (Evas *e);       
-   void              evas_object_image_file_set        (Evas_Object *obj, const char *file, const char *key);
-   void              evas_object_image_file_get        (Evas_Object *obj, char **file, char **key);
-   void              evas_object_image_border_set      (Evas_Object *obj, int l, int r, int t, int b);
-   void              evas_object_image_border_get      (Evas_Object *obj, int *l, int *r, int *t, int *b);
-   void              evas_object_image_fill_set        (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
-   void              evas_object_image_fill_get        (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
-   void              evas_object_image_size_set        (Evas_Object *obj, int w, int h);
-   void              evas_object_image_size_get        (Evas_Object *obj, int *w, int *h);
-   int               evas_object_image_load_error_get  (Evas_Object *obj);
-   void              evas_object_image_data_set        (Evas_Object *obj, void *data);
-   void             *evas_object_image_data_get        (Evas_Object *obj, Evas_Bool for_writing);
-   void              evas_object_image_data_copy_set   (Evas_Object *obj, void *data);
-   void              evas_object_image_data_update_add (Evas_Object *obj, int x, int y, int w, int h);
-   void              evas_object_image_alpha_set       (Evas_Object *obj, Evas_Bool has_alpha);
-   Evas_Bool         evas_object_image_alpha_get       (Evas_Object *obj);
-   void              evas_object_image_smooth_scale_set(Evas_Object *obj, Evas_Bool smooth_scale);
-   Evas_Bool         evas_object_image_smooth_scale_get(Evas_Object *obj);
-   void              evas_object_image_reload          (Evas_Object *obj);
-   Evas_Bool         evas_object_image_pixels_import          (Evas_Object *obj, Evas_Pixel_Import_Source *pixels);
-   void              evas_object_image_pixels_get_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *o), void *data);
-   void              evas_object_image_pixels_dirty_set       (Evas_Object *obj, Evas_Bool dirty);
-   Evas_Bool         evas_object_image_pixels_dirty_get       (Evas_Object *obj); 
+   EAPI Evas_Object      *evas_object_rectangle_add         (Evas *e);
+   
+   EAPI Evas_Object      *evas_object_line_add              (Evas *e);
+   EAPI void              evas_object_line_xy_set           (Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2);
+   EAPI void              evas_object_line_xy_get           (Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2);
+   
+   EAPI Evas_Object      *evas_object_gradient_add          (Evas *e);
+   EAPI void              evas_object_gradient_color_add    (Evas_Object *obj, int r, int g, int b, int a, int distance);
+   EAPI void              evas_object_gradient_colors_clear (Evas_Object *obj);
+   EAPI void              evas_object_gradient_angle_set    (Evas_Object *obj, Evas_Angle angle);
+   EAPI Evas_Angle        evas_object_gradient_angle_get    (Evas_Object *obj);
+   
+   EAPI Evas_Object      *evas_object_polygon_add           (Evas *e);
+   EAPI void              evas_object_polygon_point_add     (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
+   EAPI void              evas_object_polygon_points_clear  (Evas_Object *obj);
+   
+   EAPI Evas_Object      *evas_object_image_add             (Evas *e);       
+   EAPI void              evas_object_image_file_set        (Evas_Object *obj, const char *file, const char *key);
+   EAPI void              evas_object_image_file_get        (Evas_Object *obj, char **file, char **key);
+   EAPI void              evas_object_image_border_set      (Evas_Object *obj, int l, int r, int t, int b);
+   EAPI void              evas_object_image_border_get      (Evas_Object *obj, int *l, int *r, int *t, int *b);
+   EAPI void              evas_object_image_fill_set        (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
+   EAPI void              evas_object_image_fill_get        (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+   EAPI void              evas_object_image_size_set        (Evas_Object *obj, int w, int h);
+   EAPI void              evas_object_image_size_get        (Evas_Object *obj, int *w, int *h);
+   EAPI int               evas_object_image_load_error_get  (Evas_Object *obj);
+   EAPI void              evas_object_image_data_set        (Evas_Object *obj, void *data);
+   EAPI void             *evas_object_image_data_get        (Evas_Object *obj, Evas_Bool for_writing);
+   EAPI void              evas_object_image_data_copy_set   (Evas_Object *obj, void *data);
+   EAPI void              evas_object_image_data_update_add (Evas_Object *obj, int x, int y, int w, int h);
+   EAPI void              evas_object_image_alpha_set       (Evas_Object *obj, Evas_Bool has_alpha);
+   EAPI Evas_Bool         evas_object_image_alpha_get       (Evas_Object *obj);
+   EAPI void              evas_object_image_smooth_scale_set(Evas_Object *obj, Evas_Bool smooth_scale);
+   EAPI Evas_Bool         evas_object_image_smooth_scale_get(Evas_Object *obj);
+   EAPI void              evas_object_image_reload          (Evas_Object *obj);
+   EAPI Evas_Bool         evas_object_image_pixels_import          (Evas_Object *obj, Evas_Pixel_Import_Source *pixels);
+   EAPI void              evas_object_image_pixels_get_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *o), void *data);
+   EAPI void              evas_object_image_pixels_dirty_set       (Evas_Object *obj, Evas_Bool dirty);
+   EAPI Evas_Bool         evas_object_image_pixels_dirty_get       (Evas_Object *obj); 
        
-   void              evas_image_cache_flush            (Evas *e);
-   void              evas_image_cache_reload           (Evas *e);
-   void              evas_image_cache_set              (Evas *e, int size);
-   int               evas_image_cache_get              (Evas *e);
-   
-   Evas_Object      *evas_object_text_add              (Evas *e);
-   void              evas_object_text_font_source_set  (Evas_Object *obj, const char *font);
-   const char       *evas_object_text_font_source_get  (Evas_Object *obj);
-   void              evas_object_text_font_set         (Evas_Object *obj, const char *font, Evas_Font_Size size);
-   void              evas_object_text_font_get         (Evas_Object *obj, char **font, Evas_Font_Size *size);
-   void              evas_object_text_text_set         (Evas_Object *obj, const char *text);
-   const char       *evas_object_text_text_get         (Evas_Object *obj);
-   Evas_Coord        evas_object_text_ascent_get       (Evas_Object *obj);
-   Evas_Coord        evas_object_text_descent_get      (Evas_Object *obj);
-   Evas_Coord        evas_object_text_max_ascent_get   (Evas_Object *obj);
-   Evas_Coord        evas_object_text_max_descent_get  (Evas_Object *obj);
-   Evas_Coord        evas_object_text_horiz_advance_get(Evas_Object *obj);
-   Evas_Coord        evas_object_text_vert_advance_get (Evas_Object *obj);
-   Evas_Coord        evas_object_text_inset_get        (Evas_Object *obj);
-   int               evas_object_text_char_pos_get     (Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
-   int               evas_object_text_char_coords_get  (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
-   
-   int               evas_string_char_next_get         (const char *str, int pos, int *decoded);
-   int               evas_string_char_prev_get         (const char *str, int pos, int *decoded);
-
-   void              evas_font_path_clear              (Evas *e);
-   void              evas_font_path_append             (Evas *e, const char *path);
-   void              evas_font_path_prepend            (Evas *e, const char *path);
-   const Evas_List  *evas_font_path_list               (Evas *e);
+   EAPI void              evas_image_cache_flush            (Evas *e);
+   EAPI void              evas_image_cache_reload           (Evas *e);
+   EAPI void              evas_image_cache_set              (Evas *e, int size);
+   EAPI int               evas_image_cache_get              (Evas *e);
+   
+   EAPI Evas_Object      *evas_object_text_add              (Evas *e);
+   EAPI void              evas_object_text_font_source_set  (Evas_Object *obj, const char *font);
+   EAPI const char       *evas_object_text_font_source_get  (Evas_Object *obj);
+   EAPI void              evas_object_text_font_set         (Evas_Object *obj, const char *font, Evas_Font_Size size);
+   EAPI void              evas_object_text_font_get         (Evas_Object *obj, char **font, Evas_Font_Size *size);
+   EAPI void              evas_object_text_text_set         (Evas_Object *obj, const char *text);
+   EAPI const char       *evas_object_text_text_get         (Evas_Object *obj);
+   EAPI Evas_Coord        evas_object_text_ascent_get       (Evas_Object *obj);
+   EAPI Evas_Coord        evas_object_text_descent_get      (Evas_Object *obj);
+   EAPI Evas_Coord        evas_object_text_max_ascent_get   (Evas_Object *obj);
+   EAPI Evas_Coord        evas_object_text_max_descent_get  (Evas_Object *obj);
+   EAPI Evas_Coord        evas_object_text_horiz_advance_get(Evas_Object *obj);
+   EAPI Evas_Coord        evas_object_text_vert_advance_get (Evas_Object *obj);
+   EAPI Evas_Coord        evas_object_text_inset_get        (Evas_Object *obj);
+   EAPI int               evas_object_text_char_pos_get     (Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
+   EAPI int               evas_object_text_char_coords_get  (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
+   
+   EAPI int               evas_string_char_next_get         (const char *str, int pos, int *decoded);
+   EAPI int               evas_string_char_prev_get         (const char *str, int pos, int *decoded);
+
+   EAPI void              evas_font_path_clear              (Evas *e);
+   EAPI void              evas_font_path_append             (Evas *e, const char *path);
+   EAPI void              evas_font_path_prepend            (Evas *e, const char *path);
+   EAPI const Evas_List  *evas_font_path_list               (Evas *e);
        
-   void              evas_font_cache_flush             (Evas *e);
-   void              evas_font_cache_set               (Evas *e, int size);
-   int               evas_font_cache_get               (Evas *e);       
+   EAPI void              evas_font_cache_flush             (Evas *e);
+   EAPI void              evas_font_cache_set               (Evas *e, int size);
+   EAPI int               evas_font_cache_get               (Evas *e);       
    
-   void              evas_object_del                   (Evas_Object *obj);
+   EAPI void              evas_object_del                   (Evas_Object *obj);
 
-   const char       *evas_object_type_get              (Evas_Object *obj);
+   EAPI const char       *evas_object_type_get              (Evas_Object *obj);
    
-   void              evas_object_layer_set             (Evas_Object *obj, int l);
-   int               evas_object_layer_get             (Evas_Object *obj);
+   EAPI void              evas_object_layer_set             (Evas_Object *obj, int l);
+   EAPI int               evas_object_layer_get             (Evas_Object *obj);
    
-   void              evas_object_raise                 (Evas_Object *obj);
-   void              evas_object_lower                 (Evas_Object *obj);
-   void              evas_object_stack_above           (Evas_Object *obj, Evas_Object *above);
-   void              evas_object_stack_below           (Evas_Object *obj, Evas_Object *below);
-   Evas_Object      *evas_object_above_get             (Evas_Object *obj);
-   Evas_Object      *evas_object_below_get             (Evas_Object *obj);
-   Evas_Object      *evas_object_bottom_get            (Evas *e);
-   Evas_Object      *evas_object_top_get               (Evas *e);
+   EAPI void              evas_object_raise                 (Evas_Object *obj);
+   EAPI void              evas_object_lower                 (Evas_Object *obj);
+   EAPI void              evas_object_stack_above           (Evas_Object *obj, Evas_Object *above);
+   EAPI void              evas_object_stack_below           (Evas_Object *obj, Evas_Object *below);
+   EAPI Evas_Object      *evas_object_above_get             (Evas_Object *obj);
+   EAPI Evas_Object      *evas_object_below_get             (Evas_Object *obj);
+   EAPI Evas_Object      *evas_object_bottom_get            (Evas *e);
+   EAPI Evas_Object      *evas_object_top_get               (Evas *e);
        
-   void              evas_object_move                  (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
-   void              evas_object_resize                (Evas_Object *obj, Evas_Coord w, Evas_Coord h);
-   void              evas_object_geometry_get          (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);   
+   EAPI void              evas_object_move                  (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
+   EAPI void              evas_object_resize                (Evas_Object *obj, Evas_Coord w, Evas_Coord h);
+   EAPI void              evas_object_geometry_get          (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);   
 
-   void              evas_object_show                  (Evas_Object *obj);
-   void              evas_object_hide                  (Evas_Object *obj);
-   Evas_Bool         evas_object_visible_get           (Evas_Object *obj);
+   EAPI void              evas_object_show                  (Evas_Object *obj);
+   EAPI void              evas_object_hide                  (Evas_Object *obj);
+   EAPI Evas_Bool         evas_object_visible_get           (Evas_Object *obj);
    
-   void              evas_object_color_set             (Evas_Object *obj, int r, int g, int b, int a);
-   void              evas_object_color_get             (Evas_Object *obj, int *r, int *g, int *b, int *a);
+   EAPI void              evas_object_color_set             (Evas_Object *obj, int r, int g, int b, int a);
+   EAPI void              evas_object_color_get             (Evas_Object *obj, int *r, int *g, int *b, int *a);
    
-   void              evas_object_clip_set              (Evas_Object *obj, Evas_Object *clip);
-   Evas_Object      *evas_object_clip_get              (Evas_Object *obj);
-   void              evas_object_clip_unset            (Evas_Object *obj);
-   const Evas_List  *evas_object_clipees_get           (Evas_Object *obj);
+   EAPI void              evas_object_clip_set              (Evas_Object *obj, Evas_Object *clip);
+   EAPI Evas_Object      *evas_object_clip_get              (Evas_Object *obj);
+   EAPI void              evas_object_clip_unset            (Evas_Object *obj);
+   EAPI const Evas_List  *evas_object_clipees_get           (Evas_Object *obj);
    
-   void              evas_object_data_set              (Evas_Object *obj, const char *key, const void *data);
-   void             *evas_object_data_get              (Evas_Object *obj, const char *key);
-   void             *evas_object_data_del              (Evas_Object *obj, const char *key);
+   EAPI void              evas_object_data_set              (Evas_Object *obj, const char *key, const void *data);
+   EAPI void             *evas_object_data_get              (Evas_Object *obj, const char *key);
+   EAPI void             *evas_object_data_del              (Evas_Object *obj, const char *key);
    
-   void              evas_object_name_set              (Evas_Object *obj, const char *name);
-   const char       *evas_object_name_get              (Evas_Object *obj);
-   Evas_Object      *evas_object_name_find             (Evas *e, const char *name);   
+   EAPI void              evas_object_name_set              (Evas_Object *obj, const char *name);
+   EAPI const char       *evas_object_name_get              (Evas_Object *obj);
+   EAPI Evas_Object      *evas_object_name_find             (Evas *e, const char *name);   
    
-   Evas             *evas_object_evas_get              (Evas_Object *obj);
+   EAPI Evas             *evas_object_evas_get              (Evas_Object *obj);
    
-   Evas_Object      *evas_object_top_at_xy_get         (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects);
-   Evas_Object      *evas_object_top_at_pointer_get    (Evas *e);
-   Evas_Object      *evas_object_top_in_rectangle_get  (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects);
+   EAPI Evas_Object      *evas_object_top_at_xy_get         (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects);
+   EAPI Evas_Object      *evas_object_top_at_pointer_get    (Evas *e);
+   EAPI Evas_Object      *evas_object_top_in_rectangle_get  (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects);
    
-   Evas_List        *evas_objects_at_xy_get            (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects);
-   Evas_List        *evas_objects_in_rectangle_get     (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects);
+   EAPI Evas_List        *evas_objects_at_xy_get            (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects);
+   EAPI Evas_List        *evas_objects_in_rectangle_get     (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects);
 
-   Evas_Smart       *evas_smart_new                    (const char *name, void (*func_add) (Evas_Object *obj), void (*func_del) (Evas_Object *obj), void (*func_layer_set) (Evas_Object *obj, int l), void (*func_raise) (Evas_Object *obj), void (*func_lower) (Evas_Object *obj), void (*func_stack_above) (Evas_Object *obj, Evas_Object *above), void (*func_stack_below) (Evas_Object *obj, Evas_Object *below), void (*func_move) (Evas_Object *obj, Evas_Coord x, Evas_Coord y), void (*func_resize) (Evas_Object *obj, Evas_Coord w, Evas_Coord h), void (*func_show) (Evas_Object *obj), void (*func_hide) (Evas_Object *obj), void (*func_color_set) (Evas_Object *obj, int r, int g, int b, int a), void (*func_clip_set) (Evas_Object *obj, Evas_Object *clip), void (*func_clip_unset) (Evas_Object *obj), const void *data);
-   void              evas_smart_free                   (Evas_Smart *s);
-   Evas_Smart       *evas_smart_class_new              (Evas_Smart_Class *sc);
-   Evas_Smart_Class *evas_smart_class_get              (Evas_Smart *s);
+   EAPI Evas_Smart       *evas_smart_new                    (const char *name, void (*func_add) (Evas_Object *obj), void (*func_del) (Evas_Object *obj), void (*func_layer_set) (Evas_Object *obj, int l), void (*func_raise) (Evas_Object *obj), void (*func_lower) (Evas_Object *obj), void (*func_stack_above) (Evas_Object *obj, Evas_Object *above), void (*func_stack_below) (Evas_Object *obj, Evas_Object *below), void (*func_move) (Evas_Object *obj, Evas_Coord x, Evas_Coord y), void (*func_resize) (Evas_Object *obj, Evas_Coord w, Evas_Coord h), void (*func_show) (Evas_Object *obj), void (*func_hide) (Evas_Object *obj), void (*func_color_set) (Evas_Object *obj, int r, int g, int b, int a), void (*func_clip_set) (Evas_Object *obj, Evas_Object *clip), void (*func_clip_unset) (Evas_Object *obj), const void *data);
+   EAPI void              evas_smart_free                   (Evas_Smart *s);
+   EAPI Evas_Smart       *evas_smart_class_new              (Evas_Smart_Class *sc);
+   EAPI Evas_Smart_Class *evas_smart_class_get              (Evas_Smart *s);
        
-   void             *evas_smart_data_get               (Evas_Smart *s);
+   EAPI void             *evas_smart_data_get               (Evas_Smart *s);
        
-   Evas_Object      *evas_object_smart_add             (Evas *e, Evas_Smart *s);
-   void              evas_object_smart_member_add      (Evas_Object *obj, Evas_Object *smart_obj);
-   void              evas_object_smart_member_del      (Evas_Object *obj);
-   Evas_Smart       *evas_object_smart_smart_get       (Evas_Object *obj);
-   void             *evas_object_smart_data_get        (Evas_Object *obj);
-   void              evas_object_smart_data_set        (Evas_Object *obj, void *data);
-   void              evas_object_smart_callback_add    (Evas_Object *obj, const char *event, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data);
-   void             *evas_object_smart_callback_del    (Evas_Object *obj, const char *event, void (*func) (void *data, Evas_Object *obj, void *event_info));
-   void              evas_object_smart_callback_call   (Evas_Object *obj, const char *event, void *event_info);
-   
-   void              evas_event_freeze                 (Evas *e);
-   void              evas_event_thaw                   (Evas *e);
-   int               evas_event_freeze_get             (Evas *e);
-   void              evas_event_feed_mouse_down_data   (Evas *e, int b, const void *data);
-   void              evas_event_feed_mouse_up_data     (Evas *e, int b, const void *data);
-   void              evas_event_feed_mouse_move_data   (Evas *e, int x, int y, const void *data);
-   void              evas_event_feed_mouse_in_data     (Evas *e, const void *data);
-   void              evas_event_feed_mouse_out_data    (Evas *e, const void *data);
-   void              evas_event_feed_mouse_wheel_data  (Evas *e, int direction, int z, const void *data);
-   void              evas_event_feed_key_down_data     (Evas *e, const char *keyname, const void *data);
-   void              evas_event_feed_key_up_data       (Evas *e, const char *keyname, const void *data);
-   void              evas_event_feed_mouse_down        (Evas *e, int b);
-   void              evas_event_feed_mouse_up          (Evas *e, int b);
-   void              evas_event_feed_mouse_move        (Evas *e, int x, int y);
-   void              evas_event_feed_mouse_in          (Evas *e);
-   void              evas_event_feed_mouse_out         (Evas *e);
-   void              evas_event_feed_mouse_wheel       (Evas *e, int direction, int z);
-   void              evas_event_feed_key_down          (Evas *e, const char *keyname);
-   void              evas_event_feed_key_up            (Evas *e, const char *keyname);
-
-   void              evas_object_focus_set             (Evas_Object *obj, Evas_Bool focus);
-   Evas_Bool         evas_object_focus_get             (Evas_Object *obj);
-
-   Evas_Object      *evas_focus_get                    (Evas *e);
-
-   Evas_Modifier    *evas_key_modifier_get             (Evas *e);
-   Evas_Lock        *evas_key_lock_get                 (Evas *e);
-
-   Evas_Bool         evas_key_modifier_is_set_get      (Evas_Modifier *m, const char *keyname);
-
-   Evas_Bool         evas_key_lock_is_set_get          (Evas_Lock *l, const char *keyname);
-   
-   void              evas_key_modifier_add             (Evas *e, const char *keyname);
-   void              evas_key_modifier_del             (Evas *e, const char *keyname);
-   void              evas_key_lock_add                 (Evas *e, const char *keyname);
-   void              evas_key_lock_del                 (Evas *e, const char *keyname);
-   
-   void              evas_key_modifier_on              (Evas *e, const char *keyname);
-   void              evas_key_modifier_off             (Evas *e, const char *keyname);
-   void              evas_key_lock_on                  (Evas *e, const char *keyname);
-   void              evas_key_lock_off                 (Evas *e, const char *keyname);
-   
-   Evas_Modifier_Mask evas_key_modifier_mask_get       (Evas *e, const char *keyname);
-
-   Evas_Bool         evas_object_key_grab        (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers, Evas_Bool exclusive);
-   void              evas_object_key_ungrab            (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers);
-   
-   void              evas_object_pass_events_set       (Evas_Object *obj, Evas_Bool pass);
-   Evas_Bool         evas_object_pass_events_get       (Evas_Object *obj);
-   void              evas_object_repeat_events_set     (Evas_Object *obj, Evas_Bool repeat);
-   Evas_Bool         evas_object_repeat_events_get     (Evas_Object *obj);
-
-   void              evas_object_event_callback_add    (Evas_Object *obj, Evas_Callback_Type type, void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info), const void *data);
-   void             *evas_object_event_callback_del    (Evas_Object *obj, Evas_Callback_Type type, void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info));
-
-   void              evas_object_intercept_show_callback_add        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
-   void             *evas_object_intercept_show_callback_del        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
-   void              evas_object_intercept_hide_callback_add        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
-   void             *evas_object_intercept_hide_callback_del        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
-   void              evas_object_intercept_move_callback_add        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y), const void *data);
-   void             *evas_object_intercept_move_callback_del        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y));
-   void              evas_object_intercept_resize_callback_add      (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h), const void *data);
-   void             *evas_object_intercept_resize_callback_del      (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h));
-   void              evas_object_intercept_raise_callback_add       (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
-   void             *evas_object_intercept_raise_callback_del       (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
-   void              evas_object_intercept_lower_callback_add       (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
-   void             *evas_object_intercept_lower_callback_del       (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
-   void              evas_object_intercept_stack_above_callback_add (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Object *above), const void *data);
-   void             *evas_object_intercept_stack_above_callback_del (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Object *above));
-   void              evas_object_intercept_stack_below_callback_add (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Object *below), const void *data);
-   void             *evas_object_intercept_stack_below_callback_del (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Object *below));
-   void              evas_object_intercept_layer_set_callback_add   (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, int l), const void *data);
-   void             *evas_object_intercept_layer_set_callback_del   (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, int l));
+   EAPI Evas_Object      *evas_object_smart_add             (Evas *e, Evas_Smart *s);
+   EAPI void              evas_object_smart_member_add      (Evas_Object *obj, Evas_Object *smart_obj);
+   EAPI void              evas_object_smart_member_del      (Evas_Object *obj);
+   EAPI Evas_Smart       *evas_object_smart_smart_get       (Evas_Object *obj);
+   EAPI void             *evas_object_smart_data_get        (Evas_Object *obj);
+   EAPI void              evas_object_smart_data_set        (Evas_Object *obj, void *data);
+   EAPI void              evas_object_smart_callback_add    (Evas_Object *obj, const char *event, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data);
+   EAPI void             *evas_object_smart_callback_del    (Evas_Object *obj, const char *event, void (*func) (void *data, Evas_Object *obj, void *event_info));
+   EAPI void              evas_object_smart_callback_call   (Evas_Object *obj, const char *event, void *event_info);
+   
+   EAPI void              evas_event_freeze                 (Evas *e);
+   EAPI void              evas_event_thaw                   (Evas *e);
+   EAPI int               evas_event_freeze_get             (Evas *e);
+   EAPI void              evas_event_feed_mouse_down_data   (Evas *e, int b, const void *data);
+   EAPI void              evas_event_feed_mouse_up_data     (Evas *e, int b, const void *data);
+   EAPI void              evas_event_feed_mouse_move_data   (Evas *e, int x, int y, const void *data);
+   EAPI void              evas_event_feed_mouse_in_data     (Evas *e, const void *data);
+   EAPI void              evas_event_feed_mouse_out_data    (Evas *e, const void *data);
+   EAPI void              evas_event_feed_mouse_wheel_data  (Evas *e, int direction, int z, const void *data);
+   EAPI void              evas_event_feed_key_down_data     (Evas *e, const char *keyname, const void *data);
+   EAPI void              evas_event_feed_key_up_data       (Evas *e, const char *keyname, const void *data);
+   EAPI void              evas_event_feed_mouse_down        (Evas *e, int b);
+   EAPI void              evas_event_feed_mouse_up          (Evas *e, int b);
+   EAPI void              evas_event_feed_mouse_move        (Evas *e, int x, int y);
+   EAPI void              evas_event_feed_mouse_in          (Evas *e);
+   EAPI void              evas_event_feed_mouse_out         (Evas *e);
+   EAPI void              evas_event_feed_mouse_wheel       (Evas *e, int direction, int z);
+   EAPI void              evas_event_feed_key_down          (Evas *e, const char *keyname);
+   EAPI void              evas_event_feed_key_up            (Evas *e, const char *keyname);
+
+   EAPI void              evas_object_focus_set             (Evas_Object *obj, Evas_Bool focus);
+   EAPI Evas_Bool         evas_object_focus_get             (Evas_Object *obj);
+
+   EAPI Evas_Object      *evas_focus_get                    (Evas *e);
+
+   EAPI Evas_Modifier    *evas_key_modifier_get             (Evas *e);
+   EAPI Evas_Lock        *evas_key_lock_get                 (Evas *e);
+
+   EAPI Evas_Bool         evas_key_modifier_is_set_get      (Evas_Modifier *m, const char *keyname);
+
+   EAPI Evas_Bool         evas_key_lock_is_set_get          (Evas_Lock *l, const char *keyname);
+   
+   EAPI void              evas_key_modifier_add             (Evas *e, const char *keyname);
+   EAPI void              evas_key_modifier_del             (Evas *e, const char *keyname);
+   EAPI void              evas_key_lock_add                 (Evas *e, const char *keyname);
+   EAPI void              evas_key_lock_del                 (Evas *e, const char *keyname);
+   
+   EAPI void              evas_key_modifier_on              (Evas *e, const char *keyname);
+   EAPI void              evas_key_modifier_off             (Evas *e, const char *keyname);
+   EAPI void              evas_key_lock_on                  (Evas *e, const char *keyname);
+   EAPI void              evas_key_lock_off                 (Evas *e, const char *keyname);
+   
+   EAPI Evas_Modifier_Mask evas_key_modifier_mask_get       (Evas *e, const char *keyname);
+
+   EAPI Evas_Bool         evas_object_key_grab        (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers, Evas_Bool exclusive);
+   EAPI void              evas_object_key_ungrab            (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers);
+   
+   EAPI void              evas_object_pass_events_set       (Evas_Object *obj, Evas_Bool pass);
+   EAPI Evas_Bool         evas_object_pass_events_get       (Evas_Object *obj);
+   EAPI void              evas_object_repeat_events_set     (Evas_Object *obj, Evas_Bool repeat);
+   EAPI Evas_Bool         evas_object_repeat_events_get     (Evas_Object *obj);
+
+   EAPI void              evas_object_event_callback_add    (Evas_Object *obj, Evas_Callback_Type type, void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info), const void *data);
+   EAPI void             *evas_object_event_callback_del    (Evas_Object *obj, Evas_Callback_Type type, void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info));
+
+   EAPI void              evas_object_intercept_show_callback_add        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
+   EAPI void             *evas_object_intercept_show_callback_del        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
+   EAPI void              evas_object_intercept_hide_callback_add        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
+   EAPI void             *evas_object_intercept_hide_callback_del        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
+   EAPI void              evas_object_intercept_move_callback_add        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y), const void *data);
+   EAPI void             *evas_object_intercept_move_callback_del        (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y));
+   EAPI void              evas_object_intercept_resize_callback_add      (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h), const void *data);
+   EAPI void             *evas_object_intercept_resize_callback_del      (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h));
+   EAPI void              evas_object_intercept_raise_callback_add       (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
+   EAPI void             *evas_object_intercept_raise_callback_del       (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
+   EAPI void              evas_object_intercept_lower_callback_add       (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
+   EAPI void             *evas_object_intercept_lower_callback_del       (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
+   EAPI void              evas_object_intercept_stack_above_callback_add (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Object *above), const void *data);
+   EAPI void             *evas_object_intercept_stack_above_callback_del (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Object *above));
+   EAPI void              evas_object_intercept_stack_below_callback_add (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Object *below), const void *data);
+   EAPI void             *evas_object_intercept_stack_below_callback_del (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Evas_Object *below));
+   EAPI void              evas_object_intercept_layer_set_callback_add   (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, int l), const void *data);
+   EAPI void             *evas_object_intercept_layer_set_callback_del   (Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, int l));
 
 /* Evas imaging api - exports some of the comon gfx engine routines */   
 /* this is not complete and should be considered experimental. use at your */
@@ -547,28 +564,28 @@ extern "C" {
 #endif
 #endif
 
-   Evas_Imaging_Image *evas_imaging_image_load      (const char *file, const char *key);
-   void                evas_imaging_image_free      (Evas_Imaging_Image *im);
-   void                evas_imaging_image_size_get  (Evas_Imaging_Image *im, int *w, int *h);
-   Evas_Bool           evas_imaging_image_alpha_get (Evas_Imaging_Image *im);
-   void                evas_imaging_image_cache_set (int bytes);
-   int                 evas_imaging_image_cache_get (void);
-   
-   Evas_Imaging_Font  *evas_imaging_font_load                      (const char *file, const char *key, int size);
-   void                evas_imaging_font_free                      (Evas_Imaging_Font *fn);
-   int                 evas_imaging_font_ascent_get                (Evas_Imaging_Font *fn);
-   int                 evas_imaging_font_descent_get               (Evas_Imaging_Font *fn);
-   int                 evas_imaging_font_max_ascent_get            (Evas_Imaging_Font *fn);
-   int                 evas_imaging_font_max_descent_get           (Evas_Imaging_Font *fn);
-   int                 evas_imaging_font_line_advance_get          (Evas_Imaging_Font *fn);
-   void                evas_imaging_font_string_advance_get        (Evas_Imaging_Font *fn, char *str, int *x, int *y);
-   void                evas_imaging_font_string_size_query         (Evas_Imaging_Font *fn, char *str, int *w, int *h);
-   int                 evas_imaging_font_string_inset_get          (Evas_Imaging_Font *fn, char *str);
-   int                 evas_imaging_font_string_char_coords_get    (Evas_Imaging_Font *fn, char *str, int pos, int *cx, int *cy, int *cw, int *ch);
-   int                 evas_imaging_font_string_char_at_coords_get (Evas_Imaging_Font *fn, char *str, int x, int y, int *cx, int *cy, int *cw, int *ch);
-   
-   void                evas_imaging_font_cache_set  (int bytes);
-   int                 evas_imaging_font_cache_get  (void);
+   EAPI Evas_Imaging_Image *evas_imaging_image_load      (const char *file, const char *key);
+   EAPI void                evas_imaging_image_free      (Evas_Imaging_Image *im);
+   EAPI void                evas_imaging_image_size_get  (Evas_Imaging_Image *im, int *w, int *h);
+   EAPI Evas_Bool           evas_imaging_image_alpha_get (Evas_Imaging_Image *im);
+   EAPI void                evas_imaging_image_cache_set (int bytes);
+   EAPI int                 evas_imaging_image_cache_get (void);
+   
+   EAPI Evas_Imaging_Font  *evas_imaging_font_load                      (const char *file, const char *key, int size);
+   EAPI void                evas_imaging_font_free                      (Evas_Imaging_Font *fn);
+   EAPI int                 evas_imaging_font_ascent_get                (Evas_Imaging_Font *fn);
+   EAPI int                 evas_imaging_font_descent_get               (Evas_Imaging_Font *fn);
+   EAPI int                 evas_imaging_font_max_ascent_get            (Evas_Imaging_Font *fn);
+   EAPI int                 evas_imaging_font_max_descent_get           (Evas_Imaging_Font *fn);
+   EAPI int                 evas_imaging_font_line_advance_get          (Evas_Imaging_Font *fn);
+   EAPI void                evas_imaging_font_string_advance_get        (Evas_Imaging_Font *fn, char *str, int *x, int *y);
+   EAPI void                evas_imaging_font_string_size_query         (Evas_Imaging_Font *fn, char *str, int *w, int *h);
+   EAPI int                 evas_imaging_font_string_inset_get          (Evas_Imaging_Font *fn, char *str);
+   EAPI int                 evas_imaging_font_string_char_coords_get    (Evas_Imaging_Font *fn, char *str, int pos, int *cx, int *cy, int *cw, int *ch);
+   EAPI int                 evas_imaging_font_string_char_at_coords_get (Evas_Imaging_Font *fn, char *str, int x, int y, int *cx, int *cy, int *cw, int *ch);
+   
+   EAPI void                evas_imaging_font_cache_set  (int bytes);
+   EAPI int                 evas_imaging_font_cache_get  (void);
        
 #ifdef __cplusplus
 }