aboutsummaryrefslogtreecommitdiffstats
path: root/src/dynlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynlib.h')
-rw-r--r--src/dynlib.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/dynlib.h b/src/dynlib.h
new file mode 100644
index 00000000000..1c19b5db8ac
--- /dev/null
+++ b/src/dynlib.h
@@ -0,0 +1,34 @@
1/* Portable API for dynamic loading.
2
3Copyright 2015 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#ifndef DYNLIB_H
21#define DYNLIB_H
22
23#include <stdbool.h>
24
25typedef void *dynlib_handle_ptr;
26dynlib_handle_ptr dynlib_open (const char *path);
27void *dynlib_sym (dynlib_handle_ptr h, const char *sym);
28typedef struct dynlib_function_ptr_nonce *(*dynlib_function_ptr) (void);
29dynlib_function_ptr dynlib_func (dynlib_handle_ptr h, const char *sym);
30bool dynlib_addr (void *ptr, const char **path, const char **sym);
31const char *dynlib_error (void);
32int dynlib_close (dynlib_handle_ptr h);
33
34#endif /* DYNLIB_H */