code: func GetDeviceInfo(path string) (kind rune, major uint64, minor uint64, err error) {
  	d, err := os.Lstat(path)
  	if err != nil {
  		return
  	}
  	mode := d.Mode()
  
  	if mode&os.ModeDevice == 0 {
  		err = fmt.Errorf("not a device: %s", path)
  		return
  	}
  	stat_t, ok := d.Sys().(*syscall.Stat_t)
  	if !ok {
  		err = fmt.Errorf("cannot determine device number")
  		return
  	}
  	return getDeviceInfo(mode, stat_t.Rdev)
  }
docs: // GetDeviceInfo returns the type, major, and minor numbers of a device.
  // Kind is 'b' or 'c' for block and character devices, respectively.
  // This does not follow symlinks.