auto import from //depot/cupcake/@135843
diff --git a/tools/atree/files.h b/tools/atree/files.h
new file mode 100644
index 0000000..6480c98
--- /dev/null
+++ b/tools/atree/files.h
@@ -0,0 +1,39 @@
+#ifndef FILES_H
+#define FILES_H
+
+#include <map>
+#include <string>
+#include <vector>
+#include <sys/types.h>
+
+using namespace std;
+
+struct FileRecord
+{
+ string listFile;
+ int listLine;
+
+ string sourceBase;
+ string sourceName;
+ string sourcePath;
+ bool sourceIsDir;
+ time_t sourceMod;
+
+ string outName;
+ string outPath;
+ time_t outMod;
+ bool outIsDir;
+ unsigned int mode;
+};
+
+int read_list_file(const string& filename,
+ const map<string, string>& variables,
+ vector<FileRecord>* files,
+ vector<string>* excludes);
+int locate(FileRecord* rec, const vector<string>& search);
+void stat_out(const string& base, FileRecord* rec);
+string dir_part(const string& filename);
+int list_dir(const FileRecord& rec, const vector<string>& excludes,
+ vector<FileRecord>* files);
+
+#endif // FILES_H