package main

import (
	"bufio"
	"bytes"
	"errors"
	"os"
	"strconv"
)

var btimePfx = []byte("btime ")

func getBootTime() (int64, error) {
	f, err := os.Open("/proc/stat")
	if err != nil {
		return 0, err
	}
	defer f.Close()
	scanner := bufio.NewScanner(f)
	for scanner.Scan() {
		line := scanner.Bytes()
		if bytes.HasPrefix(line, btimePfx) {
			return strconv.ParseInt(string(line[len(btimePfx):]), 10, 64)
		}
	}
	return 0, errors.New("btime not found in /proc/stat")
}