2006-03-04 18:16:49 +00:00
|
|
|
#ifndef HEADER_CRT
|
|
|
|
#define HEADER_CRT
|
|
|
|
/*
|
|
|
|
htop - CRT.h
|
2011-05-26 16:35:07 +00:00
|
|
|
(C) 2004-2011 Hisham H. Muhammad
|
2006-03-04 18:16:49 +00:00
|
|
|
Released under the GNU GPL, see the COPYING file
|
|
|
|
in the source distribution for its full text.
|
|
|
|
*/
|
|
|
|
|
2020-09-09 19:35:15 +00:00
|
|
|
#include "Macros.h"
|
|
|
|
|
2020-09-12 21:25:25 +00:00
|
|
|
#include <stdbool.h>
|
2017-05-23 17:02:34 +00:00
|
|
|
|
2020-09-12 22:16:07 +00:00
|
|
|
#define KEY_WHEELUP KEY_F(20)
|
2015-08-19 21:55:24 +00:00
|
|
|
#define KEY_WHEELDOWN KEY_F(21)
|
2020-09-12 22:16:07 +00:00
|
|
|
#define KEY_RECLICK KEY_F(22)
|
2015-08-19 21:55:24 +00:00
|
|
|
|
2015-01-22 01:27:31 +00:00
|
|
|
typedef enum TreeStr_ {
|
|
|
|
TREE_STR_HORZ,
|
|
|
|
TREE_STR_VERT,
|
|
|
|
TREE_STR_RTEE,
|
|
|
|
TREE_STR_BEND,
|
|
|
|
TREE_STR_TEND,
|
|
|
|
TREE_STR_OPEN,
|
|
|
|
TREE_STR_SHUT,
|
|
|
|
TREE_STR_COUNT
|
|
|
|
} TreeStr;
|
|
|
|
|
2015-02-03 21:30:05 +00:00
|
|
|
typedef enum ColorSchemes_ {
|
|
|
|
COLORSCHEME_DEFAULT = 0,
|
|
|
|
COLORSCHEME_MONOCHROME = 1,
|
|
|
|
COLORSCHEME_BLACKONWHITE = 2,
|
|
|
|
COLORSCHEME_LIGHTTERMINAL = 3,
|
|
|
|
COLORSCHEME_MIDNIGHT = 4,
|
|
|
|
COLORSCHEME_BLACKNIGHT = 5,
|
2015-04-09 18:17:20 +00:00
|
|
|
COLORSCHEME_BROKENGRAY = 6,
|
|
|
|
LAST_COLORSCHEME = 7,
|
2015-02-03 21:30:05 +00:00
|
|
|
} ColorSchemes;
|
|
|
|
|
2006-03-04 18:16:49 +00:00
|
|
|
typedef enum ColorElements_ {
|
|
|
|
RESET_COLOR,
|
|
|
|
DEFAULT_COLOR,
|
|
|
|
FUNCTION_BAR,
|
|
|
|
FUNCTION_KEY,
|
|
|
|
FAILED_SEARCH,
|
|
|
|
PANEL_HEADER_FOCUS,
|
|
|
|
PANEL_HEADER_UNFOCUS,
|
2015-04-09 18:17:20 +00:00
|
|
|
PANEL_SELECTION_FOCUS,
|
|
|
|
PANEL_SELECTION_FOLLOW,
|
|
|
|
PANEL_SELECTION_UNFOCUS,
|
2006-03-04 18:16:49 +00:00
|
|
|
LARGE_NUMBER,
|
|
|
|
METER_TEXT,
|
|
|
|
METER_VALUE,
|
|
|
|
LED_COLOR,
|
|
|
|
UPTIME,
|
2008-09-23 06:21:28 +00:00
|
|
|
BATTERY,
|
2006-03-04 18:16:49 +00:00
|
|
|
TASKS_RUNNING,
|
|
|
|
SWAP,
|
|
|
|
PROCESS,
|
|
|
|
PROCESS_SHADOW,
|
|
|
|
PROCESS_TAG,
|
|
|
|
PROCESS_MEGABYTES,
|
2020-09-13 21:50:24 +00:00
|
|
|
PROCESS_GIGABYTES,
|
2006-03-04 18:16:49 +00:00
|
|
|
PROCESS_TREE,
|
|
|
|
PROCESS_R_STATE,
|
2014-10-14 01:30:17 +00:00
|
|
|
PROCESS_D_STATE,
|
2006-03-04 18:16:49 +00:00
|
|
|
PROCESS_BASENAME,
|
|
|
|
PROCESS_HIGH_PRIORITY,
|
|
|
|
PROCESS_LOW_PRIORITY,
|
2008-03-08 23:39:48 +00:00
|
|
|
PROCESS_THREAD,
|
|
|
|
PROCESS_THREAD_BASENAME,
|
2006-03-04 18:16:49 +00:00
|
|
|
BAR_BORDER,
|
|
|
|
BAR_SHADOW,
|
|
|
|
GRAPH_1,
|
|
|
|
GRAPH_2,
|
|
|
|
MEMORY_USED,
|
|
|
|
MEMORY_BUFFERS,
|
2014-04-24 16:15:52 +00:00
|
|
|
MEMORY_BUFFERS_TEXT,
|
2006-03-04 18:16:49 +00:00
|
|
|
MEMORY_CACHE,
|
|
|
|
LOAD,
|
|
|
|
LOAD_AVERAGE_FIFTEEN,
|
|
|
|
LOAD_AVERAGE_FIVE,
|
|
|
|
LOAD_AVERAGE_ONE,
|
2020-08-31 20:08:35 +00:00
|
|
|
CHECK_BOX,
|
2006-03-04 18:16:49 +00:00
|
|
|
CHECK_MARK,
|
|
|
|
CHECK_TEXT,
|
|
|
|
CLOCK,
|
2010-08-24 23:20:38 +00:00
|
|
|
HELP_BOLD,
|
|
|
|
HOSTNAME,
|
2006-03-04 18:16:49 +00:00
|
|
|
CPU_NICE,
|
2014-04-24 16:15:52 +00:00
|
|
|
CPU_NICE_TEXT,
|
2006-03-04 18:16:49 +00:00
|
|
|
CPU_NORMAL,
|
2020-08-20 04:09:27 +00:00
|
|
|
CPU_SYSTEM,
|
2006-10-04 14:21:27 +00:00
|
|
|
CPU_IOWAIT,
|
|
|
|
CPU_IRQ,
|
|
|
|
CPU_SOFTIRQ,
|
2010-08-24 23:20:38 +00:00
|
|
|
CPU_STEAL,
|
|
|
|
CPU_GUEST,
|
2020-08-20 03:59:41 +00:00
|
|
|
PRESSURE_STALL_TEN,
|
|
|
|
PRESSURE_STALL_SIXTY,
|
|
|
|
PRESSURE_STALL_THREEHUNDRED,
|
2019-07-06 04:27:49 +00:00
|
|
|
ZFS_MFU,
|
|
|
|
ZFS_MRU,
|
|
|
|
ZFS_ANON,
|
|
|
|
ZFS_HEADER,
|
|
|
|
ZFS_OTHER,
|
2019-09-03 18:26:02 +00:00
|
|
|
ZFS_COMPRESSED,
|
|
|
|
ZFS_RATIO,
|
2006-03-04 18:16:49 +00:00
|
|
|
LAST_COLORELEMENT
|
|
|
|
} ColorElements;
|
|
|
|
|
2020-09-09 19:35:15 +00:00
|
|
|
void CRT_fatalError(const char* note) ATTR_NORETURN;
|
2014-04-24 15:20:03 +00:00
|
|
|
|
2020-09-09 22:17:59 +00:00
|
|
|
extern struct sigaction old_sigsegv_handler;
|
2020-09-02 07:38:44 +00:00
|
|
|
void CRT_handleSIGSEGV(int sgn);
|
2014-11-24 20:55:03 +00:00
|
|
|
|
2016-03-09 02:16:34 +00:00
|
|
|
#define KEY_ALT(x) (KEY_F(64 - 26) + (x - 'A'))
|
2016-02-19 15:38:02 +00:00
|
|
|
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2015-01-22 01:27:31 +00:00
|
|
|
extern const char *CRT_treeStrAscii[TREE_STR_COUNT];
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2015-07-17 12:33:34 +00:00
|
|
|
#ifdef HAVE_LIBNCURSESW
|
|
|
|
|
2015-01-22 01:27:31 +00:00
|
|
|
extern const char *CRT_treeStrUtf8[TREE_STR_COUNT];
|
|
|
|
|
2020-08-31 20:08:35 +00:00
|
|
|
extern bool CRT_utf8;
|
2015-07-17 12:33:34 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2015-01-22 01:27:31 +00:00
|
|
|
extern const char **CRT_treeStr;
|
2006-06-06 20:28:42 +00:00
|
|
|
|
2015-02-04 13:41:18 +00:00
|
|
|
extern int CRT_delay;
|
|
|
|
|
2020-07-10 00:35:32 +00:00
|
|
|
extern int* CRT_colors;
|
2015-02-03 21:30:05 +00:00
|
|
|
|
|
|
|
extern int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT];
|
2006-06-06 20:28:42 +00:00
|
|
|
|
2011-09-08 01:10:58 +00:00
|
|
|
extern int CRT_cursorX;
|
|
|
|
|
2014-02-27 19:35:22 +00:00
|
|
|
extern int CRT_scrollHAmount;
|
|
|
|
|
2015-08-19 21:55:24 +00:00
|
|
|
extern int CRT_scrollWheelVAmount;
|
|
|
|
|
2020-07-10 00:35:32 +00:00
|
|
|
extern char* CRT_termType;
|
2006-07-23 22:45:24 +00:00
|
|
|
|
2015-01-22 01:27:31 +00:00
|
|
|
extern int CRT_colorScheme;
|
|
|
|
|
2020-07-10 00:35:32 +00:00
|
|
|
extern void *backtraceArray[128];
|
2010-08-24 23:20:38 +00:00
|
|
|
|
2020-09-08 11:59:30 +00:00
|
|
|
#ifdef HAVE_SETUID_ENABLED
|
2017-07-26 18:40:55 +00:00
|
|
|
|
2020-09-08 12:28:34 +00:00
|
|
|
void CRT_dropPrivileges(void);
|
2017-07-26 18:40:55 +00:00
|
|
|
|
2020-09-08 12:28:34 +00:00
|
|
|
void CRT_restorePrivileges(void);
|
2017-07-26 18:40:55 +00:00
|
|
|
|
2020-09-08 11:59:30 +00:00
|
|
|
#else /* HAVE_SETUID_ENABLED */
|
2017-07-26 18:40:55 +00:00
|
|
|
|
|
|
|
/* Turn setuid operations into NOPs */
|
|
|
|
|
|
|
|
#ifndef CRT_dropPrivileges
|
|
|
|
#define CRT_dropPrivileges()
|
|
|
|
#define CRT_restorePrivileges()
|
|
|
|
#endif
|
|
|
|
|
2020-09-08 11:59:30 +00:00
|
|
|
#endif /* HAVE_SETUID_ENABLED */
|
2017-07-26 18:40:55 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void CRT_init(int delay, int colorScheme, bool allowUnicode);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-08 12:28:34 +00:00
|
|
|
void CRT_done(void);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-08 12:28:34 +00:00
|
|
|
int CRT_readKey(void);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-08 12:28:34 +00:00
|
|
|
void CRT_disableDelay(void);
|
2006-06-06 20:28:42 +00:00
|
|
|
|
2020-09-08 12:28:34 +00:00
|
|
|
void CRT_enableDelay(void);
|
2006-06-06 20:28:42 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void CRT_setColors(int colorScheme);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
|
|
|
#endif
|