1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:57:35 +00:00

Expose the kernel log buffer through /proc/dmesg.

Also add a /bin/dmesg program for convenience.
This commit is contained in:
Andreas Kling 2019-01-28 22:40:55 +01:00
parent 442351a5f8
commit 7455f5ea42
8 changed files with 77 additions and 0 deletions

31
Userland/dmesg.cpp Normal file
View file

@ -0,0 +1,31 @@
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <assert.h>
int main(int argc, char** argv)
{
(void) argc;
(void) argv;
int fd = open("/proc/dmesg", O_RDONLY);
if (fd < 0) {
perror("open /proc/dmesg");
return 1;
}
for (;;) {
char buffer[BUFSIZ];
ssize_t nread = read(fd, buffer, sizeof(buffer));
if (nread < 0) {
perror("read");
return 1;
}
if (nread == 0) {
break;
}
ssize_t nwritten = write(1, buffer, nread);
assert(nwritten == nread);
}
int rc = close(fd);
assert(rc == 0);
return 0;
}