xref: /OK3568_Linux_fs/kernel/tools/perf/ui/libslang.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef _PERF_UI_SLANG_H_
3*4882a593Smuzhiyun #define _PERF_UI_SLANG_H_ 1
4*4882a593Smuzhiyun /*
5*4882a593Smuzhiyun  * slang versions <= 2.0.6 have a "#if HAVE_LONG_LONG" that breaks
6*4882a593Smuzhiyun  * the build if it isn't defined. Use the equivalent one that glibc
7*4882a593Smuzhiyun  * has on features.h.
8*4882a593Smuzhiyun  */
9*4882a593Smuzhiyun #include <features.h>
10*4882a593Smuzhiyun #ifndef HAVE_LONG_LONG
11*4882a593Smuzhiyun #define HAVE_LONG_LONG __GLIBC_HAVE_LONG_LONG
12*4882a593Smuzhiyun #endif
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun #ifdef HAVE_SLANG_INCLUDE_SUBDIR
15*4882a593Smuzhiyun #include <slang/slang.h>
16*4882a593Smuzhiyun #else
17*4882a593Smuzhiyun #include <slang.h>
18*4882a593Smuzhiyun #endif
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun #if SLANG_VERSION < 20104
21*4882a593Smuzhiyun #define slsmg_printf(msg, args...) \
22*4882a593Smuzhiyun 	SLsmg_printf((char *)(msg), ##args)
23*4882a593Smuzhiyun #define slsmg_vprintf(msg, vargs) \
24*4882a593Smuzhiyun 	SLsmg_vprintf((char *)(msg), vargs)
25*4882a593Smuzhiyun #define slsmg_write_nstring(msg, len) \
26*4882a593Smuzhiyun 	SLsmg_write_nstring((char *)(msg), len)
27*4882a593Smuzhiyun #define sltt_set_color(obj, name, fg, bg) \
28*4882a593Smuzhiyun 	SLtt_set_color(obj,(char *)(name), (char *)(fg), (char *)(bg))
29*4882a593Smuzhiyun #else
30*4882a593Smuzhiyun #define slsmg_printf SLsmg_printf
31*4882a593Smuzhiyun #define slsmg_vprintf SLsmg_vprintf
32*4882a593Smuzhiyun #define slsmg_write_nstring SLsmg_write_nstring
33*4882a593Smuzhiyun #define sltt_set_color SLtt_set_color
34*4882a593Smuzhiyun #endif
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun #define SL_KEY_UNTAB 0x1000
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #endif /* _PERF_UI_SLANG_H_ */
39