+static const char default_name[] = "unnamed";
+
+module_t *vlc_module_create (vlc_object_t *obj)
+{
+ module_t *module = vlc_object_create (obj, VLC_OBJECT_MODULE);
+ if (module == NULL)
+ return NULL;
+
+#ifndef HAVE_SHARED_LIBVLC
+ module->p_symbols = &obj->p_libvlc_global->p_module_bank->symbols;
+#endif
+ module->b_loaded = module->b_submodule = VLC_FALSE;
+ module->b_reentrant = module->b_unloadable = VLC_TRUE;
+ module->psz_object_name = module->psz_longname = default_name;
+ module->psz_help = module->psz_shortname = NULL;
+ module->pp_shortcuts[0] = default_name;
+ for (unsigned i = 1; i < MODULE_SHORTCUT_MAX; i++)
+ module->pp_shortcuts[i] = NULL;
+
+ module->i_cpu = 0;
+ module->psz_program = NULL;
+ module->psz_capability = "";
+ module->i_score = 1;
+ module->pf_activate = NULL;
+ module->pf_deactivate = NULL;
+ return module;
+}
+