(root)/
binutils-2.41/
gprofng/
src/
gp-archive.h
       1  /* Copyright (C) 2021-2023 Free Software Foundation, Inc.
       2     Contributed by Oracle.
       3  
       4     This file is part of GNU Binutils.
       5  
       6     This program is free software; you can redistribute it and/or modify
       7     it under the terms of the GNU General Public License as published by
       8     the Free Software Foundation; either version 3, or (at your option)
       9     any later version.
      10  
      11     This program is distributed in the hope that it will be useful,
      12     but WITHOUT ANY WARRANTY; without even the implied warranty of
      13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14     GNU General Public License for more details.
      15  
      16     You should have received a copy of the GNU General Public License
      17     along with this program; if not, write to the Free Software
      18     Foundation, 51 Franklin Street - Fifth Floor, Boston,
      19     MA 02110-1301, USA.  */
      20  
      21  #ifndef _GP_ARCHIVE_H_
      22  #define _GP_ARCHIVE_H_
      23  
      24  #include <regex.h>
      25  #include "DbeApplication.h"
      26  
      27  class ArchiveExp;
      28  class LoadObject;
      29  template <class ITEM> class Vector;
      30  
      31  enum
      32  {
      33    ARCH_NOTHING       = 0,
      34    ARCH_EXE_ONLY      = 1,
      35    ARCH_USED_EXE_ONLY = 2,
      36    ARCH_USED_SRC_ONLY = 4,
      37    ARCH_ALL           = 8
      38  };
      39  
      40  class er_archive : public DbeApplication
      41  {
      42  public:
      43    er_archive (int argc, char *argv[]);
      44    ~er_archive ();
      45    void start (int argc, char *argv[]);
      46  
      47  private:
      48    void usage ();
      49    int check_args (int argc, char *argv[]);
      50    int clean_old_archive (char *expname, ArchiveExp *founder_exp);
      51    int mask_is_on (const char *str);
      52    void check_env_var ();
      53    Vector <LoadObject*> *get_loadObjs ();
      54  
      55    Vector<regex_t *> *mask;  // -m <regexp>
      56    int s_option;             // -s NO|ALL|USED
      57    char *common_archive_dir; // -d // absolute path to common archive
      58    int force;                // -F
      59    int quiet;                // -q
      60    int descendant;           // -n
      61    int use_relative_path;    // -r
      62  };
      63  
      64  #endif