github.com/shishir-a412ed/docker@v1.3.2-0.20180103180333-fda904911d87/pkg/dmesg/dmesg_linux.go (about) 1 package dmesg 2 3 import ( 4 "unsafe" 5 6 "golang.org/x/sys/unix" 7 ) 8 9 // Dmesg returns last messages from the kernel log, up to size bytes 10 func Dmesg(size int) []byte { 11 t := uintptr(3) // SYSLOG_ACTION_READ_ALL 12 b := make([]byte, size) 13 amt, _, err := unix.Syscall(unix.SYS_SYSLOG, t, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))) 14 if err != 0 { 15 return []byte{} 16 } 17 return b[:amt] 18 }