func versionString(baseVersion baseVersion, version uint32) string {
	if version == 0 {
		return string(baseVersion)
	}
	return fmt.Sprintf("9P2000.L.Google.%d", version)
}
versionString formats a p9 version number into a Tversion version string.
package p9
import (
	"fmt"
	"strconv"
	"strings"
)
const (
	highestSupportedVersion uint32 = 7
	lowestSupportedVersion uint32 = 0
)
type baseVersion string
const (
	undetermined   baseVersion = ""
	version9P2000  baseVersion = "9P2000"
	version9P2000U baseVersion = "9P2000.u"
	version9P2000L baseVersion = "9P2000.L"
)
func HighestVersionString() string {
	return versionString(version9P2000L, highestSupportedVersion)
}
func parseVersion(str string) (baseVersion, uint32, bool) {
	switch str {
	case "9P2000.L":
		return version9P2000L, 0, true
	case "9P2000.u":
		return version9P2000U, 0, true
	case "9P2000":
		return version9P2000, 0, true
	default:
		substr := strings.Split(str, ".")
		if len(substr) != 4 {
			return "", 0, false
		}
		if substr[0] != "9P2000" || substr[1] != "L" || substr[2] != "Google" || len(substr[3]) == 0 {
			return "", 0, false
		}
		version, err := strconv.ParseUint(substr[3], 10, 32)
		if err != nil {
			return "", 0, false
		}
		return version9P2000L, uint32(version), true
	}
}