コード例 #1
0
ファイル: storage_backend.c プロジェクト: RWTH-OS/libvirt
static int
virStorageDriverLoadBackendModule(const char *name,
                                  const char *regfunc,
                                  bool forceload)
{
    char *modfile = NULL;
    int ret;

    if (!(modfile = virFileFindResourceFull(name,
                                            "libvirt_storage_backend_",
                                            ".so",
                                            abs_topbuilddir "/src/.libs",
                                            STORAGE_BACKEND_MODULE_DIR,
                                            "LIBVIRT_STORAGE_BACKEND_DIR")))
        return 1;

    if ((ret = virDriverLoadModuleFull(modfile, regfunc, NULL)) != 0) {
        if (forceload) {
            virReportError(VIR_ERR_INTERNAL_ERROR,
                           _("failed to load storage backend module '%s'"),
                           name);
            ret = -1;
        }
    }

    VIR_FREE(modfile);

    return ret;
}
コード例 #2
0
ファイル: driver.c プロジェクト: aruiz/libvirt
int
virDriverLoadModule(const char *name,
                    const char *regfunc)
{
    char *modfile = NULL;
    int ret;

    VIR_DEBUG("Module load %s", name);

    if (!(modfile = virFileFindResourceFull(name,
                                            "libvirt_driver_",
                                            ".so",
                                            abs_topbuilddir "/src/.libs",
                                            DEFAULT_DRIVER_DIR,
                                            "LIBVIRT_DRIVER_DIR")))
        return 1;

    ret = virDriverLoadModuleFull(modfile, regfunc, NULL);

    VIR_FREE(modfile);

    return ret;
}