X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm-c%2FSupport.h;h=eca3b7a42037ce2a82704a121b902459e0735407;hb=fcadda639edbe1aa876dcb0e5c4ee7255d0b2dcb;hp=72af4e4539c7ce37785117cb6ba1f122ce2793c5;hpb=87265f9792a59b7107bd30fb6f114f5ce5e1273c;p=oota-llvm.git diff --git a/include/llvm-c/Support.h b/include/llvm-c/Support.h index 72af4e4539c..eca3b7a4203 100644 --- a/include/llvm-c/Support.h +++ b/include/llvm-c/Support.h @@ -14,13 +14,31 @@ #ifndef LLVM_C_SUPPORT_H #define LLVM_C_SUPPORT_H -#include "llvm-c/Core.h" -#include "llvm/Support/DynamicLibrary.h" +#include "llvm/Support/DataTypes.h" #ifdef __cplusplus extern "C" { #endif +/** + * @defgroup LLVMCSupportTypes Types and Enumerations + * + * @{ + */ + +typedef int LLVMBool; + +/** + * Used to pass regions of memory through LLVM interfaces. + * + * @see llvm::MemoryBuffer + */ +typedef struct LLVMOpaqueMemoryBuffer *LLVMMemoryBufferRef; + +/** + * @} + */ + /** * This function permanently loads the dynamic library at the given path. * It is safe to call this function multiple times for the same library. @@ -29,8 +47,37 @@ extern "C" { */ LLVMBool LLVMLoadLibraryPermanently(const char* Filename); +/** + * This function parses the given arguments using the LLVM command line parser. + * Note that the only stable thing about this function is its signature; you + * cannot rely on any particular set of command line arguments being interpreted + * the same way across LLVM versions. + * + * @see llvm::cl::ParseCommandLineOptions() + */ +void LLVMParseCommandLineOptions(int argc, const char *const *argv, + const char *Overview); + +/** + * This function will search through all previously loaded dynamic + * libraries for the symbol \p symbolName. If it is found, the address of + * that symbol is returned. If not, null is returned. + * + * @see sys::DynamicLibrary::SearchForAddressOfSymbol() + */ +void *LLVMSearchForAddressOfSymbol(const char *symbolName); + +/** + * This functions permanently adds the symbol \p symbolName with the + * value \p symbolValue. These symbols are searched before any + * libraries. + * + * @see sys::DynamicLibrary::AddSymbol() + */ +void LLVMAddSymbol(const char *symbolName, void *symbolValue); + #ifdef __cplusplus } #endif -#endif \ No newline at end of file +#endif