1 //===-- SBHostOS.h ----------------------------------------------*- 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 #ifndef LLDB_SBHostOS_h_ 11 #define LLDB_SBHostOS_h_ 12 13 #include "lldb/API/SBDefines.h" 14 #include "lldb/API/SBFileSpec.h" 15 16 namespace lldb { 17 18 class LLDB_API SBHostOS { 19 public: 20 static lldb::SBFileSpec GetProgramFileSpec(); 21 22 static lldb::SBFileSpec GetLLDBPythonPath(); 23 24 static lldb::SBFileSpec GetLLDBPath(lldb::PathType path_type); 25 26 static lldb::SBFileSpec GetUserHomeDirectory(); 27 28 static void ThreadCreated(const char *name); 29 30 static lldb::thread_t ThreadCreate(const char *name, 31 lldb::thread_func_t thread_function, 32 void *thread_arg, lldb::SBError *err); 33 34 static bool ThreadCancel(lldb::thread_t thread, lldb::SBError *err); 35 36 static bool ThreadDetach(lldb::thread_t thread, lldb::SBError *err); 37 static bool ThreadJoin(lldb::thread_t thread, lldb::thread_result_t *result, 38 lldb::SBError *err); 39 40 private: 41 }; 42 43 } // namespace lldb 44 45 #endif // LLDB_SBHostOS_h_ 46