Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/include/llvm-c/Support.h
35233 views
1
/*===-- llvm-c/Support.h - Support C Interface --------------------*- C -*-===*\
2
|* *|
3
|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
4
|* Exceptions. *|
5
|* See https://llvm.org/LICENSE.txt for license information. *|
6
|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
7
|* *|
8
|*===----------------------------------------------------------------------===*|
9
|* *|
10
|* This file defines the C interface to the LLVM support library. *|
11
|* *|
12
\*===----------------------------------------------------------------------===*/
13
14
#ifndef LLVM_C_SUPPORT_H
15
#define LLVM_C_SUPPORT_H
16
17
#include "llvm-c/DataTypes.h"
18
#include "llvm-c/ExternC.h"
19
#include "llvm-c/Types.h"
20
21
LLVM_C_EXTERN_C_BEGIN
22
23
/**
24
* @addtogroup LLVMCCore
25
*
26
* @{
27
*/
28
29
/**
30
* This function permanently loads the dynamic library at the given path.
31
* It is safe to call this function multiple times for the same library.
32
*
33
* @see sys::DynamicLibrary::LoadLibraryPermanently()
34
*/
35
LLVMBool LLVMLoadLibraryPermanently(const char* Filename);
36
37
/**
38
* This function parses the given arguments using the LLVM command line parser.
39
* Note that the only stable thing about this function is its signature; you
40
* cannot rely on any particular set of command line arguments being interpreted
41
* the same way across LLVM versions.
42
*
43
* @see llvm::cl::ParseCommandLineOptions()
44
*/
45
void LLVMParseCommandLineOptions(int argc, const char *const *argv,
46
const char *Overview);
47
48
/**
49
* This function will search through all previously loaded dynamic
50
* libraries for the symbol \p symbolName. If it is found, the address of
51
* that symbol is returned. If not, null is returned.
52
*
53
* @see sys::DynamicLibrary::SearchForAddressOfSymbol()
54
*/
55
void *LLVMSearchForAddressOfSymbol(const char *symbolName);
56
57
/**
58
* This functions permanently adds the symbol \p symbolName with the
59
* value \p symbolValue. These symbols are searched before any
60
* libraries.
61
*
62
* @see sys::DynamicLibrary::AddSymbol()
63
*/
64
void LLVMAddSymbol(const char *symbolName, void *symbolValue);
65
66
/**
67
* @}
68
*/
69
70
LLVM_C_EXTERN_C_END
71
72
#endif
73
74