1*30fdc8d8SChris Lattner //===-- SBHostOS.cpp --------------------------------------------*- C++ -*-===// 2*30fdc8d8SChris Lattner // 3*30fdc8d8SChris Lattner // The LLVM Compiler Infrastructure 4*30fdc8d8SChris Lattner // 5*30fdc8d8SChris Lattner // This file is distributed under the University of Illinois Open Source 6*30fdc8d8SChris Lattner // License. See LICENSE.TXT for details. 7*30fdc8d8SChris Lattner // 8*30fdc8d8SChris Lattner //===----------------------------------------------------------------------===// 9*30fdc8d8SChris Lattner 10*30fdc8d8SChris Lattner #include "lldb/API/SBHostOS.h" 11*30fdc8d8SChris Lattner #include "lldb/API/SBError.h" 12*30fdc8d8SChris Lattner #include "lldb/Core/FileSpec.h" 13*30fdc8d8SChris Lattner #include "lldb/Host/Host.h" 14*30fdc8d8SChris Lattner 15*30fdc8d8SChris Lattner using namespace lldb; 16*30fdc8d8SChris Lattner using namespace lldb_private; 17*30fdc8d8SChris Lattner 18*30fdc8d8SChris Lattner 19*30fdc8d8SChris Lattner 20*30fdc8d8SChris Lattner SBFileSpec 21*30fdc8d8SChris Lattner SBHostOS::GetProgramFileSpec () 22*30fdc8d8SChris Lattner { 23*30fdc8d8SChris Lattner SBFileSpec sb_filespec; 24*30fdc8d8SChris Lattner sb_filespec.SetFileSpec (Host::GetProgramFileSpec ()); 25*30fdc8d8SChris Lattner return sb_filespec; 26*30fdc8d8SChris Lattner } 27*30fdc8d8SChris Lattner 28*30fdc8d8SChris Lattner lldb::thread_t 29*30fdc8d8SChris Lattner SBHostOS::ThreadCreate 30*30fdc8d8SChris Lattner ( 31*30fdc8d8SChris Lattner const char *name, 32*30fdc8d8SChris Lattner void *(*thread_function)(void *), 33*30fdc8d8SChris Lattner void *thread_arg, 34*30fdc8d8SChris Lattner SBError *error_ptr 35*30fdc8d8SChris Lattner ) 36*30fdc8d8SChris Lattner { 37*30fdc8d8SChris Lattner return Host::ThreadCreate (name, thread_function, thread_arg, error_ptr ? error_ptr->get() : NULL); 38*30fdc8d8SChris Lattner } 39*30fdc8d8SChris Lattner 40*30fdc8d8SChris Lattner void 41*30fdc8d8SChris Lattner SBHostOS::ThreadCreated (const char *name) 42*30fdc8d8SChris Lattner { 43*30fdc8d8SChris Lattner Host::ThreadCreated (name); 44*30fdc8d8SChris Lattner } 45*30fdc8d8SChris Lattner 46*30fdc8d8SChris Lattner bool 47*30fdc8d8SChris Lattner SBHostOS::ThreadCancel (lldb::thread_t thread, SBError *error_ptr) 48*30fdc8d8SChris Lattner { 49*30fdc8d8SChris Lattner return Host::ThreadCancel (thread, error_ptr ? error_ptr->get() : NULL); 50*30fdc8d8SChris Lattner } 51*30fdc8d8SChris Lattner 52*30fdc8d8SChris Lattner bool 53*30fdc8d8SChris Lattner SBHostOS::ThreadDetach (lldb::thread_t thread, SBError *error_ptr) 54*30fdc8d8SChris Lattner { 55*30fdc8d8SChris Lattner return Host::ThreadDetach (thread, error_ptr ? error_ptr->get() : NULL); 56*30fdc8d8SChris Lattner } 57*30fdc8d8SChris Lattner 58*30fdc8d8SChris Lattner bool 59*30fdc8d8SChris Lattner SBHostOS::ThreadJoin (lldb::thread_t thread, void **result, SBError *error_ptr) 60*30fdc8d8SChris Lattner { 61*30fdc8d8SChris Lattner return Host::ThreadJoin (thread, result, error_ptr ? error_ptr->get() : NULL); 62*30fdc8d8SChris Lattner } 63*30fdc8d8SChris Lattner 64*30fdc8d8SChris Lattner 65