1 //===-- SBProcessInfo.h -----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBProcessInfo_h_
11 #define LLDB_SBProcessInfo_h_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBProcessInfo {
20 SBProcessInfo(const SBProcessInfo &rhs);
24 SBProcessInfo &operator=(const SBProcessInfo &rhs);
28 const char *GetName();
30 SBFileSpec GetExecutableFile();
32 lldb::pid_t GetProcessID();
36 uint32_t GetGroupID();
40 bool GroupIDIsValid();
42 uint32_t GetEffectiveUserID();
44 uint32_t GetEffectiveGroupID();
46 bool EffectiveUserIDIsValid();
48 bool EffectiveGroupIDIsValid();
50 lldb::pid_t GetParentProcessID();
53 friend class SBProcess;
55 lldb_private::ProcessInstanceInfo &ref();
57 void SetProcessInfo(const lldb_private::ProcessInstanceInfo &proc_info_ref);
59 std::unique_ptr<lldb_private::ProcessInstanceInfo> m_opaque_ap;
64 #endif // LLDB_SBProcessInfo_h_