var projectsFile …
var projidFile …
var projectsParseRegexp …
var projidParseRegexp …
var quotaIDLock …
const maxUnusedQuotasToSearch …
type projectType …
type projectsList …
func projFilesAreOK() error { … }
func lockFile(file *os.File) error { … }
func unlockFile(file *os.File) error { … }
func openAndLockProjectFiles() (*os.File, *os.File, error) { … }
func closeProjectFiles(fProjects *os.File, fProjid *os.File) error { … }
func parseProject(l string) projectType { … }
func parseProjid(l string) projectType { … }
func parseProjFile(f *os.File, parser func(l string) projectType) []projectType { … }
func readProjectFiles(projects *os.File, projid *os.File) projectsList { … }
func findAvailableQuota(path string, idMap map[common.QuotaID]bool) (common.QuotaID, error) { … }
func addDirToProject(path string, id common.QuotaID, list *projectsList) (common.QuotaID, bool, error) { … }
func removeDirFromProject(path string, id common.QuotaID, list *projectsList) (bool, error) { … }
func writeProjectFile(base *os.File, projects []projectType) (string, error) { … }
func writeProjectFiles(fProjects *os.File, fProjid *os.File, writeProjid bool, list projectsList) error { … }
func createProjectID(path string, ID common.QuotaID) (common.QuotaID, error) { … }
func removeProjectID(path string, ID common.QuotaID) error { … }