Index: src/lib/ecore_wayland/ecore_wl.c
===================================================================
--- src/lib/ecore_wayland/ecore_wl.c	(revision 83566)
+++ src/lib/ecore_wayland/ecore_wl.c	(working copy)
@@ -194,6 +194,18 @@
    return _ecore_wl_disp->wl.display;
 }
 
+EAPI struct wl_list
+ecore_wl_globals_get(void)
+{
+   return _ecore_wl_disp->globals;
+}
+
+EAPI struct wl_registry *
+ecore_wl_registry_get(void)
+{
+   return _ecore_wl_disp->wl.registry;
+}
+
 EAPI void
 ecore_wl_screen_size_get(int *w, int *h)
 {
Index: src/lib/ecore_wayland/Ecore_Wayland.h
===================================================================
--- src/lib/ecore_wayland/Ecore_Wayland.h	(revision 83566)
+++ src/lib/ecore_wayland/Ecore_Wayland.h	(working copy)
@@ -26,6 +26,10 @@
 #  define EAPI
 # endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct _Ecore_Wl_Display Ecore_Wl_Display;
 typedef struct _Ecore_Wl_Output Ecore_Wl_Output;
 typedef struct _Ecore_Wl_Input Ecore_Wl_Input;
@@ -481,6 +485,8 @@
 EAPI void ecore_wl_input_cursor_default_restore(Ecore_Wl_Input *input);
 
 EAPI struct wl_list ecore_wl_outputs_get(void);
+EAPI struct wl_list ecore_wl_globals_get(void);
+EAPI struct wl_registry *ecore_wl_registry_get(void);
 
 /**
  * @defgroup Ecore_Wl_Window_Group Wayland Window functions.
@@ -604,4 +610,8 @@
 EAPI Eina_Bool ecore_wl_dnd_start_drag();
 EAPI Eina_Bool ecore_wl_dnd_selection_has_owner(Ecore_Wl_Dnd *dnd);
 
+#ifdef __cplusplus
+}
 #endif
+
+#endif
