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