summaryrefslogtreecommitdiff
path: root/src/libsystem/proc-meminfo-lookup.gperf
blob: 1ca9fbeb6ede8647630d0f726f3af942aa366223 (plain)
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
%{
#include <assert.h>
#include "proc.h"

struct meminfo_mapping {
        const char *name;
        enum meminfo_id id;
};
typedef struct meminfo_mapping meminfo_mapping;
%}
meminfo_mapping;
%language=ANSI-C
%define slot-name name
%define hash-function-name meminfo_mapping_hash
%define lookup-function-name meminfo_mapping_lookup
%readonly-tables
%omit-struct-type
%struct-type
%includes
%%
MemTotal,       MEMINFO_ID_MEM_TOTAL
MemFree,        MEMINFO_ID_MEM_FREE
MemAvailable,   MEMINFO_ID_MEM_AVAILABLE
Buffers,        MEMINFO_ID_BUFFERS
Cached,         MEMINFO_ID_CACHED
SwapCached,     MEMINFO_ID_SWAP_CACHED
Active,         MEMINFO_ID_ACTIVE
Inactive,       MEMINFO_ID_INACTIVE
Active(anon),   MEMINFO_ID_ACTIVE_ANON
Inactive(anon), MEMINFO_ID_INACTIVE_ANON
Active(file),   MEMINFO_ID_ACTIVE_FILE
Inactive(file), MEMINFO_ID_INACTIVE_FILE
Unevictable,    MEMINFO_ID_UNEVICTABLE
Mlocked,        MEMINFO_ID_MLOCKED
HighTotal,      MEMINFO_ID_HIGH_TOTAL
HighFree,       MEMINFO_ID_HIGH_FREE
LowTotal,       MEMINFO_ID_LOW_TOTAL
LowFree,        MEMINFO_ID_LOW_FREE
SwapTotal,      MEMINFO_ID_SWAP_TOTAL
SwapFree,       MEMINFO_ID_SWAP_FREE
Dirty,          MEMINFO_ID_DIRTY
Writeback,      MEMINFO_ID_WRITEBACK
AnonPages,      MEMINFO_ID_ANON_PAGES
Mapped,         MEMINFO_ID_MAPPED
Shmem,          MEMINFO_ID_SHMEM
Slab,           MEMINFO_ID_SLAB
SReclaimable,   MEMINFO_ID_SRECLAIMABLE
SUnreclaim,     MEMINFO_ID_SUNRECLAIM
KernelStack,    MEMINFO_ID_KERNEL_STACK
PageTables,     MEMINFO_ID_PAGE_TABLES
NFS_Unstable,   MEMINFO_ID_NFS_UNSTABLE
Bounce,         MEMINFO_ID_BOUNCE
WritebackTmp,   MEMINFO_ID_WRITEBACK_TMP
CommitLimit,    MEMINFO_ID_COMMIT_LIMIT
Committed_AS,   MEMINFO_ID_COMMITTED_AS
VmallocTotal,   MEMINFO_ID_VMALLOC_TOTAL
VmallocUsed,    MEMINFO_ID_VMALLOC_USED
VmallocChunk,   MEMINFO_ID_VMALLOC_CHUNK
%%
enum meminfo_id meminfo_string_to_id(const char *str)
{
        const struct meminfo_mapping *i;

        assert(str);
        i = meminfo_mapping_lookup(str, strlen(str));
        return i ? i->id : MEMINFO_ID_INVALID;
}