package dmesg | |
import ( | |
"unsafe" | |
"golang.org/x/sys/unix" | |
) | |
// Dmesg returns last messages from the kernel log, up to size bytes | |
func Dmesg(size int) []byte { | |
t := uintptr(3) // SYSLOG_ACTION_READ_ALL | |
b := make([]byte, size) | |
amt, _, err := unix.Syscall(unix.SYS_SYSLOG, t, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))) | |
if err != 0 { | |
return []byte{} | |
} | |
return b[:amt] | |
} |