Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dynload.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2009-2011 johannes hanika.
4 Copyright (C) 2011 Ulrich Pegelow.
5 Copyright (C) 2012 Richard Wonka.
6 Copyright (C) 2013-2014, 2016 Tobias Ellinghaus.
7 Copyright (C) 2020 parafin.
8 Copyright (C) 2020 Pascal Obry.
9 Copyright (C) 2022 Martin Baƙinka.
10
11 darktable is free software: you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
15
16 darktable is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with darktable. If not, see <http://www.gnu.org/licenses/>.
23*/
24
25#ifndef DT_SYSTEM_DYNLOAD_H
26#define DT_SYSTEM_DYNLOAD_H
27
28#ifdef HAVE_OPENCL
29
30#ifdef HAVE_CONFIG_H
31#include "config.h"
32#endif
33
34#ifndef __APPLE__
35#include <glib.h>
36#include <gmodule.h>
37#endif
38
39typedef struct dt_gmodule_t
40{
41#ifndef __APPLE__
42 GModule *gmodule;
43#else
44 void *gmodule;
45#endif
46 char *library;
48
49
50/* check if gmodules is supported on this platform */
51int dt_gmodule_supported(void);
52
53/* dynamically load library */
54dt_gmodule_t *dt_gmodule_open(const char *);
55
56/* get pointer to function */
57int dt_gmodule_symbol(dt_gmodule_t *, const char *, void (**)(void));
58
59#endif // HAVE_OPENCL
60
61#endif // DT_SYSTEM_DYNLOAD_H
62
63// clang-format off
64// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
65// vim: shiftwidth=2 expandtab tabstop=2 cindent
66// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
67// clang-format on
68
dt_gmodule_t * dt_gmodule_open(const char *)
Definition dynload.c:98
int dt_gmodule_symbol(dt_gmodule_t *, const char *, void(**)(void))
Definition dynload.c:115
int dt_gmodule_supported(void)
APPLE
Definition dynload.c:92
APPLE
Definition dynload.h:40
char * library
Definition dynload.h:46
void * gmodule
Definition dynload.h:44