1/*===-- llvm-c/Support.h - Support C Interface --------------------*- C -*-===*\ 2|* *| 3|* The LLVM Compiler Infrastructure *| 4|* *| 5|* This file is distributed under the University of Illinois Open Source *| 6|* License. See LICENSE.TXT for details. *| 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/Support/DataTypes.h" 18 19#ifdef __cplusplus 20extern "C" { 21#endif 22 23/** 24 * @defgroup LLVMCSupportTypes Types and Enumerations 25 * 26 * @{ 27 */ 28 29typedef int LLVMBool; 30 31/** 32 * Used to pass regions of memory through LLVM interfaces. 33 * 34 * @see llvm::MemoryBuffer 35 */ 36typedef struct LLVMOpaqueMemoryBuffer *LLVMMemoryBufferRef; 37 38/** 39 * @} 40 */ 41 42/** 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. 45 * 46 * @see sys::DynamicLibrary::LoadLibraryPermanently() 47 */ 48LLVMBool LLVMLoadLibraryPermanently(const char* Filename); 49 50#ifdef __cplusplus 51} 52#endif 53 54#endif 55