(root)/
binutils-2.41/
gprofng/
src/
enums.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 _PERFAN_ENUMS_H
      22  #define _PERFAN_ENUMS_H
      23  
      24  #include "comp_com.h"
      25  
      26  enum Cmd_status
      27  {
      28    CMD_OK = 0,
      29    CMD_BAD,
      30    CMD_AMBIGUOUS,
      31    CMD_BAD_ARG,
      32    CMD_OUTRANGE,
      33    CMD_INVALID
      34  };
      35  
      36  enum LibExpand
      37  {
      38    LIBEX_SHOW    = 0,
      39    LIBEX_HIDE    = 1,
      40    LIBEX_API     = 2
      41  };
      42  
      43  enum SrcVisible
      44  {
      45    SRC_NA        = 0,
      46    SRC_CODE      = 1,
      47    SRC_METRIC    = 2
      48  };
      49  
      50  enum MetricType
      51  { // sync enum changes with Settings.java
      52    MET_NORMAL = 0,   // functions, lines, pcs; src & disasm (non-compare)
      53    MET_CALL,         // callers-callees
      54    MET_DATA,         // dataspace
      55    MET_INDX,         // index objects
      56    MET_CALL_AGR,     // call tree
      57    MET_COMMON,       // Analyzer uses for DSP_DISASM, DSP_SOURCE, ...
      58    MET_IO,           // IO activity
      59    MET_SRCDIS,       // src & disasm (non comparison mode)
      60    MET_HEAP          // Heap leaked list
      61  };
      62  
      63  enum ValueType
      64  { // Bitmask     (!) sync enum changes with AnMetric.java
      65    VAL_NA        = 0,  // nothing specified (use this enum instead of 0)
      66    VAL_TIMEVAL   = 1,
      67    VAL_VALUE     = 2,
      68    VAL_PERCENT   = 4,
      69    VAL_DELTA     = 8,
      70    VAL_RATIO     = 16,
      71    VAL_INTERNAL  = 32,
      72    VAL_HIDE_ALL  = 64  // hide all, but allows settings to be remembered
      73  };
      74  
      75  enum CompCom
      76  { // no value here can be the same as CCMV_
      77    COMP_SRC = CCMV_BASIC + 1,
      78    COMP_SRC_METRIC,
      79    COMP_NOSRC,
      80    COMP_HEX,
      81    COMP_NOHEX,
      82    COMP_THRESHOLD,
      83    COMP_CMPLINE,
      84    COMP_FUNCLINE
      85  };
      86  
      87  enum TLStack_align
      88  {
      89    TLSTACK_ALIGN_ROOT = 1,
      90    TLSTACK_ALIGN_LEAF
      91  };
      92  
      93  enum Reorder_status
      94  {
      95    REORDER_SUCCESS,
      96    REORDER_FAIL,
      97    REORDER_ZERO,
      98    REORDER_ONE_FUNC,
      99    REORDER_FILE_OPEN,
     100    REORDER_FILE_WRITE,
     101    REORDER_COMP,
     102    REORDER_NO_LOAD_OBJ,
     103    REORDER_NO_OBJECT,
     104    REORDER_INVALID
     105  };
     106  
     107  enum AnUtility_state
     108  {
     109    EXP_SUCCESS     = 0,
     110    EXP_FAILURE     = 1,
     111    EXP_INCOMPLETE  = 2,
     112    EXP_BROKEN      = 4,
     113    EXP_OBSOLETE    = 8
     114  };
     115  
     116  enum Presentation_align_type
     117  {
     118    TEXT_LEFT     = 1,
     119    TEXT_CENTER   = 2,
     120    TEXT_RIGHT    = 3
     121  };
     122  
     123  enum Message_type
     124  {
     125    ERROR_MSG     = 1,
     126    WARNING_MSG   = 2,
     127    PSTAT_MSG     = 3,
     128    PWARN_MSG     = 4
     129  };
     130  
     131  enum Presentation_clock_unit
     132  {
     133    CUNIT_NULL    = -1,
     134    CUNIT_BYTES   = -2,
     135    CUNIT_TIME    = -3
     136  };
     137  
     138  enum FuncListDisp_type
     139  {
     140    DSP_FUNCTION      = 1,
     141    DSP_LINE          = 2,
     142    DSP_PC            = 3,
     143    DSP_SOURCE        = 4,
     144    DSP_DISASM        = 5,
     145    DSP_SELF          = 6, // not a tab; ID for Callers-Callees fragment data
     146    DSP_CALLER        = 7,
     147    DSP_CALLEE        = 8, // not a tab; ID for Callers-Callees callees data
     148    DSP_CALLTREE      = 9,
     149    DSP_TIMELINE      = 10,
     150    DSP_STATIS        = 11,
     151    DSP_EXP           = 12,
     152    DSP_LEAKLIST      = 13,
     153    DSP_MEMOBJ        = 14, // requires a specific subtype to define a tab
     154    DSP_DATAOBJ       = 15,
     155    DSP_DLAYOUT       = 16,
     156    DSP_SRC_FILE      = 17, // not a tab; Details information (?)
     157    DSP_IFREQ         = 18,
     158    DSP_RACES         = 19,
     159    DSP_INDXOBJ       = 20, // requires a specific subtype to define a tab
     160    DSP_DUALSOURCE    = 21,
     161    DSP_SOURCE_DISASM = 22,
     162    DSP_DEADLOCKS     = 23,
     163    DSP_MPI_TL        = 24,
     164    DSP_MPI_CHART     = 25,
     165    //DSP_TIMELINE_CLASSIC_TBR   = 26,
     166    DSP_SOURCE_V2     = 27, // comparison
     167    DSP_DISASM_V2     = 28, // comparison
     168    //DSP_THREADS_TL    = 29;
     169    //DSP_THREADS_CHART = 30;
     170    DSP_IOACTIVITY    = 31,
     171    DSP_OVERVIEW      = 32,
     172    DSP_IOVFD         = 33,
     173    DSP_IOCALLSTACK   = 34,
     174    DSP_MINICALLER    = 37,
     175    DSP_HEAPCALLSTACK = 39,
     176    DSP_CALLFLAME     = 40,
     177    DSP_SAMPLE        = 99
     178  };
     179  
     180  enum CmpMode
     181  {
     182    CMP_DISABLE   = 0,
     183    CMP_ENABLE    = 1,
     184    CMP_RATIO     = 2,
     185    CMP_DELTA     = 4
     186  };
     187  
     188  enum PrintMode
     189  {
     190    PM_TEXT = 0,
     191    PM_HTML = 1,
     192    PM_DELIM_SEP_LIST = 2
     193  };
     194  
     195  #endif // _ENUMS_H