15cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen//===-- SWIG Interface for SBHostOS -----------------------------*- C++ -*-===//
25cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen//
35cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen//                     The LLVM Compiler Infrastructure
45cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen//
55cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen// This file is distributed under the University of Illinois Open Source
65cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen// License. See LICENSE.TXT for details.
75cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen//
85cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen//===----------------------------------------------------------------------===//
95cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen
105cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chennamespace lldb {
115cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen
125cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chenclass SBHostOS
135cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen{
145cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chenpublic:
155cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen
165cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    static lldb::SBFileSpec
175cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    GetProgramFileSpec ();
185cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen
195cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    static void
205cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    ThreadCreated (const char *name);
215cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen
225cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    static lldb::thread_t
235cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    ThreadCreate (const char *name,
245cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen                  void *(*thread_function)(void *),
255cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen                  void *thread_arg,
265cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen                  lldb::SBError *err);
275cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen
285cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    static bool
295cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    ThreadCancel (lldb::thread_t thread,
305cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen                  lldb::SBError *err);
315cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen
325cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    static bool
335cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    ThreadDetach (lldb::thread_t thread,
345cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen                  lldb::SBError *err);
355cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    static bool
365cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen    ThreadJoin (lldb::thread_t thread,
375cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen                void **result,
385cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen                lldb::SBError *err);
395cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen};
405cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen
415cb6cab6395a896ec5938acc0885858b8e2ba2c8Johnny Chen} // namespace lldb
42