1 | //===- coff_platform.h -------------------------------------------*- C++-*-===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | // |
9 | // ORC Runtime support for dynamic loading features on COFF-based platforms. |
10 | // |
11 | //===----------------------------------------------------------------------===// |
12 | |
13 | #ifndef ORC_RT_COFF_PLATFORM_H |
14 | #define ORC_RT_COFF_PLATFORM_H |
15 | |
16 | #include "common.h" |
17 | #include "executor_address.h" |
18 | |
19 | // dlfcn functions. |
20 | ORC_RT_INTERFACE const char *__orc_rt_coff_jit_dlerror(); |
21 | ORC_RT_INTERFACE void *__orc_rt_coff_jit_dlopen(const char *path, int mode); |
22 | ORC_RT_INTERFACE int __orc_rt_coff_jit_dlclose(void *); |
23 | ORC_RT_INTERFACE void *__orc_rt_coff_jit_dlsym(void *, |
24 | const char *symbol); |
25 | |
26 | namespace __orc_rt { |
27 | namespace coff { |
28 | |
29 | enum dlopen_mode : int { |
30 | ORC_RT_RTLD_LAZY = 0x1, |
31 | ORC_RT_RTLD_NOW = 0x2, |
32 | ORC_RT_RTLD_LOCAL = 0x4, |
33 | ORC_RT_RTLD_GLOBAL = 0x8 |
34 | }; |
35 | |
36 | } // end namespace coff |
37 | } // end namespace __orc_rt |
38 | |
39 | #endif |
40 | |