Fixing issues with non-darwin BSDs
diff --git a/sysutil_bsd.go b/sysutil_bsd.go
index 1d2a6ee..18c2e6d 100644
--- a/sysutil_bsd.go
+++ b/sysutil_bsd.go
@@ -1,4 +1,4 @@
-// +build darwin freebsd netbsd openbsd
+// +build darwin freebsd openbsd netbsd
 
 package sysutil
 
@@ -20,7 +20,7 @@
 	}
 
 	// decode
-	var t syscall.Timeval32
+	var t timeval
 	err = binary.Read(bytes.NewBuffer([]byte(res)), binary.LittleEndian, &t)
 	if err != nil {
 		btime = time.Now()
diff --git a/sysutil_other.go b/sysutil_other.go
index a6ce8e8..25e5b78 100644
--- a/sysutil_other.go
+++ b/sysutil_other.go
@@ -1,4 +1,4 @@
-// +build !linux,!windows,!darwin,!freebsd,!netbsd,!openbsd
+// +build !linux,!windows,!darwin,!freebsd,!openbsd,!netbsd
 
 package sysutil
 
diff --git a/sysutil_test.go b/sysutil_test.go
index f6379a8..02ee57f 100644
--- a/sysutil_test.go
+++ b/sysutil_test.go
@@ -5,6 +5,8 @@
 	"time"
 )
 
+// TestBootTime tests the boot time.
 func TestBootTime(t *testing.T) {
 	t.Logf("boot time: %s", BootTime().Format(time.RFC3339Nano))
+	t.Logf("now:       %s", time.Now().Format(time.RFC3339Nano))
 }
diff --git a/timeval.go b/timeval.go
new file mode 100644
index 0000000..14a0a4a
--- /dev/null
+++ b/timeval.go
@@ -0,0 +1,9 @@
+// +build openbsd netbsd
+
+package sysutil
+
+import (
+	"syscall"
+)
+
+type timeval syscall.Timeval
diff --git a/timeval32.go b/timeval32.go
new file mode 100644
index 0000000..17ad8d2
--- /dev/null
+++ b/timeval32.go
@@ -0,0 +1,8 @@
+// +build darwin freebsd
+
+package sysutil
+
+type timeval struct {
+	Sec  int32
+	Usec int32
+}