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_API_SBPROCESSINFO_H
10#define LLDB_API_SBPROCESSINFO_H
11
12#include "lldb/API/SBDefines.h"
13
14namespace lldb {
15
16class LLDB_API SBProcessInfo {
17public:
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 /// Return the target triple (arch-vendor-os) for the described process.
54 const char *GetTriple();
55
56private:
57 friend class SBProcess;
58 friend class SBProcessInfoList;
59
60 lldb_private::ProcessInstanceInfo &ref();
61
62 void SetProcessInfo(const lldb_private::ProcessInstanceInfo &proc_info_ref);
63
64 std::unique_ptr<lldb_private::ProcessInstanceInfo> m_opaque_up;
65};
66
67} // namespace lldb
68
69#endif // LLDB_API_SBPROCESSINFO_H
70

source code of lldb/include/lldb/API/SBProcessInfo.h