LLDB  mainline
SBProcessInfo.h
Go to the documentation of this file.
1 //===-- SBProcessInfo.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 LLDB_SBProcessInfo_h_
10 #define LLDB_SBProcessInfo_h_
11 
12 #include "lldb/API/SBDefines.h"
13 
14 namespace lldb {
15 
17 public:
18  SBProcessInfo();
19  SBProcessInfo(const SBProcessInfo &rhs);
20 
21  ~SBProcessInfo();
22 
23  SBProcessInfo &operator=(const SBProcessInfo &rhs);
24 
25  explicit operator bool() const;
26 
27  bool IsValid() const;
28 
29  const char *GetName();
30 
31  SBFileSpec GetExecutableFile();
32 
33  lldb::pid_t GetProcessID();
34 
35  uint32_t GetUserID();
36 
37  uint32_t GetGroupID();
38 
39  bool UserIDIsValid();
40 
41  bool GroupIDIsValid();
42 
43  uint32_t GetEffectiveUserID();
44 
45  uint32_t GetEffectiveGroupID();
46 
47  bool EffectiveUserIDIsValid();
48 
49  bool EffectiveGroupIDIsValid();
50 
51  lldb::pid_t GetParentProcessID();
52 
53 private:
54  friend class SBProcess;
55 
57 
58  void SetProcessInfo(const lldb_private::ProcessInstanceInfo &proc_info_ref);
59 
60  std::unique_ptr<lldb_private::ProcessInstanceInfo> m_opaque_up;
61 };
62 
63 } // namespace lldb
64 
65 #endif // LLDB_SBProcessInfo_h_
#define LLDB_API
Definition: lldb-defines.h:23
Definition: SBAddress.h:15
uint64_t pid_t
Definition: lldb-types.h:85
class LLDB_API SBProcessInfo
Definition: SBDefines.h:61