[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
include
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 GL
SET
[ DEL ]
📁 X11
SET
[ DEL ]
📁 arpa
SET
[ DEL ]
📁 asm
SET
[ DEL ]
📁 asm-generic
SET
[ DEL ]
📁 bind9
SET
[ DEL ]
📁 bits
SET
[ DEL ]
📁 c++
SET
[ DEL ]
📁 drm
SET
[ DEL ]
📁 e2p
SET
[ DEL ]
📁 et
SET
[ DEL ]
📁 event2
SET
[ DEL ]
📁 ext2fs
SET
[ DEL ]
📁 finclude
SET
[ DEL ]
📁 fontconfig
SET
[ DEL ]
📁 freetype2
SET
[ DEL ]
📁 fstrm
SET
[ DEL ]
📁 gdbm
SET
[ DEL ]
📁 gnu
SET
[ DEL ]
📁 google
SET
[ DEL ]
📁 gssapi
SET
[ DEL ]
📁 gssrpc
SET
[ DEL ]
📁 json-c
SET
[ DEL ]
📁 kadm5
SET
[ DEL ]
📁 krb5
SET
[ DEL ]
📁 libexslt
SET
[ DEL ]
📁 libltdl
SET
[ DEL ]
📁 libpng16
SET
[ DEL ]
📁 libxml2
SET
[ DEL ]
📁 libxslt
SET
[ DEL ]
📁 linux
SET
[ DEL ]
📁 lzma
SET
[ DEL ]
📁 misc
SET
[ DEL ]
📁 mtd
SET
[ DEL ]
📁 mysql
SET
[ DEL ]
📁 ncurses
SET
[ DEL ]
📁 ncursesw
SET
[ DEL ]
📁 net
SET
[ DEL ]
📁 netash
SET
[ DEL ]
📁 netatalk
SET
[ DEL ]
📁 netax25
SET
[ DEL ]
📁 neteconet
SET
[ DEL ]
📁 netinet
SET
[ DEL ]
📁 netipx
SET
[ DEL ]
📁 netiucv
SET
[ DEL ]
📁 netpacket
SET
[ DEL ]
📁 netrom
SET
[ DEL ]
📁 netrose
SET
[ DEL ]
📁 nfs
SET
[ DEL ]
📁 openssl
SET
[ DEL ]
📁 perf
SET
[ DEL ]
📁 protobuf-c
SET
[ DEL ]
📁 protocols
SET
[ DEL ]
📁 python3.12
SET
[ DEL ]
📁 python3.6m
SET
[ DEL ]
📁 rdma
SET
[ DEL ]
📁 rpc
SET
[ DEL ]
📁 scsi
SET
[ DEL ]
📁 security
SET
[ DEL ]
📁 selinux
SET
[ DEL ]
📁 sepol
SET
[ DEL ]
📁 sound
SET
[ DEL ]
📁 sys
SET
[ DEL ]
📁 uuid
SET
[ DEL ]
📁 video
SET
[ DEL ]
📁 webp
SET
[ DEL ]
📁 xcb
SET
[ DEL ]
📁 xen
SET
[ DEL ]
📄 FlexLexer.h
6,893 B
SET
[ EDIT ]
|
[ DEL ]
📄 a.out.h
4,350 B
SET
[ EDIT ]
|
[ DEL ]
📄 aio.h
7,456 B
SET
[ EDIT ]
|
[ DEL ]
📄 aliases.h
2,031 B
SET
[ EDIT ]
|
[ DEL ]
📄 alloca.h
1,203 B
SET
[ EDIT ]
|
[ DEL ]
📄 ar.h
1,730 B
SET
[ EDIT ]
|
[ DEL ]
📄 argp.h
25,414 B
SET
[ EDIT ]
|
[ DEL ]
📄 argz.h
6,050 B
SET
[ EDIT ]
|
[ DEL ]
📄 assert.h
4,561 B
SET
[ EDIT ]
|
[ DEL ]
📄 autosprintf.h
2,383 B
SET
[ EDIT ]
|
[ DEL ]
📄 byteswap.h
1,404 B
SET
[ EDIT ]
|
[ DEL ]
📄 bzlib.h
6,245 B
SET
[ EDIT ]
|
[ DEL ]
📄 com_err.h
2,118 B
SET
[ EDIT ]
|
[ DEL ]
📄 complex.h
7,163 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpio.h
2,267 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpuidle.h
844 B
SET
[ EDIT ]
|
[ DEL ]
📄 crypt.h
9,118 B
SET
[ EDIT ]
|
[ DEL ]
📄 ctype.h
10,963 B
SET
[ EDIT ]
|
[ DEL ]
📄 curses.h
99,625 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesapp.h
6,775 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesf.h
27,849 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesm.h
19,677 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesp.h
8,601 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursesw.h
49,719 B
SET
[ EDIT ]
|
[ DEL ]
📄 cursslk.h
7,304 B
SET
[ EDIT ]
|
[ DEL ]
📄 dbm.h
1,414 B
SET
[ EDIT ]
|
[ DEL ]
📄 dirent.h
12,484 B
SET
[ EDIT ]
|
[ DEL ]
📄 dlfcn.h
7,238 B
SET
[ EDIT ]
|
[ DEL ]
📄 elf.h
174,828 B
SET
[ EDIT ]
|
[ DEL ]
📄 endian.h
3,189 B
SET
[ EDIT ]
|
[ DEL ]
📄 entities.h
4,930 B
SET
[ EDIT ]
|
[ DEL ]
📄 envz.h
2,866 B
SET
[ EDIT ]
|
[ DEL ]
📄 err.h
2,209 B
SET
[ EDIT ]
|
[ DEL ]
📄 errno.h
1,678 B
SET
[ EDIT ]
|
[ DEL ]
📄 error.h
2,039 B
SET
[ EDIT ]
|
[ DEL ]
📄 eti.h
2,891 B
SET
[ EDIT ]
|
[ DEL ]
📄 etip.h
9,702 B
SET
[ EDIT ]
|
[ DEL ]
📄 evdns.h
2,019 B
SET
[ EDIT ]
|
[ DEL ]
📄 event.h
2,744 B
SET
[ EDIT ]
|
[ DEL ]
📄 evhttp.h
2,035 B
SET
[ EDIT ]
|
[ DEL ]
📄 evrpc.h
2,015 B
SET
[ EDIT ]
|
[ DEL ]
📄 evutil.h
1,782 B
SET
[ EDIT ]
|
[ DEL ]
📄 execinfo.h
1,522 B
SET
[ EDIT ]
|
[ DEL ]
📄 expat.h
44,273 B
SET
[ EDIT ]
|
[ DEL ]
📄 expat_config.h
3,910 B
SET
[ EDIT ]
|
[ DEL ]
📄 expat_external.h
6,029 B
SET
[ EDIT ]
|
[ DEL ]
📄 fcntl.h
10,958 B
SET
[ EDIT ]
|
[ DEL ]
📄 features.h
16,062 B
SET
[ EDIT ]
|
[ DEL ]
📄 fenv.h
5,857 B
SET
[ EDIT ]
|
[ DEL ]
📄 fmtmsg.h
3,239 B
SET
[ EDIT ]
|
[ DEL ]
📄 fnmatch.h
2,295 B
SET
[ EDIT ]
|
[ DEL ]
📄 form.h
18,601 B
SET
[ EDIT ]
|
[ DEL ]
📄 fpu_control.h
3,583 B
SET
[ EDIT ]
|
[ DEL ]
📄 fstab.h
3,111 B
SET
[ EDIT ]
|
[ DEL ]
📄 fstrm.h
13,017 B
SET
[ EDIT ]
|
[ DEL ]
📄 fts.h
8,372 B
SET
[ EDIT ]
|
[ DEL ]
📄 ftw.h
5,251 B
SET
[ EDIT ]
|
[ DEL ]
📄 gconv.h
4,410 B
SET
[ EDIT ]
|
[ DEL ]
📄 gcrypt.h
70,361 B
SET
[ EDIT ]
|
[ DEL ]
📄 gd.h
57,777 B
SET
[ EDIT ]
|
[ DEL ]
📄 gd_color_map.h
478 B
SET
[ EDIT ]
|
[ DEL ]
📄 gd_errors.h
1,503 B
SET
[ EDIT ]
|
[ DEL ]
📄 gd_io.h
3,125 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdbm.h
10,345 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdcache.h
2,898 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfontg.h
553 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfontl.h
551 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfontmb.h
519 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfonts.h
515 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfontt.h
546 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdfx.h
497 B
SET
[ EDIT ]
|
[ DEL ]
📄 gdpp.h
52,162 B
SET
[ EDIT ]
|
[ DEL ]
📄 gelf.h
11,406 B
SET
[ EDIT ]
|
[ DEL ]
📄 getopt.h
1,468 B
SET
[ EDIT ]
|
[ DEL ]
📄 gettext-po.h
15,534 B
SET
[ EDIT ]
|
[ DEL ]
📄 glob.h
6,614 B
SET
[ EDIT ]
|
[ DEL ]
📄 gnu-versions.h
2,342 B
SET
[ EDIT ]
|
[ DEL ]
📄 gnumake.h
2,912 B
SET
[ EDIT ]
|
[ DEL ]
📄 gpg-error.h
67,879 B
SET
[ EDIT ]
|
[ DEL ]
📄 gpgrt.h
67,879 B
SET
[ EDIT ]
|
[ DEL ]
📄 grp.h
6,686 B
SET
[ EDIT ]
|
[ DEL ]
📄 gshadow.h
4,528 B
SET
[ EDIT ]
|
[ DEL ]
📄 gssapi.h
181 B
SET
[ EDIT ]
|
[ DEL ]
📄 iconv.h
1,857 B
SET
[ EDIT ]
|
[ DEL ]
📄 idn-free.h
2,472 B
SET
[ EDIT ]
|
[ DEL ]
📄 idn-int.h
20 B
SET
[ EDIT ]
|
[ DEL ]
📄 idna.h
3,564 B
SET
[ EDIT ]
|
[ DEL ]
📄 ieee754.h
4,910 B
SET
[ EDIT ]
|
[ DEL ]
📄 ifaddrs.h
2,840 B
SET
[ EDIT ]
|
[ DEL ]
📄 inttypes.h
11,892 B
SET
[ EDIT ]
|
[ DEL ]
📄 jconfig-64.h
2,225 B
SET
[ EDIT ]
|
[ DEL ]
📄 jconfig.h
246 B
SET
[ EDIT ]
|
[ DEL ]
📄 jerror.h
15,088 B
SET
[ EDIT ]
|
[ DEL ]
📄 jmorecfg.h
15,049 B
SET
[ EDIT ]
|
[ DEL ]
📄 jpegint.h
15,586 B
SET
[ EDIT ]
|
[ DEL ]
📄 jpeglib.h
49,875 B
SET
[ EDIT ]
|
[ DEL ]
📄 kdb.h
69,285 B
SET
[ EDIT ]
|
[ DEL ]
📄 keyutils.h
7,698 B
SET
[ EDIT ]
|
[ DEL ]
📄 krad.h
8,933 B
SET
[ EDIT ]
|
[ DEL ]
📄 krb5.h
402 B
SET
[ EDIT ]
|
[ DEL ]
📄 langinfo.h
17,848 B
SET
[ EDIT ]
|
[ DEL ]
📄 lastlog.h
126 B
SET
[ EDIT ]
|
[ DEL ]
📄 libaio.h
8,937 B
SET
[ EDIT ]
|
[ DEL ]
📄 libelf.h
20,318 B
SET
[ EDIT ]
|
[ DEL ]
📄 libgen.h
1,385 B
SET
[ EDIT ]
|
[ DEL ]
📄 libintl.h
4,579 B
SET
[ EDIT ]
|
[ DEL ]
📄 limits.h
5,412 B
SET
[ EDIT ]
|
[ DEL ]
📄 link.h
7,218 B
SET
[ EDIT ]
|
[ DEL ]
📄 locale.h
7,674 B
SET
[ EDIT ]
|
[ DEL ]
📄 ltdl.h
5,709 B
SET
[ EDIT ]
|
[ DEL ]
📄 lzma.h
9,817 B
SET
[ EDIT ]
|
[ DEL ]
📄 malloc.h
6,102 B
SET
[ EDIT ]
|
[ DEL ]
📄 math.h
53,318 B
SET
[ EDIT ]
|
[ DEL ]
📄 mcheck.h
2,434 B
SET
[ EDIT ]
|
[ DEL ]
📄 memory.h
955 B
SET
[ EDIT ]
|
[ DEL ]
📄 menu.h
12,197 B
SET
[ EDIT ]
|
[ DEL ]
📄 mntent.h
3,358 B
SET
[ EDIT ]
|
[ DEL ]
📄 monetary.h
1,803 B
SET
[ EDIT ]
|
[ DEL ]
📄 mqueue.h
3,759 B
SET
[ EDIT ]
|
[ DEL ]
📄 nc_tparm.h
4,197 B
SET
[ EDIT ]
|
[ DEL ]
📄 ncurses.h
99,625 B
SET
[ EDIT ]
|
[ DEL ]
📄 ncurses_dll.h
4,277 B
SET
[ EDIT ]
|
[ DEL ]
📄 ndbm.h
2,454 B
SET
[ EDIT ]
|
[ DEL ]
📄 netdb.h
28,099 B
SET
[ EDIT ]
|
[ DEL ]
📄 nl_types.h
1,752 B
SET
[ EDIT ]
|
[ DEL ]
📄 nlist.h
1,601 B
SET
[ EDIT ]
|
[ DEL ]
📄 nss.h
1,878 B
SET
[ EDIT ]
|
[ DEL ]
📄 obstack.h
21,306 B
SET
[ EDIT ]
|
[ DEL ]
📄 panel.h
4,123 B
SET
[ EDIT ]
|
[ DEL ]
📄 paths.h
2,977 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre.h
31,718 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre2.h
44,802 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre2posix.h
5,804 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre_scanner.h
6,600 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcre_stringpiece.h
6,312 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcrecpp.h
26,529 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcrecpparg.h
6,783 B
SET
[ EDIT ]
|
[ DEL ]
📄 pcreposix.h
5,452 B
SET
[ EDIT ]
|
[ DEL ]
📄 png.h
144,149 B
SET
[ EDIT ]
|
[ DEL ]
📄 pngconf.h
22,845 B
SET
[ EDIT ]
|
[ DEL ]
📄 pnglibconf.h
7,567 B
SET
[ EDIT ]
|
[ DEL ]
📄 poll.h
22 B
SET
[ EDIT ]
|
[ DEL ]
📄 pr29.h
2,123 B
SET
[ EDIT ]
|
[ DEL ]
📄 printf.h
6,800 B
SET
[ EDIT ]
|
[ DEL ]
📄 proc_service.h
3,476 B
SET
[ EDIT ]
|
[ DEL ]
📄 profile.h
12,154 B
SET
[ EDIT ]
|
[ DEL ]
📄 pthread.h
41,269 B
SET
[ EDIT ]
|
[ DEL ]
📄 pty.h
1,569 B
SET
[ EDIT ]
|
[ DEL ]
📄 punycode.h
9,384 B
SET
[ EDIT ]
|
[ DEL ]
📄 pwd.h
6,158 B
SET
[ EDIT ]
|
[ DEL ]
📄 re_comp.h
962 B
SET
[ EDIT ]
|
[ DEL ]
📄 regex.h
24,715 B
SET
[ EDIT ]
|
[ DEL ]
📄 regexp.h
1,447 B
SET
[ EDIT ]
|
[ DEL ]
📄 resolv.h
12,153 B
SET
[ EDIT ]
|
[ DEL ]
📄 sched.h
4,732 B
SET
[ EDIT ]
|
[ DEL ]
📄 search.h
5,223 B
SET
[ EDIT ]
|
[ DEL ]
📄 semaphore.h
2,399 B
SET
[ EDIT ]
|
[ DEL ]
📄 setjmp.h
3,669 B
SET
[ EDIT ]
|
[ DEL ]
📄 sgtty.h
1,343 B
SET
[ EDIT ]
|
[ DEL ]
📄 shadow.h
5,471 B
SET
[ EDIT ]
|
[ DEL ]
📄 signal.h
12,243 B
SET
[ EDIT ]
|
[ DEL ]
📄 spawn.h
6,690 B
SET
[ EDIT ]
|
[ DEL ]
📄 stab.h
264 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdc-predef.h
2,289 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdint.h
8,469 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdio.h
30,168 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdio_ext.h
2,799 B
SET
[ EDIT ]
|
[ DEL ]
📄 stdlib.h
35,653 B
SET
[ EDIT ]
|
[ DEL ]
📄 string.h
17,587 B
SET
[ EDIT ]
|
[ DEL ]
📄 stringprep.h
8,227 B
SET
[ EDIT ]
|
[ DEL ]
📄 strings.h
4,752 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscall.h
25 B
SET
[ EDIT ]
|
[ DEL ]
📄 sysexits.h
5,232 B
SET
[ EDIT ]
|
[ DEL ]
📄 syslog.h
24 B
SET
[ EDIT ]
|
[ DEL ]
📄 tar.h
3,785 B
SET
[ EDIT ]
|
[ DEL ]
📄 term.h
41,190 B
SET
[ EDIT ]
|
[ DEL ]
📄 term_entry.h
8,760 B
SET
[ EDIT ]
|
[ DEL ]
📄 termcap.h
3,473 B
SET
[ EDIT ]
|
[ DEL ]
📄 termio.h
214 B
SET
[ EDIT ]
|
[ DEL ]
📄 termios.h
3,598 B
SET
[ EDIT ]
|
[ DEL ]
📄 tgmath.h
31,489 B
SET
[ EDIT ]
|
[ DEL ]
📄 thread_db.h
16,023 B
SET
[ EDIT ]
|
[ DEL ]
📄 threads.h
6,655 B
SET
[ EDIT ]
|
[ DEL ]
📄 tic.h
13,638 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiff.h
35,983 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffconf-64.h
3,429 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffconf.h
250 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffio.h
23,227 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffio.hxx
1,702 B
SET
[ EDIT ]
|
[ DEL ]
📄 tiffvers.h
410 B
SET
[ EDIT ]
|
[ DEL ]
📄 time.h
10,360 B
SET
[ EDIT ]
|
[ DEL ]
📄 tld.h
4,650 B
SET
[ EDIT ]
|
[ DEL ]
📄 ttyent.h
2,494 B
SET
[ EDIT ]
|
[ DEL ]
📄 uchar.h
2,001 B
SET
[ EDIT ]
|
[ DEL ]
📄 ucontext.h
2,036 B
SET
[ EDIT ]
|
[ DEL ]
📄 ulimit.h
1,583 B
SET
[ EDIT ]
|
[ DEL ]
📄 unctrl.h
3,099 B
SET
[ EDIT ]
|
[ DEL ]
📄 unistd.h
42,738 B
SET
[ EDIT ]
|
[ DEL ]
📄 utime.h
1,501 B
SET
[ EDIT ]
|
[ DEL ]
📄 utmp.h
3,222 B
SET
[ EDIT ]
|
[ DEL ]
📄 utmpx.h
4,099 B
SET
[ EDIT ]
|
[ DEL ]
📄 values.h
1,955 B
SET
[ EDIT ]
|
[ DEL ]
📄 verto-module.h
6,640 B
SET
[ EDIT ]
|
[ DEL ]
📄 verto.h
19,437 B
SET
[ EDIT ]
|
[ DEL ]
📄 wait.h
22 B
SET
[ EDIT ]
|
[ DEL ]
📄 wchar.h
31,111 B
SET
[ EDIT ]
|
[ DEL ]
📄 wctype.h
5,548 B
SET
[ EDIT ]
|
[ DEL ]
📄 wordexp.h
2,501 B
SET
[ EDIT ]
|
[ DEL ]
📄 zbuff.h
11,500 B
SET
[ EDIT ]
|
[ DEL ]
📄 zconf.h
16,262 B
SET
[ EDIT ]
|
[ DEL ]
📄 zdict.h
17,203 B
SET
[ EDIT ]
|
[ DEL ]
📄 zlib.h
96,261 B
SET
[ EDIT ]
|
[ DEL ]
📄 zstd.h
119,972 B
SET
[ EDIT ]
|
[ DEL ]
📄 zstd_errors.h
3,751 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: tic.h
/**************************************************************************** * 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 */