process-cpp: /build/process-cpp/src/process-cpp-3.0.1/include/core/posix/linux/proc/process/oom_adj.h Source File

process-cpp 3.0.0 A simple convenience library for handling processes in C++11.

oom_adj.h
Go to the documentation of this file.
1 /*
2 * Copyright © 2012-2013 Canonical Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License version 3,
6 * as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authored by: Thomas Voß <thomas.voss@canonical.com>
17 */
18 #ifndef CORE_POSIX_LINUX_PROC_PROCESS_OOM_ADJ_H_
19 #define CORE_POSIX_LINUX_PROC_PROCESS_OOM_ADJ_H_
20
21 #include <core/posix/visibility.h>
22
23 namespace core
24 {
25 namespace posix
26 {
27 class Process;
28 namespace linux
29 {
30 namespace proc
31 {
32 namespace process
33 {
50 struct CORE_POSIX_DLL_PUBLIC OomAdj
51 {
56 static int disable_value();
57
62 static int min_value();
63
68 static int max_value();
69
74 inline bool is_valid() const
75 {
76 return (disable_value() <= value) && (value <= max_value());
77 }
78
82 int value;
83 };
84
91 CORE_POSIX_DLL_PUBLIC const posix::Process& operator>>(const posix::Process& process, OomAdj& adj);
92
99 CORE_POSIX_DLL_PUBLIC const posix::Process& operator<<(const posix::Process& process,
100 const OomAdj& adj);
101 }
102 }
103 }
104 }
105 }
106 #endif // CORE_POSIX_LINUX_PROC_PROCESS_OOM_ADJ_H_
core::posix::linux::proc::process::operator<<
CORE_POSIX_DLL_PUBLIC const posix::Process & operator<<(const posix::Process &process, const OomAdj &adj)
Write the OomAdj value for a process instance.
Definition: oom_adj.cpp:65
visibility.h
core::posix::linux::proc::process::OomAdj::value
int value
Current value.
Definition: oom_adj.h:82
CORE_POSIX_DLL_PUBLIC
#define CORE_POSIX_DLL_PUBLIC
Definition: visibility.h:26
core::posix::linux::proc::process::OomAdj
Definition: oom_adj.h:51
core::posix::linux::proc::process::OomAdj::is_valid
bool is_valid() const
is_valid checks whether the contained value is within the predefined bounds.
Definition: oom_adj.h:74
core
Definition: child_process.h:32
core::posix::linux::proc::process::operator>>
CORE_POSIX_DLL_PUBLIC const posix::Process & operator>>(const posix::Process &process, OomAdj &adj)
Read the OomAdj value for a process instance.
Definition: oom_adj.cpp:55
core::posix::Process
The Process class models a process and possible operations on it.
Definition: process.h:45