187265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov/*===-- llvm-c/Support.h - Support C Interface --------------------*- C -*-===*\ 287265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* *| 387265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* The LLVM Compiler Infrastructure *| 487265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* *| 587265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* This file is distributed under the University of Illinois Open Source *| 687265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* License. See LICENSE.TXT for details. *| 787265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* *| 887265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|*===----------------------------------------------------------------------===*| 987265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* *| 1087265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* This file defines the C interface to the LLVM support library. *| 1187265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov|* *| 1287265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov\*===----------------------------------------------------------------------===*/ 1387265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov 1487265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov#ifndef LLVM_C_SUPPORT_H 1587265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov#define LLVM_C_SUPPORT_H 1687265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov 1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines#include "llvm/Support/DataTypes.h" 1887265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov 1987265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov#ifdef __cplusplus 2087265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotovextern "C" { 2187265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov#endif 2287265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov 2387265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov/** 2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * @defgroup LLVMCSupportTypes Types and Enumerations 2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * 2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * @{ 2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines */ 2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinestypedef int LLVMBool; 3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines/** 3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * Used to pass regions of memory through LLVM interfaces. 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * @see llvm::MemoryBuffer 3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines */ 3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinestypedef struct LLVMOpaqueMemoryBuffer *LLVMMemoryBufferRef; 3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines/** 3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * @} 4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines */ 4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines/** 4387265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov * This function permanently loads the dynamic library at the given path. 4487265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov * It is safe to call this function multiple times for the same library. 4587265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov * 4687265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov * @see sys::DynamicLibrary::LoadLibraryPermanently() 4787265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov */ 4887265f9792a59b7107bd30fb6f114f5ce5e1273cPeter ZotovLLVMBool LLVMLoadLibraryPermanently(const char* Filename); 4987265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov 5087265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov#ifdef __cplusplus 5187265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov} 5287265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov#endif 5387265f9792a59b7107bd30fb6f114f5ce5e1273cPeter Zotov 540f0f1ac011627aa5f90d739b4e0ccffeeb721f50NAKAMURA Takumi#endif 55