dmesg.c

来自「Android 一些工具」· C语言 代码 · 共 44 行

C
44
字号
#include <stdlib.h>#include <unistd.h>#include <stdio.h>#include <errno.h>#include <sys/klog.h>#include <string.h>#define KLOG_BUF_SHIFT	17	/* CONFIG_LOG_BUF_SHIFT from our kernel */#define KLOG_BUF_LEN	(1 << KLOG_BUF_SHIFT)int dmesg_main(int argc, char **argv){    char buffer[KLOG_BUF_LEN + 1];    char *p = buffer;    ssize_t ret;    int n, op;    if((argc == 2) && (!strcmp(argv[1],"-c"))) {        op = KLOG_READ_CLEAR;    } else {        op = KLOG_READ_ALL;    }    n = klogctl(op, buffer, KLOG_BUF_LEN);    if (n < 0) {        perror("klogctl");        return EXIT_FAILURE;    }    buffer[n] = '\0';    while((ret = write(STDOUT_FILENO, p, n))) {        if (ret == -1) {	    if (errno == EINTR)                continue;	    perror("write");	    return EXIT_FAILURE;	}	p += ret;	n -= ret;    }    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?