1//===-- POSIXStopInfo.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 9#ifndef liblldb_POSIXStopInfo_H_ 10#define liblldb_POSIXStopInfo_H_ 11 12#include "FreeBSDThread.h" 13#include "Plugins/Process/POSIX/CrashReason.h" 14#include "lldb/Target/StopInfo.h" 15#include <string> 16 17//===----------------------------------------------------------------------===// 18/// \class POSIXStopInfo 19/// Simple base class for all POSIX-specific StopInfo objects. 20/// 21class POSIXStopInfo : public lldb_private::StopInfo { 22public: 23 POSIXStopInfo(lldb_private::Thread &thread, uint32_t status) 24 : StopInfo(thread, status) {} 25}; 26 27//===----------------------------------------------------------------------===// 28/// \class POSIXLimboStopInfo 29/// Represents the stop state of a process ready to exit. 30/// 31class POSIXLimboStopInfo : public POSIXStopInfo { 32public: 33 POSIXLimboStopInfo(FreeBSDThread &thread) : POSIXStopInfo(thread, 0) {} 34 35 ~POSIXLimboStopInfo(); 36 37 lldb::StopReason GetStopReason() const; 38 39 const char *GetDescription(); 40 41 bool ShouldStop(lldb_private::Event *event_ptr); 42 43 bool ShouldNotify(lldb_private::Event *event_ptr); 44}; 45 46//===----------------------------------------------------------------------===// 47/// \class POSIXNewThreadStopInfo 48/// Represents the stop state of process when a new thread is spawned. 49/// 50 51class POSIXNewThreadStopInfo : public POSIXStopInfo { 52public: 53 POSIXNewThreadStopInfo(FreeBSDThread &thread) : POSIXStopInfo(thread, 0) {} 54 55 ~POSIXNewThreadStopInfo(); 56 57 lldb::StopReason GetStopReason() const; 58 59 const char *GetDescription(); 60 61 bool ShouldStop(lldb_private::Event *event_ptr); 62 63 bool ShouldNotify(lldb_private::Event *event_ptr); 64}; 65 66#endif 67