SBHostOS.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //===-- SBHostOS.h ----------------------------------------------*- C++ -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. #ifndef LLDB_API_SBHOSTOS_H
  9. #define LLDB_API_SBHOSTOS_H
  10. #include "lldb/API/SBDefines.h"
  11. #include "lldb/API/SBFileSpec.h"
  12. namespace lldb {
  13. class LLDB_API SBHostOS {
  14. public:
  15. static lldb::SBFileSpec GetProgramFileSpec();
  16. static lldb::SBFileSpec GetLLDBPythonPath();
  17. static lldb::SBFileSpec GetLLDBPath(lldb::PathType path_type);
  18. static lldb::SBFileSpec GetUserHomeDirectory();
  19. static void ThreadCreated(const char *name);
  20. static lldb::thread_t ThreadCreate(const char *name,
  21. lldb::thread_func_t thread_function,
  22. void *thread_arg, lldb::SBError *err);
  23. static bool ThreadCancel(lldb::thread_t thread, lldb::SBError *err);
  24. static bool ThreadDetach(lldb::thread_t thread, lldb::SBError *err);
  25. static bool ThreadJoin(lldb::thread_t thread, lldb::thread_result_t *result,
  26. lldb::SBError *err);
  27. private:
  28. };
  29. } // namespace lldb
  30. #endif // LLDB_API_SBHOSTOS_H