1 /*===-- llvm-c/Support.h - Support C Interface --------------------*- C -*-===*\
3 |* The LLVM Compiler Infrastructure *|
5 |* This file is distributed under the University of Illinois Open Source *|
6 |* License. See LICENSE.TXT for details. *|
8 |*===----------------------------------------------------------------------===*|
10 |* This file defines the C interface to the LLVM support library. *|
12 \*===----------------------------------------------------------------------===*/
14 #ifndef LLVM_C_SUPPORT_H
15 #define LLVM_C_SUPPORT_H
17 #include "llvm/Support/DataTypes.h"
24 * @defgroup LLVMCSupportTypes Types and Enumerations
32 * Used to pass regions of memory through LLVM interfaces.
34 * @see llvm::MemoryBuffer
36 typedef struct LLVMOpaqueMemoryBuffer *LLVMMemoryBufferRef;
43 * This function permanently loads the dynamic library at the given path.
44 * It is safe to call this function multiple times for the same library.
46 * @see sys::DynamicLibrary::LoadLibraryPermanently()
48 LLVMBool LLVMLoadLibraryPermanently(const char* Filename);
51 * This function parses the given arguments using the LLVM command line parser.
52 * Note that the only stable thing about this function is its signature; you
53 * cannot rely on any particular set of command line arguments being interpreted
54 * the same way across LLVM versions.
56 * @see llvm::cl::ParseCommandLineOptions()
58 void LLVMParseCommandLineOptions(int argc, const char *const *argv,
59 const char *Overview);