blob: 695349ce8ea3c9b44e9763711d7fd48456a18583 [file] [log] [blame]
/* Copyright (C) 2021-2024 Free Software Foundation, Inc.
Contributed by Oracle.
This file is part of GNU Binutils.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
#ifndef _PERFAN_ENUMS_H
#define _PERFAN_ENUMS_H
#include "comp_com.h"
enum Cmd_status
{
CMD_OK = 0,
CMD_BAD,
CMD_AMBIGUOUS,
CMD_BAD_ARG,
CMD_OUTRANGE,
CMD_INVALID
};
enum LibExpand
{
LIBEX_SHOW = 0,
LIBEX_HIDE = 1,
LIBEX_API = 2
};
enum SrcVisible
{
SRC_NA = 0,
SRC_CODE = 1,
SRC_METRIC = 2
};
enum MetricType
{ // sync enum changes with Settings.java
MET_NORMAL = 0, // functions, lines, pcs; src & disasm (non-compare)
MET_CALL, // callers-callees
MET_DATA, // dataspace
MET_INDX, // index objects
MET_CALL_AGR, // call tree
MET_COMMON, // Analyzer uses for DSP_DISASM, DSP_SOURCE, ...
MET_IO, // IO activity
MET_SRCDIS, // src & disasm (non comparison mode)
MET_HEAP // Heap leaked list
};
enum ValueType
{ // Bitmask (!) sync enum changes with AnMetric.java
VAL_NA = 0, // nothing specified (use this enum instead of 0)
VAL_TIMEVAL = 1,
VAL_VALUE = 2,
VAL_PERCENT = 4,
VAL_DELTA = 8,
VAL_RATIO = 16,
VAL_INTERNAL = 32,
VAL_HIDE_ALL = 64 // hide all, but allows settings to be remembered
};
enum CompCom
{ // no value here can be the same as CCMV_
COMP_SRC = CCMV_BASIC + 1,
COMP_SRC_METRIC,
COMP_NOSRC,
COMP_HEX,
COMP_NOHEX,
COMP_THRESHOLD,
COMP_CMPLINE,
COMP_FUNCLINE
};
enum TLStack_align
{
TLSTACK_ALIGN_ROOT = 1,
TLSTACK_ALIGN_LEAF
};
enum Reorder_status
{
REORDER_SUCCESS,
REORDER_FAIL,
REORDER_ZERO,
REORDER_ONE_FUNC,
REORDER_FILE_OPEN,
REORDER_FILE_WRITE,
REORDER_COMP,
REORDER_NO_LOAD_OBJ,
REORDER_NO_OBJECT,
REORDER_INVALID
};
enum AnUtility_state
{
EXP_SUCCESS = 0,
EXP_FAILURE = 1,
EXP_INCOMPLETE = 2,
EXP_BROKEN = 4,
EXP_OBSOLETE = 8
};
enum Presentation_align_type
{
TEXT_LEFT = 1,
TEXT_CENTER = 2,
TEXT_RIGHT = 3
};
enum Message_type
{
ERROR_MSG = 1,
WARNING_MSG = 2,
PSTAT_MSG = 3,
PWARN_MSG = 4
};
enum Presentation_clock_unit
{
CUNIT_NULL = -1,
CUNIT_BYTES = -2,
CUNIT_TIME = -3
};
enum FuncListDisp_type
{
DSP_FUNCTION = 1,
DSP_LINE = 2,
DSP_PC = 3,
DSP_SOURCE = 4,
DSP_DISASM = 5,
DSP_SELF = 6, // not a tab; ID for Callers-Callees fragment data
DSP_CALLER = 7,
DSP_CALLEE = 8, // not a tab; ID for Callers-Callees callees data
DSP_CALLTREE = 9,
DSP_TIMELINE = 10,
DSP_STATIS = 11,
DSP_EXP = 12,
DSP_LEAKLIST = 13,
DSP_MEMOBJ = 14, // requires a specific subtype to define a tab
DSP_DATAOBJ = 15,
DSP_DLAYOUT = 16,
DSP_SRC_FILE = 17, // not a tab; Details information (?)
DSP_IFREQ = 18,
DSP_RACES = 19,
DSP_INDXOBJ = 20, // requires a specific subtype to define a tab
DSP_DUALSOURCE = 21,
DSP_SOURCE_DISASM = 22,
DSP_DEADLOCKS = 23,
DSP_MPI_TL = 24,
DSP_MPI_CHART = 25,
//DSP_TIMELINE_CLASSIC_TBR = 26,
DSP_SOURCE_V2 = 27, // comparison
DSP_DISASM_V2 = 28, // comparison
//DSP_THREADS_TL = 29;
//DSP_THREADS_CHART = 30;
DSP_IOACTIVITY = 31,
DSP_OVERVIEW = 32,
DSP_IOVFD = 33,
DSP_IOCALLSTACK = 34,
DSP_MINICALLER = 37,
DSP_HEAPCALLSTACK = 39,
DSP_CALLFLAME = 40,
DSP_SAMPLE = 99
};
enum CmpMode
{
CMP_DISABLE = 0,
CMP_ENABLE = 1,
CMP_RATIO = 2,
CMP_DELTA = 4
};
enum PrintMode
{
PM_TEXT = 0,
PM_HTML = 1,
PM_DELIM_SEP_LIST = 2
};
#endif // _ENUMS_H