| //===- coff_platform.h -------------------------------------------*- C++-*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // ORC Runtime support for dynamic loading features on COFF-based platforms. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef ORC_RT_COFF_PLATFORM_H |
| #define ORC_RT_COFF_PLATFORM_H |
| |
| #include "common.h" |
| #include "executor_address.h" |
| |
| // dlfcn functions. |
| ORC_RT_INTERFACE const char *__orc_rt_coff_jit_dlerror(); |
| ORC_RT_INTERFACE void *__orc_rt_coff_jit_dlopen(const char *path, int mode); |
| ORC_RT_INTERFACE int __orc_rt_coff_jit_dlclose(void *header); |
| ORC_RT_INTERFACE void *__orc_rt_coff_jit_dlsym(void *header, |
| const char *symbol); |
| |
| namespace __orc_rt { |
| namespace coff { |
| |
| enum dlopen_mode : int { |
| ORC_RT_RTLD_LAZY = 0x1, |
| ORC_RT_RTLD_NOW = 0x2, |
| ORC_RT_RTLD_LOCAL = 0x4, |
| ORC_RT_RTLD_GLOBAL = 0x8 |
| }; |
| |
| } // end namespace coff |
| } // end namespace __orc_rt |
| |
| #endif |