gopkg.in/essentialkaos/ek.v3@v3.5.1/system/info_linux.go (about) 1 // +build linux 2 3 package system 4 5 // ////////////////////////////////////////////////////////////////////////////////// // 6 // // 7 // Copyright (c) 2009-2016 Essential Kaos // 8 // Essential Kaos Open Source License <http://essentialkaos.com/ekol?en> // 9 // // 10 // ////////////////////////////////////////////////////////////////////////////////// // 11 12 import ( 13 "syscall" 14 ) 15 16 // ////////////////////////////////////////////////////////////////////////////////// // 17 18 // GetSystemInfo return system info 19 func GetSystemInfo() (*SystemInfo, error) { 20 result := &SystemInfo{} 21 22 info := &syscall.Utsname{} 23 err := syscall.Uname(info) 24 25 if err != nil { 26 return result, err 27 } 28 29 result.Hostname = byteSliceToString(info.Nodename) 30 result.OS = byteSliceToString(info.Sysname) 31 result.Kernel = byteSliceToString(info.Release) 32 result.Arch = byteSliceToString(info.Machine) 33 34 return result, nil 35 }