github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/make/tools/atree/files.h (about)

     1  #ifndef FILES_H
     2  #define FILES_H
     3  
     4  #include <map>
     5  #include <string>
     6  #include <vector>
     7  #include <sys/types.h>
     8  
     9  using namespace std;
    10  
    11  enum FileOpType {
    12      FILE_OP_COPY = 0,
    13      FILE_OP_REMOVE,
    14      FILE_OP_STRIP
    15  };
    16  
    17  struct FileRecord
    18  {
    19      FileRecord();
    20  
    21      string listFile;
    22      int listLine;
    23  
    24      string sourceBase;
    25      string sourceName;
    26      string sourcePath;
    27      bool sourceIsDir;
    28      time_t sourceMod;
    29      off_t  sourceSize;
    30      FileOpType fileOp;
    31  
    32      string outName;
    33      string outPath;
    34      off_t  outSize;
    35      time_t outMod;
    36      bool outIsDir;
    37      unsigned int mode;
    38  };
    39  
    40  int read_list_file(const string& filename,
    41                     const map<string, string>& variables,
    42                     vector<FileRecord>* files,
    43                     vector<string>* excludes);
    44  int locate(FileRecord* rec, const vector<string>& search);
    45  void stat_out(const string& base, FileRecord* rec);
    46  string dir_part(const string& filename);
    47  int list_dir(const FileRecord& rec, const vector<string>& excludes,
    48                      vector<FileRecord>* files);
    49  
    50  #endif // FILES_H