1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 01:37:35 +00:00

Kernel: Convert /proc/PID/vm to JSON.

This commit is contained in:
Andreas Kling 2019-07-28 11:37:50 +02:00
parent d4892b3fdc
commit 52a5e34902

View file

@ -222,23 +222,18 @@ ByteBuffer procfs$pid_vm(InodeIdentifier identifier)
if (!handle) if (!handle)
return {}; return {};
auto& process = handle->process(); auto& process = handle->process();
StringBuilder builder; JsonArray array;
builder.appendf("BEGIN END SIZE COMMIT FLAGS NAME\n");
for (auto& region : process.regions()) { for (auto& region : process.regions()) {
StringBuilder flags_builder; JsonObject region_object;
if (region.is_readable()) region_object.set("readable", region.is_readable());
flags_builder.append('R'); region_object.set("writable", region.is_writable());
if (region.is_writable()) region_object.set("address", region.vaddr().get());
flags_builder.append('W'); region_object.set("size", region.size());
builder.appendf("%x -- %x %x %x %-4s %s\n", region_object.set("amount_resident", region.amount_resident());
region.vaddr().get(), region_object.set("name", region.name());
region.vaddr().offset(region.size() - 1).get(), array.append(move(region_object));
region.size(),
region.amount_resident(),
flags_builder.to_string().characters(),
region.name().characters());
} }
return builder.to_byte_buffer(); return array.serialized().to_byte_buffer();
} }
ByteBuffer procfs$pci(InodeIdentifier) ByteBuffer procfs$pci(InodeIdentifier)