-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcpu-types.h
50 lines (40 loc) · 1.34 KB
/
cpu-types.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
Copyright 2017-2020 UwUnyaa
This file is part of pulse.
pulse is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
pulse is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
pulse. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _cpu_types
#define _cpu_types
#define CPUStatFile "/proc/stat"
#define CPUSysInfoDirFormat "/sys/devices/system/cpu/cpu%u"
#define CPUEnabledFileFormat "/sys/devices/system/cpu/cpu%u/online"
#define CPUinfoFile "/proc/cpuinfo"
#define MAXCORES 256
struct ProcessorStat {
unsigned long user;
unsigned long nice;
unsigned long system;
unsigned long idle;
unsigned long iowait;
unsigned long irq;
unsigned long softirq;
unsigned long steal;
unsigned long guest;
unsigned long guest_nice;
};
struct ProcessorInfo {
struct ProcessorStat previousStat;
struct ProcessorStat currentStat;
bool enabled;
double usage;
};
#endif