4f0d95fa6e
Signed-off-by: Daniel Nephin <dnephin@docker.com>
18 lines
429 B
Go
18 lines
429 B
Go
package dmesg // import "github.com/docker/docker/pkg/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]
|
|
}
|