xref: /aosp_15_r20/external/cronet/base/process/process_info.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2012 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #ifndef BASE_PROCESS_PROCESS_INFO_H_
6*6777b538SAndroid Build Coastguard Worker #define BASE_PROCESS_PROCESS_INFO_H_
7*6777b538SAndroid Build Coastguard Worker 
8*6777b538SAndroid Build Coastguard Worker #include "base/base_export.h"
9*6777b538SAndroid Build Coastguard Worker #include "build/build_config.h"
10*6777b538SAndroid Build Coastguard Worker 
11*6777b538SAndroid Build Coastguard Worker namespace base {
12*6777b538SAndroid Build Coastguard Worker 
13*6777b538SAndroid Build Coastguard Worker #if BUILDFLAG(IS_WIN)
14*6777b538SAndroid Build Coastguard Worker enum IntegrityLevel {
15*6777b538SAndroid Build Coastguard Worker   INTEGRITY_UNKNOWN,
16*6777b538SAndroid Build Coastguard Worker   UNTRUSTED_INTEGRITY,
17*6777b538SAndroid Build Coastguard Worker   LOW_INTEGRITY,
18*6777b538SAndroid Build Coastguard Worker   MEDIUM_INTEGRITY,
19*6777b538SAndroid Build Coastguard Worker   HIGH_INTEGRITY,
20*6777b538SAndroid Build Coastguard Worker };
21*6777b538SAndroid Build Coastguard Worker 
22*6777b538SAndroid Build Coastguard Worker // Returns the integrity level of the process. Returns INTEGRITY_UNKNOWN in the
23*6777b538SAndroid Build Coastguard Worker // case of an underlying system failure.
24*6777b538SAndroid Build Coastguard Worker BASE_EXPORT IntegrityLevel GetCurrentProcessIntegrityLevel();
25*6777b538SAndroid Build Coastguard Worker 
26*6777b538SAndroid Build Coastguard Worker // Determines whether the current process is elevated. Note: in some
27*6777b538SAndroid Build Coastguard Worker // configurations this may be true for processes launched without using
28*6777b538SAndroid Build Coastguard Worker // LaunchOptions::elevated.
29*6777b538SAndroid Build Coastguard Worker BASE_EXPORT bool IsCurrentProcessElevated();
30*6777b538SAndroid Build Coastguard Worker 
31*6777b538SAndroid Build Coastguard Worker // Determines whether the current process is running within an App Container.
32*6777b538SAndroid Build Coastguard Worker BASE_EXPORT bool IsCurrentProcessInAppContainer();
33*6777b538SAndroid Build Coastguard Worker 
34*6777b538SAndroid Build Coastguard Worker #endif  // BUILDFLAG(IS_WIN)
35*6777b538SAndroid Build Coastguard Worker 
36*6777b538SAndroid Build Coastguard Worker #if BUILDFLAG(IS_MAC)
37*6777b538SAndroid Build Coastguard Worker // Returns whether the current process is responsible for itself. See
38*6777b538SAndroid Build Coastguard Worker // https://bugs.chromium.org/p/chromium/issues/detail?id=945969 and
39*6777b538SAndroid Build Coastguard Worker // https://bugs.chromium.org/p/chromium/issues/detail?id=996993.
40*6777b538SAndroid Build Coastguard Worker //
41*6777b538SAndroid Build Coastguard Worker // On versions of macOS that do not have the concept, this will always return
42*6777b538SAndroid Build Coastguard Worker // true.
43*6777b538SAndroid Build Coastguard Worker BASE_EXPORT bool IsProcessSelfResponsible();
44*6777b538SAndroid Build Coastguard Worker #endif
45*6777b538SAndroid Build Coastguard Worker 
46*6777b538SAndroid Build Coastguard Worker }  // namespace base
47*6777b538SAndroid Build Coastguard Worker 
48*6777b538SAndroid Build Coastguard Worker #endif  // BASE_PROCESS_PROCESS_INFO_H_
49