-#define module_LoadBuiltins(a) __module_LoadBuiltins(VLC_OBJECT(a))
-void __module_LoadBuiltins ( vlc_object_t * );
-#define module_LoadPlugins(a) __module_LoadPlugins(VLC_OBJECT(a))
-void __module_LoadPlugins ( vlc_object_t * );
-#define module_EndBank(a) __module_EndBank(VLC_OBJECT(a))
-void __module_EndBank ( vlc_object_t * );
-#define module_ResetBank(a) __module_ResetBank(VLC_OBJECT(a))
-void __module_ResetBank ( vlc_object_t * );
+void module_LoadPlugins( vlc_object_t *, bool );
+#define module_LoadPlugins(a,b) module_LoadPlugins(VLC_OBJECT(a),b)
+void module_EndBank( vlc_object_t *, bool );
+#define module_EndBank(a,b) module_EndBank(VLC_OBJECT(a), b)
+
+int vlc_bindtextdomain (const char *);
+
+/* Low-level OS-dependent handler */
+int module_Load (vlc_object_t *, const char *, module_handle_t *);
+int module_Call (vlc_object_t *obj, module_t *);
+void module_Unload (module_handle_t);
+
+/* Plugins cache */
+void CacheMerge (vlc_object_t *, module_t *, module_t *);
+void CacheLoad (vlc_object_t *, module_bank_t *, bool);
+void CacheSave (vlc_object_t *, module_bank_t *);
+module_cache_t * CacheFind (module_bank_t *, const char *, int64_t, int64_t);
+
+#endif /* !__LIBVLC_MODULES_H */