1// Copyright 2022 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5//go:build unix 6 7package osinfo 8 9import "golang.org/x/sys/unix" 10 11// Version returns the OS version name/number. 12func Version() (string, error) { 13 var uts unix.Utsname 14 if err := unix.Uname(&uts); err != nil { 15 return "", err 16 } 17 18 sysname := unix.ByteSliceToString(uts.Sysname[:]) 19 release := unix.ByteSliceToString(uts.Release[:]) 20 version := unix.ByteSliceToString(uts.Version[:]) 21 machine := unix.ByteSliceToString(uts.Machine[:]) 22 23 return sysname + " " + release + " " + version + " " + machine, nil 24} 25