Packages
nerves_runtime
0.9.1
0.13.13
0.13.12
0.13.11
retired
0.13.10
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.0
0.11.10
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
retired
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.1
0.3.0
0.2.0
0.1.2
0.1.1
0.1.0
Small, general runtime utilities for Nerves devices
Current section
Files
Jump to
Current section
Files
src/kmsg_tailer.c
#include <err.h>
#include <fcntl.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>
#define KMSG_PATH "/proc/kmsg"
#define BUFFER_SIZE 4096
static char buffer[BUFFER_SIZE];
int main(int argc, char *argv[])
{
int fd = open(KMSG_PATH, O_RDONLY);
if (fd < 0)
err(EXIT_FAILURE, "open %s", KMSG_PATH);
for (;;) {
ssize_t amt = read(fd, buffer, sizeof(buffer));
if (amt < 0)
err(EXIT_FAILURE, "%s: read", argv[1]);
if (write(STDOUT_FILENO, buffer, amt) < 0)
err(EXIT_FAILURE, "%s: write", argv[1]);
}
}