Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:42:42

0001 //===-- SBProcessInfo.h -----------------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLDB_API_SBPROCESSINFO_H
0010 #define LLDB_API_SBPROCESSINFO_H
0011 
0012 #include "lldb/API/SBDefines.h"
0013 
0014 namespace lldb {
0015 
0016 class LLDB_API SBProcessInfo {
0017 public:
0018   SBProcessInfo();
0019   SBProcessInfo(const SBProcessInfo &rhs);
0020 
0021   ~SBProcessInfo();
0022 
0023   SBProcessInfo &operator=(const SBProcessInfo &rhs);
0024 
0025   explicit operator bool() const;
0026 
0027   bool IsValid() const;
0028 
0029   const char *GetName();
0030 
0031   SBFileSpec GetExecutableFile();
0032 
0033   lldb::pid_t GetProcessID();
0034 
0035   uint32_t GetUserID();
0036 
0037   uint32_t GetGroupID();
0038 
0039   bool UserIDIsValid();
0040 
0041   bool GroupIDIsValid();
0042 
0043   uint32_t GetEffectiveUserID();
0044 
0045   uint32_t GetEffectiveGroupID();
0046 
0047   bool EffectiveUserIDIsValid();
0048 
0049   bool EffectiveGroupIDIsValid();
0050 
0051   lldb::pid_t GetParentProcessID();
0052 
0053   /// Return the target triple (arch-vendor-os) for the described process.
0054   const char *GetTriple();
0055 
0056 private:
0057   friend class SBProcess;
0058   friend class SBProcessInfoList;
0059 
0060   lldb_private::ProcessInstanceInfo &ref();
0061 
0062   void SetProcessInfo(const lldb_private::ProcessInstanceInfo &proc_info_ref);
0063 
0064   std::unique_ptr<lldb_private::ProcessInstanceInfo> m_opaque_up;
0065 };
0066 
0067 } // namespace lldb
0068 
0069 #endif // LLDB_API_SBPROCESSINFO_H