From 199be4b5917b2037e836753071fd5978531ef687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zlatko=20=C4=8Calu=C5=A1i=C4=87?= Date: Sat, 24 Sep 2016 12:23:36 +0200 Subject: [PATCH] Add board info --- board.go | 22 ++++++++++++++++++++++ sysinfo.go | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 board.go diff --git a/board.go b/board.go new file mode 100644 index 0000000..dc90289 --- /dev/null +++ b/board.go @@ -0,0 +1,22 @@ +// Copyright © 2016 Zlatko Čalušić +// +// Use of this source code is governed by an MIT-style license that can be found in the LICENSE file. + +package sysinfo + +// Board information. +type Board struct { + Name string `json:"name,omitempty"` + Vendor string `json:"vendor,omitempty"` + Version string `json:"version,omitempty"` + Serial string `json:"serial,omitempty"` + AssetTag string `json:"assettag,omitempty"` +} + +func (si *SysInfo) getBoardInfo() { + si.Board.Name = slurpFile("/sys/class/dmi/id/board_name") + si.Board.Vendor = slurpFile("/sys/class/dmi/id/board_vendor") + si.Board.Version = slurpFile("/sys/class/dmi/id/board_version") + si.Board.Serial = slurpFile("/sys/class/dmi/id/board_serial") + si.Board.AssetTag = slurpFile("/sys/class/dmi/id/board_asset_tag") +} diff --git a/sysinfo.go b/sysinfo.go index 6ce32a1..23ead8e 100644 --- a/sysinfo.go +++ b/sysinfo.go @@ -12,6 +12,7 @@ type SysInfo struct { OS OS `json:"os"` Kernel Kernel `json:"kernel"` Product Product `json:"product"` + Board Board `json:"board"` CPU CPU `json:"cpu"` Memory Memory `json:"memory"` Storage []StorageDevice `json:"storage"` @@ -30,6 +31,7 @@ func (si *SysInfo) GetSysInfo() { // Hardware info si.getProductInfo() + si.getBoardInfo() si.getCPUInfo() si.getMemoryInfo() si.getStorageInfo()