Xinqi Bao's Git
15 fp
= fopen("/proc/meminfo", "r");
17 warn("Failed to open file /proc/meminfo");
21 if ((bytes_read
= fread(buf
, sizeof(char), sizeof(buf
) - 1, fp
)) == 0) {
22 warn("swap_free: read error");
28 if ((match
= strstr(buf
, "SwapTotal")) == NULL
)
30 sscanf(match
, "SwapTotal: %ld kB\n", &total
);
32 if ((match
= strstr(buf
, "SwapFree")) == NULL
)
34 sscanf(match
, "SwapFree: %ld kB\n", &free
);
36 return bprintf("%f", (float)free
/ 1024 / 1024);
42 long total
, free
, cached
;
47 fp
= fopen("/proc/meminfo", "r");
49 warn("Failed to open file /proc/meminfo");
53 if ((bytes_read
= fread(buf
, sizeof(char), sizeof(buf
) - 1, fp
)) == 0) {
54 warn("swap_perc: read error");
60 if ((match
= strstr(buf
, "SwapTotal")) == NULL
)
62 sscanf(match
, "SwapTotal: %ld kB\n", &total
);
64 if ((match
= strstr(buf
, "SwapCached")) == NULL
)
66 sscanf(match
, "SwapCached: %ld kB\n", &cached
);
68 if ((match
= strstr(buf
, "SwapFree")) == NULL
)
70 sscanf(match
, "SwapFree: %ld kB\n", &free
);
72 return bprintf("%d", 100 * (total
- free
- cached
) / total
);
83 fp
= fopen("/proc/meminfo", "r");
85 warn("Failed to open file /proc/meminfo");
88 if ((bytes_read
= fread(buf
, sizeof(char), sizeof(buf
) - 1, fp
)) == 0) {
89 warn("swap_total: read error");
95 if ((match
= strstr(buf
, "SwapTotal")) == NULL
)
97 sscanf(match
, "SwapTotal: %ld kB\n", &total
);
99 return bprintf("%f", (float)total
/ 1024 / 1024);
105 long total
, free
, cached
;
110 fp
= fopen("/proc/meminfo", "r");
112 warn("Failed to open file /proc/meminfo");
115 if ((bytes_read
= fread(buf
, sizeof(char), sizeof(buf
) - 1, fp
)) == 0) {
116 warn("swap_used: read error");
122 if ((match
= strstr(buf
, "SwapTotal")) == NULL
)
124 sscanf(match
, "SwapTotal: %ld kB\n", &total
);
126 if ((match
= strstr(buf
, "SwapCached")) == NULL
)
128 sscanf(match
, "SwapCached: %ld kB\n", &cached
);
130 if ((match
= strstr(buf
, "SwapFree")) == NULL
)
132 sscanf(match
, "SwapFree: %ld kB\n", &free
);
134 return bprintf("%f", (float)(total
- free
- cached
) / 1024 / 1024);