Linux taon.o2switch.net 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP Thu May 7 23:17:13 UTC 2026 x86_64
LiteSpeed
Server IP : 109.234.166.246 & Your IP : 216.73.216.250
Domains :
Cant Read [ /etc/named.conf ]
User : mhxr7844
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
include /
Delete
Unzip
Name
Size
Permission
Date
Action
GL
[ DIR ]
drwxr-xr-x
2022-11-13 19:37
X11
[ DIR ]
drwxr-xr-x
2024-09-27 06:01
arpa
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
asm
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
asm-generic
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
bind9
[ DIR ]
drwxr-xr-x
2026-06-09 06:14
bits
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
bsock
[ DIR ]
drwxr-xr-x
2022-11-28 11:00
c++
[ DIR ]
drwxr-xr-x
2025-08-26 11:44
criu-lve
[ DIR ]
drwxr-xr-x
2026-07-08 23:58
drm
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
e2p
[ DIR ]
drwxr-xr-x
2025-10-10 06:05
et
[ DIR ]
drwxr-xr-x
2025-10-10 06:05
event2
[ DIR ]
drwxr-xr-x
2024-10-29 06:11
ext2fs
[ DIR ]
drwxr-xr-x
2025-10-10 06:05
finclude
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
fontconfig
[ DIR ]
drwxr-xr-x
2022-11-13 19:37
freetype2
[ DIR ]
drwxr-xr-x
2025-04-02 06:02
fstrm
[ DIR ]
drwxr-xr-x
2022-11-13 19:37
gdbm
[ DIR ]
drwxr-xr-x
2022-11-13 19:37
gnu
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
google
[ DIR ]
drwxr-xr-x
2023-10-14 23:21
gssapi
[ DIR ]
drwxr-xr-x
2026-05-14 06:10
gssrpc
[ DIR ]
drwxr-xr-x
2026-05-14 06:10
json-c
[ DIR ]
drwxr-xr-x
2022-11-13 19:37
kadm5
[ DIR ]
drwxr-xr-x
2026-05-14 06:10
krb5
[ DIR ]
drwxr-xr-x
2026-05-14 06:10
libexslt
[ DIR ]
drwxr-xr-x
2026-06-18 06:00
libltdl
[ DIR ]
drwxr-xr-x
2022-11-13 19:37
libpng16
[ DIR ]
drwxr-xr-x
2026-06-27 06:00
libpq
[ DIR ]
drwxr-xr-x
2026-06-23 06:00
libxml2
[ DIR ]
drwxr-xr-x
2026-07-08 17:05
libxslt
[ DIR ]
drwxr-xr-x
2026-06-18 06:00
linux
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
lua-5.1
[ DIR ]
drwxr-xr-x
2024-07-23 06:02
lve
[ DIR ]
drwxr-xr-x
2026-07-14 06:02
lzma
[ DIR ]
drwxr-xr-x
2022-11-13 19:37
misc
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
mtd
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
mysql
[ DIR ]
drwxr-xr-x
2026-05-29 06:15
ncurses
[ DIR ]
drwxr-xr-x
2024-01-11 13:48
ncursesw
[ DIR ]
drwxr-xr-x
2024-01-11 13:48
net
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netash
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netatalk
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netax25
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
neteconet
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netinet
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netipx
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netiucv
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netpacket
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netrom
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
netrose
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
nfs
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
openssl
[ DIR ]
drwxr-xr-x
2026-07-15 06:05
perf
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
pgsql
[ DIR ]
drwxr-xr-x
2026-06-22 08:23
protobuf-c
[ DIR ]
drwxr-xr-x
2024-01-11 13:44
protocols
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
python2.7
[ DIR ]
drwxr-xr-x
2024-06-13 06:04
python3.12
[ DIR ]
drwxr-xr-x
2026-07-17 06:00
python3.6m
[ DIR ]
drwxr-xr-x
2026-07-16 06:00
python3.8
[ DIR ]
drwxr-xr-x
2024-10-15 11:15
rdma
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
rpc
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
scsi
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
security
[ DIR ]
drwxr-xr-x
2025-12-23 06:02
selinux
[ DIR ]
drwxr-xr-x
2026-02-12 06:00
sepol
[ DIR ]
drwxr-xr-x
2022-11-13 19:31
sound
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
sys
[ DIR ]
drwxr-xr-x
2026-07-23 06:01
uuid
[ DIR ]
drwxr-xr-x
2026-02-07 06:13
video
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
webp
[ DIR ]
drwxr-xr-x
2025-06-04 06:03
xcb
[ DIR ]
drwxr-xr-x
2022-11-13 19:37
xen
[ DIR ]
drwxr-xr-x
2026-07-21 06:04
FlexLexer.h
6.73
KB
-rw-r--r--
2019-10-12 14:33
a.out.h
4.25
KB
-rw-r--r--
2026-07-21 16:46
aio.h
7.28
KB
-rw-r--r--
2026-07-21 16:46
aliases.h
1.98
KB
-rw-r--r--
2026-07-21 16:46
alloca.h
1.17
KB
-rw-r--r--
2026-07-21 16:46
ar.h
1.69
KB
-rw-r--r--
2026-07-21 16:46
argp.h
24.82
KB
-rw-r--r--
2026-07-21 16:46
argz.h
5.91
KB
-rw-r--r--
2026-07-21 16:46
assert.h
4.45
KB
-rw-r--r--
2026-07-21 16:46
autosprintf.h
2.33
KB
-rw-r--r--
2019-11-18 18:16
byteswap.h
1.37
KB
-rw-r--r--
2026-07-21 16:46
bzlib.h
6.1
KB
-rw-r--r--
2010-09-11 01:08
com_err.h
2.07
KB
-rw-r--r--
2020-03-21 05:24
complex.h
7
KB
-rw-r--r--
2026-07-21 16:46
cpio.h
2.21
KB
-rw-r--r--
2026-07-21 16:46
cpuidle.h
844
B
-rw-r--r--
2026-07-08 18:23
crypt.h
8.9
KB
-rw-r--r--
2021-10-09 06:04
ctype.h
10.71
KB
-rw-r--r--
2026-07-21 16:46
curses.h
97.29
KB
-rw-r--r--
2023-10-14 20:54
cursesapp.h
6.62
KB
-rw-r--r--
2023-10-14 20:54
cursesf.h
27.2
KB
-rw-r--r--
2023-10-14 20:54
cursesm.h
19.22
KB
-rw-r--r--
2023-10-14 20:54
cursesp.h
8.4
KB
-rw-r--r--
2023-10-14 20:54
cursesw.h
48.55
KB
-rw-r--r--
2023-10-14 20:54
cursslk.h
7.13
KB
-rw-r--r--
2023-10-14 20:54
dbm.h
1.38
KB
-rw-r--r--
2022-10-08 15:22
dirent.h
12.19
KB
-rw-r--r--
2026-07-21 16:46
dlfcn.h
7.07
KB
-rw-r--r--
2026-07-21 16:46
elf.h
170.73
KB
-rw-r--r--
2026-07-21 16:46
endian.h
3.11
KB
-rw-r--r--
2026-07-21 16:46
entities.h
4.81
KB
-rw-r--r--
2017-08-30 13:05
envz.h
2.8
KB
-rw-r--r--
2026-07-21 16:46
err.h
2.16
KB
-rw-r--r--
2026-07-21 16:46
errno.h
1.64
KB
-rw-r--r--
2026-07-21 16:46
error.h
1.99
KB
-rw-r--r--
2026-07-21 16:46
eti.h
2.82
KB
-rw-r--r--
2023-10-14 20:54
etip.h
9.47
KB
-rw-r--r--
2023-10-14 20:54
evdns.h
1.97
KB
-rw-r--r--
2019-10-12 02:29
event.h
2.68
KB
-rw-r--r--
2019-10-12 02:29
evhttp.h
1.99
KB
-rw-r--r--
2019-10-12 02:29
evrpc.h
1.97
KB
-rw-r--r--
2019-10-12 02:29
evutil.h
1.74
KB
-rw-r--r--
2019-10-12 02:29
execinfo.h
1.49
KB
-rw-r--r--
2026-07-21 16:46
expat.h
43.24
KB
-rw-r--r--
2026-06-03 13:35
expat_config.h
3.82
KB
-rw-r--r--
2026-06-03 13:35
expat_external.h
5.89
KB
-rw-r--r--
2026-06-03 13:35
fcntl.h
10.7
KB
-rw-r--r--
2026-07-21 16:46
features.h
15.69
KB
-rw-r--r--
2026-07-21 16:46
fenv.h
5.72
KB
-rw-r--r--
2026-07-21 16:46
fmtmsg.h
3.16
KB
-rw-r--r--
2026-07-21 16:46
fnmatch.h
2.24
KB
-rw-r--r--
2026-07-21 16:46
form.h
18.17
KB
-rw-r--r--
2023-10-14 20:54
fpu_control.h
3.5
KB
-rw-r--r--
2026-07-21 16:46
fstab.h
3.04
KB
-rw-r--r--
2026-07-21 16:46
fstrm.h
12.71
KB
-rw-r--r--
2019-03-11 21:58
fts.h
8.18
KB
-rw-r--r--
2026-07-21 16:46
ftw.h
5.13
KB
-rw-r--r--
2026-07-21 16:46
gconv.h
3.99
KB
-rw-r--r--
2026-07-21 16:46
gcrypt.h
68.71
KB
-rw-r--r--
2022-06-28 13:54
gd.h
56.42
KB
-rw-r--r--
2017-08-30 13:05
gd_color_map.h
478
B
-rw-r--r--
2017-08-30 13:05
gd_errors.h
1.47
KB
-rw-r--r--
2017-08-30 13:05
gd_io.h
3.05
KB
-rw-r--r--
2017-08-30 13:05
gdbm.h
10.1
KB
-rw-r--r--
2022-10-08 15:22
gdcache.h
2.83
KB
-rw-r--r--
2017-08-30 13:05
gdfontg.h
553
B
-rw-r--r--
2017-08-30 13:05
gdfontl.h
551
B
-rw-r--r--
2017-08-30 13:05
gdfontmb.h
519
B
-rw-r--r--
2017-08-30 13:05
gdfonts.h
515
B
-rw-r--r--
2017-08-30 13:05
gdfontt.h
546
B
-rw-r--r--
2017-08-30 13:05
gdfx.h
497
B
-rw-r--r--
2017-08-30 13:05
gdpp.h
50.94
KB
-rw-r--r--
2017-08-30 13:05
getopt.h
1.43
KB
-rw-r--r--
2026-07-21 16:46
gettext-po.h
15.17
KB
-rw-r--r--
2019-11-18 18:17
glob.h
6.46
KB
-rw-r--r--
2026-07-21 16:46
gnu-versions.h
2.29
KB
-rw-r--r--
2026-07-21 16:46
gnumake.h
2.84
KB
-rw-r--r--
2022-04-18 18:38
gpg-error.h
66.29
KB
-rw-r--r--
2019-10-12 14:20
gpgrt.h
66.29
KB
-rw-r--r--
2019-10-12 14:20
grp.h
6.53
KB
-rw-r--r--
2026-07-21 16:46
gshadow.h
4.42
KB
-rw-r--r--
2026-07-21 16:46
gssapi.h
181
B
-rw-r--r--
2026-05-13 08:34
iconv.h
1.81
KB
-rw-r--r--
2026-07-21 16:46
idn-free.h
2.41
KB
-rw-r--r--
2019-10-13 18:55
idn-int.h
20
B
-rw-r--r--
2019-10-13 18:55
idna.h
3.48
KB
-rw-r--r--
2019-10-13 18:55
ieee754.h
4.79
KB
-rw-r--r--
2026-07-21 16:46
ifaddrs.h
2.77
KB
-rw-r--r--
2026-07-21 16:46
inttypes.h
11.61
KB
-rw-r--r--
2026-07-21 16:46
jconfig-64.h
2.17
KB
-rw-r--r--
2025-05-14 14:43
jconfig.h
246
B
-rw-r--r--
2025-05-14 14:43
jerror.h
14.73
KB
-rw-r--r--
2025-05-14 14:43
jmorecfg.h
14.7
KB
-rw-r--r--
2025-05-14 14:43
jpegint.h
15.22
KB
-rw-r--r--
2025-05-14 14:43
jpeglib.h
48.71
KB
-rw-r--r--
2025-05-14 14:43
kdb.h
67.66
KB
-rw-r--r--
2026-05-13 08:34
keyutils.h
7.52
KB
-rw-r--r--
2021-10-08 15:50
krad.h
8.72
KB
-rw-r--r--
2026-05-13 08:34
krb5.h
402
B
-rw-r--r--
2026-05-13 08:34
langinfo.h
17.43
KB
-rw-r--r--
2026-07-21 16:46
lastlog.h
126
B
-rw-r--r--
2026-07-21 16:46
libaio.h
8.73
KB
-rw-r--r--
2019-11-13 14:59
libgen.h
1.35
KB
-rw-r--r--
2026-07-21 16:46
libintl.h
4.47
KB
-rw-r--r--
2026-07-21 16:46
liblsapi-sha1.h
1.46
KB
-rw-r--r--
2026-06-24 22:03
libpq-events.h
2.16
KB
-rw-r--r--
2025-11-10 22:59
libpq-fe.h
22.79
KB
-rw-r--r--
2025-11-10 22:59
limits.h
5.29
KB
-rw-r--r--
2026-07-21 16:46
link.h
7.05
KB
-rw-r--r--
2026-07-21 16:46
locale.h
7.49
KB
-rw-r--r--
2026-07-21 16:46
lsapidef.h
4.85
KB
-rw-r--r--
2026-06-24 22:03
lscapi.h
25.74
KB
-rw-r--r--
2026-06-24 22:03
lscapi_config.h
599
B
-rw-r--r--
2026-06-24 22:03
ltdl.h
5.58
KB
-rw-r--r--
2019-10-11 16:55
lzma.h
9.59
KB
-rw-r--r--
2018-04-29 17:10
malloc.h
5.96
KB
-rw-r--r--
2026-07-21 16:46
math.h
52.07
KB
-rw-r--r--
2026-07-21 16:46
maxminddb.h
7.18
KB
-rw-r--r--
2016-03-23 17:57
maxminddb_config-64.h
507
B
-rw-r--r--
2024-02-12 03:30
maxminddb_config.h
178
B
-rw-r--r--
2024-02-12 03:30
mcheck.h
2.38
KB
-rw-r--r--
2026-07-21 16:46
memory.h
955
B
-rw-r--r--
2026-07-21 16:46
menu.h
11.91
KB
-rw-r--r--
2023-10-14 20:54
mntent.h
3.28
KB
-rw-r--r--
2026-07-21 16:46
monetary.h
1.76
KB
-rw-r--r--
2026-07-21 16:46
mqueue.h
3.67
KB
-rw-r--r--
2026-07-21 16:46
nc_tparm.h
4.1
KB
-rw-r--r--
2023-10-14 20:54
ncurses.h
97.29
KB
-rw-r--r--
2023-10-14 20:54
ncurses_dll.h
4.18
KB
-rw-r--r--
2023-10-14 20:54
ndbm.h
2.4
KB
-rw-r--r--
2022-10-08 15:22
netdb.h
27.44
KB
-rw-r--r--
2026-07-21 16:46
nl_types.h
1.71
KB
-rw-r--r--
2026-07-21 16:46
nss.h
1.83
KB
-rw-r--r--
2026-07-21 16:46
obstack.h
20.81
KB
-rw-r--r--
2026-07-21 16:46
panel.h
4.03
KB
-rw-r--r--
2023-10-14 20:54
paths.h
2.91
KB
-rw-r--r--
2026-07-21 16:46
pcre2.h
43.75
KB
-rw-r--r--
2022-08-02 18:07
pcre2posix.h
5.67
KB
-rw-r--r--
2022-08-02 18:07
pg_config-x86_64.h
32
KB
-rw-r--r--
2026-06-22 08:23
pg_config.h
1.21
KB
-rw-r--r--
2026-06-22 08:23
pg_config_ext-x86_64.h
323
B
-rw-r--r--
2026-06-22 08:23
pg_config_ext.h
1.24
KB
-rw-r--r--
2026-06-22 08:23
pg_config_manual.h
12.71
KB
-rw-r--r--
2026-06-22 08:23
pg_config_os.h
1.03
KB
-rw-r--r--
2025-11-10 22:59
png.h
140.77
KB
-rw-r--r--
2026-06-25 19:21
pngconf.h
22.31
KB
-rw-r--r--
2026-06-25 19:21
pnglibconf.h
7.39
KB
-rw-r--r--
2026-06-25 19:21
poll.h
22
B
-rw-r--r--
2026-07-21 16:46
postgres_ext.h
2.19
KB
-rw-r--r--
2025-11-10 22:59
pr29.h
2.07
KB
-rw-r--r--
2019-10-13 18:55
printf.h
6.64
KB
-rw-r--r--
2026-07-21 16:46
proc_service.h
3.39
KB
-rw-r--r--
2026-07-21 16:46
profile.h
11.87
KB
-rw-r--r--
2026-05-13 08:34
pthread.h
40.3
KB
-rw-r--r--
2026-07-21 16:46
pty.h
1.53
KB
-rw-r--r--
2026-07-21 16:46
punycode.h
9.16
KB
-rw-r--r--
2019-10-13 18:55
pwd.h
6.01
KB
-rw-r--r--
2026-07-21 16:46
re_comp.h
962
B
-rw-r--r--
2026-07-21 16:46
regex.h
24.14
KB
-rw-r--r--
2026-07-21 16:46
regexp.h
1.41
KB
-rw-r--r--
2026-07-21 16:46
resolv.h
11.87
KB
-rw-r--r--
2026-07-21 16:46
sched.h
4.62
KB
-rw-r--r--
2026-07-21 16:46
search.h
5.1
KB
-rw-r--r--
2026-07-21 16:46
semaphore.h
2.34
KB
-rw-r--r--
2026-07-21 16:46
setjmp.h
3.58
KB
-rw-r--r--
2026-07-21 16:46
sgtty.h
1.31
KB
-rw-r--r--
2026-07-21 16:46
shadow.h
5.34
KB
-rw-r--r--
2026-07-21 16:46
signal.h
11.96
KB
-rw-r--r--
2026-07-21 16:46
spawn.h
6.53
KB
-rw-r--r--
2026-07-21 16:46
stab.h
264
B
-rw-r--r--
2026-07-21 16:46
stdc-predef.h
2.24
KB
-rw-r--r--
2026-07-21 16:46
stdint.h
8.27
KB
-rw-r--r--
2026-07-21 16:46
stdio.h
29.46
KB
-rw-r--r--
2026-07-21 16:46
stdio_ext.h
2.73
KB
-rw-r--r--
2026-07-21 16:46
stdlib.h
34.82
KB
-rw-r--r--
2026-07-21 16:46
string.h
17.17
KB
-rw-r--r--
2026-07-21 16:46
stringprep.h
8.03
KB
-rw-r--r--
2019-10-13 18:55
strings.h
4.64
KB
-rw-r--r--
2026-07-21 16:46
syscall.h
25
B
-rw-r--r--
2026-07-21 16:46
sysexits.h
5.11
KB
-rw-r--r--
2026-07-21 16:46
syslog.h
24
B
-rw-r--r--
2026-07-21 16:46
tar.h
3.7
KB
-rw-r--r--
2026-07-21 16:46
term.h
40.22
KB
-rw-r--r--
2023-10-14 20:54
term_entry.h
8.55
KB
-rw-r--r--
2023-10-14 20:54
termcap.h
3.39
KB
-rw-r--r--
2023-10-14 20:54
termio.h
214
B
-rw-r--r--
2026-07-21 16:46
termios.h
3.51
KB
-rw-r--r--
2026-07-21 16:46
tgmath.h
30.75
KB
-rw-r--r--
2026-07-21 16:46
thread_db.h
15.65
KB
-rw-r--r--
2026-07-21 16:46
threads.h
6.5
KB
-rw-r--r--
2026-07-21 16:46
tic.h
13.32
KB
-rw-r--r--
2023-10-14 20:54
tiff.h
35.14
KB
-rw-r--r--
2026-05-11 23:20
tiffconf-64.h
3.35
KB
-rw-r--r--
2026-05-11 23:20
tiffconf.h
250
B
-rw-r--r--
2026-05-11 23:20
tiffio.h
22.68
KB
-rw-r--r--
2026-05-11 23:20
tiffio.hxx
1.66
KB
-rw-r--r--
2026-05-11 23:20
tiffvers.h
410
B
-rw-r--r--
2026-05-11 23:20
time.h
10.12
KB
-rw-r--r--
2026-07-21 16:46
tld.h
4.54
KB
-rw-r--r--
2019-10-13 18:55
ttyent.h
2.44
KB
-rw-r--r--
2026-07-21 16:46
uchar.h
1.95
KB
-rw-r--r--
2026-07-21 16:46
ucontext.h
1.99
KB
-rw-r--r--
2026-07-21 16:46
ulimit.h
1.55
KB
-rw-r--r--
2026-07-21 16:46
unctrl.h
3.03
KB
-rw-r--r--
2023-10-14 20:54
unistd.h
41.74
KB
-rw-r--r--
2026-07-21 16:46
utime.h
1.47
KB
-rw-r--r--
2026-07-21 16:46
utmp.h
3.15
KB
-rw-r--r--
2026-07-21 16:46
utmpx.h
4
KB
-rw-r--r--
2026-07-21 16:46
values.h
1.91
KB
-rw-r--r--
2026-07-21 16:46
verto-module.h
6.48
KB
-rw-r--r--
2022-10-08 09:49
verto.h
18.98
KB
-rw-r--r--
2022-10-08 09:49
wait.h
22
B
-rw-r--r--
2026-07-21 16:46
wchar.h
30.38
KB
-rw-r--r--
2026-07-21 16:46
wctype.h
5.42
KB
-rw-r--r--
2026-07-21 16:46
wordexp.h
2.44
KB
-rw-r--r--
2026-07-21 16:46
zconf.h
15.88
KB
-rw-r--r--
2023-10-12 00:02
zlib.h
94
KB
-rw-r--r--
2023-10-12 00:02
Save
Rename
/**************************************************************************** * Copyright (c) 1998-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * * "Software"), to deal in the Software without restriction, including * * without limitation the rights to use, copy, modify, merge, publish, * * distribute, distribute with modifications, sublicense, and/or sell * * copies of the Software, and to permit persons to whom the Software is * * furnished to do so, subject to the following conditions: * * * * The above copyright notice and this permission notice shall be included * * in all copies or substantial portions of the Software. * * * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * * * Except as contained in this notice, the name(s) of the above copyright * * holders shall not be used in advertising or otherwise to promote the * * sale, use or other dealings in this Software without prior written * * authorization. * ****************************************************************************/ /**************************************************************************** * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * * and: Eric S. Raymond <esr@snark.thyrsus.com> * * and: Thomas E. Dickey 1996 on * ****************************************************************************/ /* * $Id: tic.h,v 1.75 2017/07/29 23:21:06 tom Exp $ * tic.h - Global variables and structures for the terminfo compiler. */ #ifndef __TIC_H #define __TIC_H /* *INDENT-OFF* */ #ifdef __cplusplus extern "C" { #endif #include <ncurses_cfg.h> #include <curses.h> /* for the _tracef() prototype, ERR/OK, bool defs */ /* ** The format of SVr2 compiled terminfo files is as follows: ** ** Header (12 bytes), containing information given below ** Names Section, containing the names of the terminal ** Boolean Section, containing the values of all of the ** boolean capabilities ** A null byte may be inserted here to make ** sure that the Number Section begins on an ** even word boundary. ** Number Section, containing the values of all of the numeric ** capabilities, each as a short integer ** String Section, containing short integer offsets into the ** String Table, one per string capability ** String Table, containing the actual characters of the string ** capabilities. ** ** In the SVr2 format, "short" means signed 16-bit numbers, which is sometimes ** inconvenient. The numbers are signed, to provide for absent and canceled ** values. ncurses6.1 introduced an extension to this compiled format, by ** making the Number Section a list of signed 32-bit integers. ** ** NOTE that all short integers in the file are stored using VAX/PDP-style ** byte-order, i.e., least-significant byte first. ** ** There is no structure definition here because it would only confuse ** matters. Terminfo format is a raw byte layout, not a structure ** dump. If you happen to be on a little-endian machine with 16-bit ** shorts that requires no padding between short members in a struct, ** then there is a natural C structure that captures the header, but ** not very helpfully. */ #define MAGIC 0432 /* first two bytes of a compiled entry */ #define MAGIC2 01036 /* first two bytes of a compiled 32-bit entry */ #undef BYTE #define BYTE(p,n) (unsigned char)((p)[n]) #define IS_NEG1(p) ((BYTE(p,0) == 0377) && (BYTE(p,1) == 0377)) #define IS_NEG2(p) ((BYTE(p,0) == 0376) && (BYTE(p,1) == 0377)) #define LOW_MSB(p) (BYTE(p,0) + 256*BYTE(p,1)) #define IS_TIC_MAGIC(p) (LOW_MSB(p) == MAGIC || LOW_MSB(p) == MAGIC2) #define quick_prefix(s) (!strncmp((s), "b64:", 4) || !strncmp((s), "hex:", 4)) /* * The "maximum" here is misleading; XSI guarantees minimum values, which a * given implementation may exceed. */ #define MAX_NAME_SIZE 512 /* maximum legal name field size (XSI:127) */ #define MAX_ENTRY_SIZE1 4096 /* maximum legal entry size (SVr2) */ #define MAX_ENTRY_SIZE2 32768 /* maximum legal entry size (ncurses6.1) */ #if NCURSES_EXT_COLORS && HAVE_INIT_EXTENDED_COLOR #define MAX_ENTRY_SIZE MAX_ENTRY_SIZE2 #else #define MAX_ENTRY_SIZE MAX_ENTRY_SIZE1 #endif /* * The maximum size of individual name or alias is guaranteed in XSI to be at * least 14, since that corresponds to the older filename lengths. Newer * systems allow longer aliases, though not many terminal descriptions are * written to use them. The MAX_ALIAS symbol is used for warnings. */ #if HAVE_LONG_FILE_NAMES #define MAX_ALIAS 32 /* smaller than POSIX minimum for PATH_MAX */ #else #define MAX_ALIAS 14 /* SVr3 filename length */ #endif /* location of user's personal info directory */ #define PRIVATE_INFO "%s/.terminfo" /* plug getenv("HOME") into %s */ /* * Some traces are designed to be used via tic's verbose option (and similar in * infocmp and toe) rather than the 'trace()' function. So we use the bits * above the normal trace() parameter as a debug-level. */ #define MAX_DEBUG_LEVEL 15 #define DEBUG_LEVEL(n) ((n) << TRACE_SHIFT) #define set_trace_level(n) \ _nc_tracing &= DEBUG_LEVEL(MAX_DEBUG_LEVEL) \ + DEBUG_LEVEL(MAX_DEBUG_LEVEL) - 1, \ _nc_tracing |= DEBUG_LEVEL(n) #ifdef TRACE #define DEBUG(n, a) if (_nc_tracing >= DEBUG_LEVEL(n)) _tracef a #else #define DEBUG(n, a) /*nothing*/ #endif /* * These are the types of tokens returned by the scanner. The first * three are also used in the hash table of capability names. The scanner * returns one of these values after loading the specifics into the global * structure curr_token. */ #define BOOLEAN 0 /* Boolean capability */ #define NUMBER 1 /* Numeric capability */ #define STRING 2 /* String-valued capability */ #define CANCEL 3 /* Capability to be cancelled in following tc's */ #define NAMES 4 /* The names for a terminal type */ #define UNDEF 5 /* Undefined */ #define NO_PUSHBACK -1 /* used in pushtype to indicate no pushback */ /* * The global structure in which the specific parts of a * scanned token are returned. */ struct token { char *tk_name; /* name of capability */ int tk_valnumber; /* value of capability (if a number) */ char *tk_valstring; /* value of capability (if a string) */ }; /* * Offsets to string capabilities, with the corresponding functionkey codes. */ struct tinfo_fkeys { unsigned offset; chtype code; }; typedef short HashValue; /* * The file comp_captab.c contains an array of these structures, one per * possible capability. These are indexed by a hash table array of pointers to * the same structures for use by the parser. */ struct name_table_entry { const char *nte_name; /* name to hash on */ int nte_type; /* BOOLEAN, NUMBER or STRING */ HashValue nte_index; /* index of associated variable in its array */ HashValue nte_link; /* index in table of next hash, or -1 */ }; /* * Use this structure to hide differences between terminfo and termcap tables. */ typedef struct { unsigned table_size; const HashValue *table_data; HashValue (*hash_of)(const char *); int (*compare_names)(const char *, const char *); } HashData; struct alias { const char *from; const char *to; const char *source; }; #define NOTFOUND ((struct name_table_entry *) 0) /* * The casts are required for correct sign-propagation with systems such as * AIX, IRIX64, Solaris which default to unsigned characters. The C standard * leaves this detail unspecified. */ /* out-of-band values for representing absent capabilities */ #define ABSENT_BOOLEAN ((signed char)-1) /* 255 */ #define ABSENT_NUMERIC (-1) #define ABSENT_STRING (char *)0 /* out-of-band values for representing cancels */ #define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */ #define CANCELLED_NUMERIC (-2) #define CANCELLED_STRING (char *)(-1) #define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */ #define VALID_NUMERIC(s) ((s) >= 0) #define VALID_STRING(s) ((s) != CANCELLED_STRING && (s) != ABSENT_STRING) /* termcap entries longer than this may break old binaries */ #define MAX_TERMCAP_LENGTH 1023 /* this is a documented limitation of terminfo */ #define MAX_TERMINFO_LENGTH 4096 #ifndef TERMINFO #define TERMINFO "/usr/share/terminfo" #endif #ifdef NCURSES_TERM_ENTRY_H_incl /* * These entrypoints are used only by the ncurses utilities such as tic. */ #ifdef NCURSES_INTERNALS /* access.c */ extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *); extern NCURSES_EXPORT(bool) _nc_is_abs_path (const char *); extern NCURSES_EXPORT(bool) _nc_is_dir_path (const char *); extern NCURSES_EXPORT(bool) _nc_is_file_path (const char *); extern NCURSES_EXPORT(char *) _nc_basename (char *); extern NCURSES_EXPORT(char *) _nc_rootname (char *); /* comp_captab.c */ extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool); extern NCURSES_EXPORT(const HashData *) _nc_get_hash_info (bool); extern NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool); /* comp_hash.c: name lookup */ extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry (const char *, int, bool); /* comp_scan.c: lexical analysis */ extern NCURSES_EXPORT(int) _nc_get_token (bool); extern NCURSES_EXPORT(void) _nc_panic_mode (char); extern NCURSES_EXPORT(void) _nc_push_token (int); extern NCURSES_EXPORT_VAR(int) _nc_curr_col; extern NCURSES_EXPORT_VAR(int) _nc_curr_line; extern NCURSES_EXPORT_VAR(int) _nc_syntax; extern NCURSES_EXPORT_VAR(int) _nc_strict_bsd; extern NCURSES_EXPORT_VAR(long) _nc_comment_end; extern NCURSES_EXPORT_VAR(long) _nc_comment_start; extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos; extern NCURSES_EXPORT_VAR(long) _nc_start_line; #define SYN_TERMINFO 0 #define SYN_TERMCAP 1 /* comp_error.c: warning & abort messages */ extern NCURSES_EXPORT(const char *) _nc_get_source (void); extern NCURSES_EXPORT(void) _nc_err_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN; extern NCURSES_EXPORT(void) _nc_get_type (char *name); extern NCURSES_EXPORT(void) _nc_set_source (const char *const); extern NCURSES_EXPORT(void) _nc_set_type (const char *const); extern NCURSES_EXPORT(void) _nc_syserr_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN; extern NCURSES_EXPORT(void) _nc_warning (const char *const,...) GCC_PRINTFLIKE(1,2); extern NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings; /* comp_scan.c */ extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token; /* captoinfo.c: capability conversion */ extern NCURSES_EXPORT(char *) _nc_captoinfo (const char *, const char *, int const); extern NCURSES_EXPORT(char *) _nc_infotocap (const char *, const char *, int const); /* home_terminfo.c */ extern NCURSES_EXPORT(char *) _nc_home_terminfo (void); /* init_keytry.c */ #if BROKEN_LINKER #define _nc_tinfo_fkeys _nc_tinfo_fkeysf() extern NCURSES_EXPORT(const struct tinfo_fkeys *) _nc_tinfo_fkeysf (void); #else extern NCURSES_EXPORT_VAR(const struct tinfo_fkeys) _nc_tinfo_fkeys[]; #endif /* lib_tparm.c */ #define NUM_PARM 9 extern NCURSES_EXPORT_VAR(int) _nc_tparm_err; extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *, char **, int *); /* lib_trace.c */ extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing; extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *); extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *); /* lib_tputs.c */ extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent; /* Add one for every null sent */ /* comp_main.c: compiler main */ extern const char * _nc_progname; /* db_iterator.c */ extern NCURSES_EXPORT(const char *) _nc_next_db(DBDIRS *, int *); extern NCURSES_EXPORT(const char *) _nc_tic_dir (const char *); extern NCURSES_EXPORT(void) _nc_first_db(DBDIRS *, int *); extern NCURSES_EXPORT(void) _nc_last_db(void); /* write_entry.c */ extern NCURSES_EXPORT(int) _nc_tic_written (void); #endif /* NCURSES_INTERNALS */ /* * These entrypoints are used by tack. */ /* comp_hash.c: name lookup */ extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry (const char *, const HashValue *); extern NCURSES_EXPORT(const HashValue *) _nc_get_hash_table (bool); /* comp_scan.c: lexical analysis */ extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *); /* comp_expand.c: expand string into readable form */ extern NCURSES_EXPORT(char *) _nc_tic_expand (const char *, bool, int); /* comp_scan.c: decode string from readable form */ extern NCURSES_EXPORT(int) _nc_trans_string (char *, char *); #endif /* NCURSES_TERM_ENTRY_H_incl */ #ifdef __cplusplus } #endif /* *INDENT-ON* */ #endif /* __TIC_H */