-void ReadChunk_VERS(FILE *, int *, int *);
-void WriteChunk_VERS(FILE *, int, int);
-
-struct LevelDirInfo *newLevelDirInfo();
-void pushLevelDirInfo(struct LevelDirInfo **, struct LevelDirInfo *);
-int numLevelDirInfo(struct LevelDirInfo *);
-boolean validLevelSeries(struct LevelDirInfo *);
-struct LevelDirInfo *getFirstValidLevelSeries(struct LevelDirInfo *);
-struct LevelDirInfo *getLevelDirInfoFirstGroupEntry(struct LevelDirInfo *);
-int numLevelDirInfoInGroup(struct LevelDirInfo *);
-int posLevelDirInfo(struct LevelDirInfo *);
-struct LevelDirInfo *getLevelDirInfoFromPos(struct LevelDirInfo *, int);
-struct LevelDirInfo *getLevelDirInfoFromFilename(char *);
-void dumpLevelDirInfo(struct LevelDirInfo *, int);
-void sortLevelDirInfo(struct LevelDirInfo **,
- int (*compare_function)(const void *, const void *));
-
-char *getUserDataDir(void);
+TreeInfo *newTreeInfo();
+TreeInfo *newTreeInfo_setDefaults(int);
+void pushTreeInfo(TreeInfo **, TreeInfo *);
+int numTreeInfo(TreeInfo *);
+boolean validLevelSeries(TreeInfo *);
+TreeInfo *getFirstValidTreeInfoEntry(TreeInfo *);
+TreeInfo *getTreeInfoFirstGroupEntry(TreeInfo *);
+int numTreeInfoInGroup(TreeInfo *);
+int posTreeInfo(TreeInfo *);
+TreeInfo *getTreeInfoFromPos(TreeInfo *, int);
+TreeInfo *getTreeInfoFromIdentifier(TreeInfo *, char *);
+void dumpTreeInfo(TreeInfo *, int);
+void sortTreeInfoBySortFunction(TreeInfo **,
+ int (*compare_function)(const void *,
+ const void *));
+void sortTreeInfo(TreeInfo **);
+void freeTreeInfo(TreeInfo *);
+
+char *getHomeDir(void);
+char *getCommonDataDir(void);
+char *getPersonalDataDir(void);
+char *getUserGameDataDir(void);