code: func sysctlbyname(name string, data interface{}) (err error) {
  	val, err := syscall.Sysctl(name)
  	if err != nil {
  		return err
  	}
  
  	buf := []byte(val)
  
  	switch v := data.(type) {
  	case *uint64:
  		*v = *(*uint64)(unsafe.Pointer(&buf[0]))
  		return
  	}
  
  	bbuf := bytes.NewBuffer([]byte(val))
  	return binary.Read(bbuf, binary.LittleEndian, data)
  }
docs: // generic Sysctl buffer unmarshalling