xref: /netbsd-src/lib/libterminfo/termcap_map.c (revision 215c5976aa7cba83f1bcaad6a80e40efb56152e0)
1*215c5976Sroy /* $NetBSD: termcap_map.c,v 1.3 2010/09/22 06:10:51 roy Exp $ */
24ca00e00Sroy 
34ca00e00Sroy /*
44ca00e00Sroy  * Copyright (c) 2009 The NetBSD Foundation, Inc.
54ca00e00Sroy  *
64ca00e00Sroy  * This code is derived from software contributed to The NetBSD Foundation
74ca00e00Sroy  * by Roy Marples.
84ca00e00Sroy  *
94ca00e00Sroy  * Redistribution and use in source and binary forms, with or without
104ca00e00Sroy  * modification, are permitted provided that the following conditions
114ca00e00Sroy  * are met:
124ca00e00Sroy  * 1. Redistributions of source code must retain the above copyright
134ca00e00Sroy  *    notice, this list of conditions and the following disclaimer.
144ca00e00Sroy  * 2. Redistributions in binary form must reproduce the above copyright
154ca00e00Sroy  *    notice, this list of conditions and the following disclaimer in the
164ca00e00Sroy  *    documentation and/or other materials provided with the distribution.
174ca00e00Sroy  *
184ca00e00Sroy  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
194ca00e00Sroy  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
204ca00e00Sroy  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
214ca00e00Sroy  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
224ca00e00Sroy  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
234ca00e00Sroy  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
244ca00e00Sroy  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
254ca00e00Sroy  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
264ca00e00Sroy  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
274ca00e00Sroy  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
284ca00e00Sroy  */
294ca00e00Sroy 
304ca00e00Sroy #include <sys/cdefs.h>
31*215c5976Sroy __RCSID("$NetBSD: termcap_map.c,v 1.3 2010/09/22 06:10:51 roy Exp $");
324ca00e00Sroy 
33*215c5976Sroy typedef struct {
344ca00e00Sroy 	const char id[3];
354ca00e00Sroy 	int ti;
364ca00e00Sroy } TENTRY;
374ca00e00Sroy 
384ca00e00Sroy static const TENTRY _ti_cap_flagids[] = {
394ca00e00Sroy 	{ "bw", TICODE_bw },
404ca00e00Sroy 	{ "am", TICODE_am },
414ca00e00Sroy 	{ "ut", TICODE_bce },
424ca00e00Sroy 	{ "cc", TICODE_ccc },
434ca00e00Sroy 	{ "xs", TICODE_xhp },
444ca00e00Sroy 	{ "YA", TICODE_xhpa },
454ca00e00Sroy 	{ "YF", TICODE_cpix },
464ca00e00Sroy 	{ "YB", TICODE_crxm },
474ca00e00Sroy 	{ "xt", TICODE_xt },
484ca00e00Sroy 	{ "xn", TICODE_xenl },
494ca00e00Sroy 	{ "eo", TICODE_eo },
504ca00e00Sroy 	{ "gn", TICODE_gn },
514ca00e00Sroy 	{ "hc", TICODE_hc },
524ca00e00Sroy 	{ "HC", TICODE_chts },
534ca00e00Sroy 	{ "km", TICODE_km },
544ca00e00Sroy 	{ "YC", TICODE_daisy },
554ca00e00Sroy 	{ "hs", TICODE_hs },
564ca00e00Sroy 	{ "hl", TICODE_hls },
574ca00e00Sroy 	{ "in", TICODE_in },
584ca00e00Sroy 	{ "YG", TICODE_lpix },
594ca00e00Sroy 	{ "da", TICODE_da },
604ca00e00Sroy 	{ "db", TICODE_db },
614ca00e00Sroy 	{ "mi", TICODE_mir },
624ca00e00Sroy 	{ "ms", TICODE_msgr },
634ca00e00Sroy 	{ "nx", TICODE_nxon },
644ca00e00Sroy 	{ "xb", TICODE_xsb },
654ca00e00Sroy 	{ "NP", TICODE_npc },
664ca00e00Sroy 	{ "ND", TICODE_ndscr },
674ca00e00Sroy 	{ "NR", TICODE_nrrmc },
684ca00e00Sroy 	{ "os", TICODE_os } ,
694ca00e00Sroy 	{ "5i", TICODE_mc5i },
704ca00e00Sroy 	{ "YD", TICODE_xvpa },
714ca00e00Sroy 	{ "YE", TICODE_sam },
724ca00e00Sroy 	{ "es", TICODE_eslok },
734ca00e00Sroy 	{ "hz", TICODE_hz },
744ca00e00Sroy 	{ "ul", TICODE_ul },
754ca00e00Sroy 	{ "xo", TICODE_xon }
764ca00e00Sroy };
774ca00e00Sroy 
784ca00e00Sroy static const TENTRY _ti_cap_numids[] = {
794ca00e00Sroy 	{ "Yo", TICODE_bitwin },
804ca00e00Sroy 	{ "Yp", TICODE_bitype },
814ca00e00Sroy 	{ "Ya", TICODE_bufsz },
824ca00e00Sroy 	{ "BT", TICODE_btns },
834ca00e00Sroy 	{ "co", TICODE_cols },
844ca00e00Sroy 	{ "Yc", TICODE_spinh },
854ca00e00Sroy 	{ "Yb", TICODE_spinv },
864ca00e00Sroy 	{ "it", TICODE_it },
874ca00e00Sroy 	{ "lh", TICODE_lh },
884ca00e00Sroy 	{ "lw", TICODE_lw },
894ca00e00Sroy 	{ "li", TICODE_lines },
904ca00e00Sroy 	{ "lm", TICODE_lm },
914ca00e00Sroy 	{ "ma", TICODE_ma },
924ca00e00Sroy 	{ "sg", TICODE_xmc },
934ca00e00Sroy 	{ "Co", TICODE_colors },
944ca00e00Sroy 	{ "Yd", TICODE_maddr },
954ca00e00Sroy 	{ "Ye", TICODE_mjump },
964ca00e00Sroy 	{ "pa", TICODE_pairs },
974ca00e00Sroy 	{ "MW", TICODE_wnum },
984ca00e00Sroy 	{ "Yf", TICODE_mcs },
994ca00e00Sroy 	{ "Yg", TICODE_mls },
1004ca00e00Sroy 	{ "NC", TICODE_ncv },
1014ca00e00Sroy 	{ "Nl", TICODE_nlab },
1024ca00e00Sroy 	{ "Yh", TICODE_npins },
1034ca00e00Sroy 	{ "Yi", TICODE_orc },
1044ca00e00Sroy 	{ "Yj", TICODE_orl },
1054ca00e00Sroy 	{ "Yk", TICODE_orhi },
1064ca00e00Sroy 	{ "Yl", TICODE_orvi },
1074ca00e00Sroy 	{ "pb", TICODE_pb },
1084ca00e00Sroy 	{ "Ym", TICODE_cps },
1094ca00e00Sroy 	{ "vt", TICODE_vt },
1104ca00e00Sroy 	{ "Yn", TICODE_widcs },
1114ca00e00Sroy 	{ "ws", TICODE_wsl }
1124ca00e00Sroy };
1134ca00e00Sroy 
1144ca00e00Sroy static const TENTRY _ti_cap_strids[] = {
1154ca00e00Sroy 	{ "ac", TICODE_acsc },
1164ca00e00Sroy 	{ "S8", TICODE_scesa },
1174ca00e00Sroy 	{ "bt", TICODE_cbt },
1184ca00e00Sroy 	{ "bl", TICODE_bel },
1194ca00e00Sroy 	{ "Yv", TICODE_bicr },
1204ca00e00Sroy 	{ "Zz", TICODE_binel },
1214ca00e00Sroy 	{ "Xy", TICODE_birep },
1224ca00e00Sroy 	{ "cr", TICODE_cr },
1234ca00e00Sroy 	{ "ZA", TICODE_cpi },
1244ca00e00Sroy 	{ "ZB", TICODE_lpi },
1254ca00e00Sroy 	{ "ZC", TICODE_chr },
1264ca00e00Sroy 	{ "ZD", TICODE_cvr },
1274ca00e00Sroy 	{ "cs", TICODE_csr },
1284ca00e00Sroy 	{ "rP", TICODE_rmp },
1294ca00e00Sroy 	{ "Zy", TICODE_csnm },
1304ca00e00Sroy 	{ "ct", TICODE_tbc },
1314ca00e00Sroy 	{ "MC", TICODE_mgc },
1324ca00e00Sroy 	{ "cl", TICODE_clear },
1334ca00e00Sroy 	{ "cb", TICODE_el1 },
1344ca00e00Sroy 	{ "ce", TICODE_el },
1354ca00e00Sroy 	{ "cd", TICODE_ed },
1364ca00e00Sroy 	{ "ci", TICODE_csin },
1374ca00e00Sroy 	{ "Yw", TICODE_colornm },
1384ca00e00Sroy 	{ "ch", TICODE_hpa },
1394ca00e00Sroy 	{ "CC", TICODE_cmdch },
1404ca00e00Sroy 	{ "cm", TICODE_cup },
1414ca00e00Sroy 	{ "do", TICODE_cud1 },
1424ca00e00Sroy 	{ "ho", TICODE_home },
1434ca00e00Sroy 	{ "vi", TICODE_civis },
1444ca00e00Sroy 	{ "le", TICODE_cub1 },
1454ca00e00Sroy 	{ "CM", TICODE_mrcup },
1464ca00e00Sroy 	{ "ve", TICODE_cnorm },
1474ca00e00Sroy 	{ "nd", TICODE_cuf1 },
1484ca00e00Sroy 	{ "ll", TICODE_ll },
1494ca00e00Sroy 	{ "up", TICODE_cuu1 },
1504ca00e00Sroy 	{ "vs", TICODE_cvvis },
1514ca00e00Sroy 	{ "Yx", TICODE_defbi },
1524ca00e00Sroy 	{ "ZE", TICODE_defc },
1534ca00e00Sroy 	{ "dc", TICODE_dch1 },
1544ca00e00Sroy 	{ "dl", TICODE_dl1 },
1554ca00e00Sroy 	{ "dv", TICODE_devt },
1564ca00e00Sroy 	{ "DI", TICODE_dial },
1574ca00e00Sroy 	{ "ds", TICODE_dsl },
1584ca00e00Sroy 	{ "DK", TICODE_dclk },
1594ca00e00Sroy 	{ "S1", TICODE_dispc },
1604ca00e00Sroy 	{ "hd", TICODE_hd },
1614ca00e00Sroy 	{ "eA", TICODE_enacs },
1624ca00e00Sroy 	{ "Yy", TICODE_endbi },
1634ca00e00Sroy 	{ "as", TICODE_smacs },
1644ca00e00Sroy 	{ "SA", TICODE_smam },
1654ca00e00Sroy 	{ "mb", TICODE_blink },
1664ca00e00Sroy 	{ "md", TICODE_bold },
1674ca00e00Sroy 	{ "ti", TICODE_smcup },
1684ca00e00Sroy 	{ "dm", TICODE_smdc },
1694ca00e00Sroy 	{ "mh", TICODE_dim },
1704ca00e00Sroy 	{ "ZF", TICODE_swidm },
1714ca00e00Sroy 	{ "ZG", TICODE_sdrfq },
1724ca00e00Sroy 	{ "Xh", TICODE_ehhlm },
1734ca00e00Sroy 	{ "im", TICODE_smir },
1744ca00e00Sroy 	{ "ZH", TICODE_sitm },
1754ca00e00Sroy 	{ "Xl", TICODE_elhlm },
1764ca00e00Sroy 	{ "ZI", TICODE_slm },
1774ca00e00Sroy 	{ "Xo", TICODE_elohlm },
1784ca00e00Sroy 	{ "ZJ", TICODE_smicm },
1794ca00e00Sroy 	{ "ZK", TICODE_snlq },
1804ca00e00Sroy 	{ "ZL", TICODE_snrmq },
1814ca00e00Sroy 	{ "S2", TICODE_smpch },
1824ca00e00Sroy 	{ "mp", TICODE_prot },
1834ca00e00Sroy 	{ "mr", TICODE_rev },
1844ca00e00Sroy 	{ "Xr", TICODE_erhlm },
1854ca00e00Sroy 	{ "S4", TICODE_smsc },
1864ca00e00Sroy 	{ "mk", TICODE_invis },
1874ca00e00Sroy 	{ "ZM", TICODE_sshm },
1884ca00e00Sroy 	{ "so", TICODE_smso },
1894ca00e00Sroy 	{ "ZN", TICODE_ssubm },
1904ca00e00Sroy 	{ "ZO", TICODE_ssupm },
1914ca00e00Sroy 	{ "Xt", TICODE_ethlm },
1924ca00e00Sroy 	{ "us", TICODE_smul },
1934ca00e00Sroy 	{ "ZP", TICODE_sum },
1944ca00e00Sroy 	{ "Xv", TICODE_evhlm },
1954ca00e00Sroy 	{ "SX", TICODE_smxon },
1964ca00e00Sroy 	{ "ec", TICODE_ech },
1974ca00e00Sroy 	{ "ae", TICODE_rmacs },
1984ca00e00Sroy 	{ "RA", TICODE_rmam },
1994ca00e00Sroy 	{ "me", TICODE_sgr0 },
2004ca00e00Sroy 	{ "te", TICODE_rmcup },
2014ca00e00Sroy 	{ "ed", TICODE_rmdc },
2024ca00e00Sroy 	{ "ZQ", TICODE_rwidm },
2034ca00e00Sroy 	{ "ei", TICODE_rmir },
2044ca00e00Sroy 	{ "ZR", TICODE_ritm },
2054ca00e00Sroy 	{ "ZS", TICODE_rlm },
2064ca00e00Sroy 	{ "ZT", TICODE_rmicm },
2074ca00e00Sroy 	{ "S3", TICODE_rmpch },
2084ca00e00Sroy 	{ "S5", TICODE_rmsc },
2094ca00e00Sroy 	{ "ZU", TICODE_rshm },
2104ca00e00Sroy 	{ "se", TICODE_rmso },
2114ca00e00Sroy 	{ "ZV", TICODE_rsubm },
2124ca00e00Sroy 	{ "ZW", TICODE_rsupm },
2134ca00e00Sroy 	{ "ue", TICODE_rmul },
2144ca00e00Sroy 	{ "ZX", TICODE_rum },
2154ca00e00Sroy 	{ "RX", TICODE_rmxon },
2164ca00e00Sroy 	{ "PA", TICODE_pause },
2174ca00e00Sroy 	{ "fh", TICODE_hook },
2184ca00e00Sroy 	{ "vb", TICODE_flash },
2194ca00e00Sroy 	{ "ff", TICODE_ff },
2204ca00e00Sroy 	{ "fs", TICODE_fsl },
2214ca00e00Sroy 	{ "Gm", TICODE_getm },
2224ca00e00Sroy 	{ "WG", TICODE_wingo },
2234ca00e00Sroy 	{ "HU", TICODE_hup },
2244ca00e00Sroy 	{ "i1", TICODE_is1 },
2254ca00e00Sroy 	{ "i2", TICODE_is2 },
2264ca00e00Sroy 	{ "i3", TICODE_is3 },
2274ca00e00Sroy 	{ "is", TICODE_is2 },
2284ca00e00Sroy 	{ "if", TICODE_if },
2294ca00e00Sroy 	{ "iP", TICODE_iprog },
2304ca00e00Sroy 	{ "Ic", TICODE_initc },
2314ca00e00Sroy 	{ "Ip", TICODE_initp },
2324ca00e00Sroy 	{ "ic", TICODE_ich1 },
2334ca00e00Sroy 	{ "al", TICODE_il1 },
2344ca00e00Sroy 	{ "ip", TICODE_ip },
2354ca00e00Sroy 	{ "K1", TICODE_ka1 },
2364ca00e00Sroy 	{ "K3", TICODE_ka3 },
2374ca00e00Sroy 	{ "K2", TICODE_kb2 },
2384ca00e00Sroy 	{ "kb", TICODE_kbs },
2394ca00e00Sroy 	{ "kB", TICODE_kcbt },
2404ca00e00Sroy 	{ "K4", TICODE_kc1 },
2414ca00e00Sroy 	{ "K5", TICODE_kc3 },
2424ca00e00Sroy 	{ "ka", TICODE_ktbc },
2434ca00e00Sroy 	{ "kC", TICODE_kclr },
2444ca00e00Sroy 	{ "kt", TICODE_kctab },
2454ca00e00Sroy 	{ "kD", TICODE_kdch1 },
2464ca00e00Sroy 	{ "kL", TICODE_kdl1 },
2474ca00e00Sroy 	{ "kd", TICODE_kcud1 },
2484ca00e00Sroy 	{ "kM", TICODE_krmir },
2494ca00e00Sroy 	{ "kE", TICODE_kel },
2504ca00e00Sroy 	{ "kS", TICODE_ked },
2514ca00e00Sroy 	{ "k0", TICODE_kf0 },
2524ca00e00Sroy 	{ "k1", TICODE_kf1 },
2534ca00e00Sroy 	{ "k2", TICODE_kf2 },
2544ca00e00Sroy 	{ "k3", TICODE_kf3 },
2554ca00e00Sroy 	{ "k4", TICODE_kf4 },
2564ca00e00Sroy 	{ "k5", TICODE_kf5 },
2574ca00e00Sroy 	{ "k6", TICODE_kf6 },
2584ca00e00Sroy 	{ "k7", TICODE_kf7 },
2594ca00e00Sroy 	{ "k8", TICODE_kf8 },
2604ca00e00Sroy 	{ "k9", TICODE_kf9 },
2614ca00e00Sroy 	{ "k;", TICODE_kf10 },
2624ca00e00Sroy 	{ "F1", TICODE_kf11 },
2634ca00e00Sroy 	{ "F2", TICODE_kf12 },
2644ca00e00Sroy 	{ "F3", TICODE_kf13 },
2654ca00e00Sroy 	{ "F4", TICODE_kf14 },
2664ca00e00Sroy 	{ "F5", TICODE_kf15 },
2674ca00e00Sroy 	{ "F6", TICODE_kf16 },
2684ca00e00Sroy 	{ "F7", TICODE_kf17 },
2694ca00e00Sroy 	{ "F8", TICODE_kf18 },
2704ca00e00Sroy 	{ "F9", TICODE_kf19 },
2714ca00e00Sroy 	{ "FA", TICODE_kf20 },
2724ca00e00Sroy 	{ "FB", TICODE_kf21 },
2734ca00e00Sroy 	{ "FC", TICODE_kf22 },
2744ca00e00Sroy 	{ "FD", TICODE_kf23 },
2754ca00e00Sroy 	{ "FE", TICODE_kf24 },
2764ca00e00Sroy 	{ "FF", TICODE_kf25 },
2774ca00e00Sroy 	{ "FG", TICODE_kf26 },
2784ca00e00Sroy 	{ "FH", TICODE_kf27 },
2794ca00e00Sroy 	{ "FI", TICODE_kf28 },
2804ca00e00Sroy 	{ "FJ", TICODE_kf29 },
2814ca00e00Sroy 	{ "FK", TICODE_kf30 },
2824ca00e00Sroy 	{ "FL", TICODE_kf31 },
2834ca00e00Sroy 	{ "FM", TICODE_kf32 },
2844ca00e00Sroy 	{ "FN", TICODE_kf33 },
2854ca00e00Sroy 	{ "FO", TICODE_kf34 },
2864ca00e00Sroy 	{ "FP", TICODE_kf35 },
2874ca00e00Sroy 	{ "FQ", TICODE_kf36 },
2884ca00e00Sroy 	{ "FR", TICODE_kf37 },
2894ca00e00Sroy 	{ "FS", TICODE_kf38 },
2904ca00e00Sroy 	{ "FT", TICODE_kf39 },
2914ca00e00Sroy 	{ "FU", TICODE_kf40 },
2924ca00e00Sroy 	{ "FV", TICODE_kf41 },
2934ca00e00Sroy 	{ "FW", TICODE_kf42 },
2944ca00e00Sroy 	{ "FX", TICODE_kf43 },
2954ca00e00Sroy 	{ "FY", TICODE_kf44 },
2964ca00e00Sroy 	{ "FZ", TICODE_kf45 },
2974ca00e00Sroy 	{ "Fa", TICODE_kf46 },
2984ca00e00Sroy 	{ "Fb", TICODE_kf47 },
2994ca00e00Sroy 	{ "Fc", TICODE_kf48 },
3004ca00e00Sroy 	{ "Fd", TICODE_kf49 },
3014ca00e00Sroy 	{ "Fe", TICODE_kf50 },
3024ca00e00Sroy 	{ "Ff", TICODE_kf51 },
3034ca00e00Sroy 	{ "Fg", TICODE_kf52 },
3044ca00e00Sroy 	{ "Fh", TICODE_kf53 },
3054ca00e00Sroy 	{ "Fi", TICODE_kf54 },
3064ca00e00Sroy 	{ "Fj", TICODE_kf55 },
3074ca00e00Sroy 	{ "Fk", TICODE_kf56 },
3084ca00e00Sroy 	{ "Fl", TICODE_kf57 },
3094ca00e00Sroy 	{ "Fm", TICODE_kf58 },
3104ca00e00Sroy 	{ "Fn", TICODE_kf59 },
3114ca00e00Sroy 	{ "Fo", TICODE_kf60 },
3124ca00e00Sroy 	{ "Fp", TICODE_kf61 },
3134ca00e00Sroy 	{ "Fq", TICODE_kf62 },
3144ca00e00Sroy 	{ "Fr", TICODE_kf63 },
3154ca00e00Sroy 	{ "%1", TICODE_khlp },
3164ca00e00Sroy 	{ "kh", TICODE_khome },
3174ca00e00Sroy 	{ "kI", TICODE_kich1 },
3184ca00e00Sroy 	{ "kA", TICODE_kil1 },
3194ca00e00Sroy 	{ "kl", TICODE_kcub1 },
3204ca00e00Sroy 	{ "kH", TICODE_kll },
3214ca00e00Sroy 	{ "%2", TICODE_kmrk },
3224ca00e00Sroy 	{ "%3", TICODE_kmsg },
3234ca00e00Sroy 	{ "Km", TICODE_kmous },
3244ca00e00Sroy 	{ "%4", TICODE_kmov },
3254ca00e00Sroy 	{ "%5", TICODE_knxt },
3264ca00e00Sroy 	{ "kN", TICODE_knp },
3274ca00e00Sroy 	{ "%6", TICODE_kopn },
3284ca00e00Sroy 	{ "%7", TICODE_kopt },
3294ca00e00Sroy 	{ "kP", TICODE_kpp },
3304ca00e00Sroy 	{ "%8", TICODE_kprv },
3314ca00e00Sroy 	{ "%9", TICODE_kprt },
3324ca00e00Sroy 	{ "%0", TICODE_krdo },
3334ca00e00Sroy 	{ "&1", TICODE_kref },
3344ca00e00Sroy 	{ "&2", TICODE_krfr },
3354ca00e00Sroy 	{ "&3", TICODE_krpl },
3364ca00e00Sroy 	{ "&4", TICODE_krst },
3374ca00e00Sroy 	{ "&5", TICODE_kres },
3384ca00e00Sroy 	{ "kr", TICODE_kcuf1 },
3394ca00e00Sroy 	{ "&6", TICODE_ksav },
3404ca00e00Sroy 	{ "&9", TICODE_kBEG },
3414ca00e00Sroy 	{ "&0", TICODE_kCAN },
3424ca00e00Sroy 	{ "*1", TICODE_kCMD },
3434ca00e00Sroy 	{ "*2", TICODE_kCPY },
3444ca00e00Sroy 	{ "*3", TICODE_kCRT },
3454ca00e00Sroy 	{ "*4", TICODE_kDC },
3464ca00e00Sroy 	{ "*5", TICODE_kDL },
3474ca00e00Sroy 	{ "*6", TICODE_kslt },
3484ca00e00Sroy 	{ "*7", TICODE_kEND },
3494ca00e00Sroy 	{ "*8", TICODE_kEOL },
3504ca00e00Sroy 	{ "*9", TICODE_kEXT },
3514ca00e00Sroy 	{ "kF", TICODE_kind },
3524ca00e00Sroy 	{ "*0", TICODE_kFND },
3534ca00e00Sroy 	{ "#1", TICODE_kHLP },
3544ca00e00Sroy 	{ "#2", TICODE_kHOM },
3554ca00e00Sroy 	{ "#3", TICODE_kIC },
3564ca00e00Sroy 	{ "#4", TICODE_kLFT },
3574ca00e00Sroy 	{ "%a", TICODE_kMSG },
3584ca00e00Sroy 	{ "%b", TICODE_kMOV },
3594ca00e00Sroy 	{ "%c", TICODE_kNXT },
3604ca00e00Sroy 	{ "%d", TICODE_kOPT },
3614ca00e00Sroy 	{ "%e", TICODE_kPRV },
3624ca00e00Sroy 	{ "%f", TICODE_kPRT },
3634ca00e00Sroy 	{ "kR", TICODE_kri },
3644ca00e00Sroy 	{ "%g", TICODE_kRDO },
3654ca00e00Sroy 	{ "%h", TICODE_kRPL },
3664ca00e00Sroy 	{ "%i", TICODE_kRIT },
3674ca00e00Sroy 	{ "%j", TICODE_kRES },
3684ca00e00Sroy 	{ "!1", TICODE_kSAV },
3694ca00e00Sroy 	{ "!2", TICODE_kSPD },
3704ca00e00Sroy 	{ "kT", TICODE_khts },
3714ca00e00Sroy 	{ "!3", TICODE_kUND },
3724ca00e00Sroy 	{ "&7", TICODE_kspd },
3734ca00e00Sroy 	{ "&8", TICODE_kund },
3744ca00e00Sroy 	{ "ku", TICODE_kcuu1 },
3754ca00e00Sroy 	{ "ke", TICODE_rmkx },
3764ca00e00Sroy 	{ "ks", TICODE_smkx },
3774ca00e00Sroy 	{ "l0", TICODE_lf0 },
3784ca00e00Sroy 	{ "l1", TICODE_lf1 },
3794ca00e00Sroy 	{ "l2", TICODE_lf2 },
3804ca00e00Sroy 	{ "l3", TICODE_lf3 },
3814ca00e00Sroy 	{ "l4", TICODE_lf4 },
3824ca00e00Sroy 	{ "l5", TICODE_lf5 },
3834ca00e00Sroy 	{ "l6", TICODE_lf6 },
3844ca00e00Sroy 	{ "l7", TICODE_lf7 },
3854ca00e00Sroy 	{ "l8", TICODE_lf8 },
3864ca00e00Sroy 	{ "l9", TICODE_lf9 },
3874ca00e00Sroy 	{ "la", TICODE_lf10 },
3884ca00e00Sroy 	{ "Lf", TICODE_fln },
3894ca00e00Sroy 	{ "LF", TICODE_rmln },
3904ca00e00Sroy 	{ "LO", TICODE_smln },
3914ca00e00Sroy 	{ "mo", TICODE_rmm },
3924ca00e00Sroy 	{ "mm", TICODE_smm },
3934ca00e00Sroy 	{ "ZY", TICODE_mhpa },
3944ca00e00Sroy 	{ "ZZ", TICODE_mcud1 },
3954ca00e00Sroy 	{ "Za", TICODE_mcub1 },
3964ca00e00Sroy 	{ "Zb", TICODE_mcuf1 },
3974ca00e00Sroy 	{ "Zc", TICODE_mvpa },
3984ca00e00Sroy 	{ "Zd", TICODE_mcuu1 },
3994ca00e00Sroy 	{ "Mi", TICODE_minfo },
4004ca00e00Sroy 	{ "nw", TICODE_nel },
4014ca00e00Sroy 	{ "Ze", TICODE_porder },
4024ca00e00Sroy 	{ "oc", TICODE_oc },
4034ca00e00Sroy 	{ "op", TICODE_op },
4044ca00e00Sroy 	{ "pc", TICODE_pad },
4054ca00e00Sroy 	{ "DC", TICODE_dch },
4064ca00e00Sroy 	{ "DL", TICODE_dl },
4074ca00e00Sroy 	{ "DO", TICODE_cud },
4084ca00e00Sroy 	{ "Zf", TICODE_mcud },
4094ca00e00Sroy 	{ "IC", TICODE_ich },
4104ca00e00Sroy 	{ "SF", TICODE_indn },
4114ca00e00Sroy 	{ "AL", TICODE_il },
4124ca00e00Sroy 	{ "LE", TICODE_cub },
4134ca00e00Sroy 	{ "Zg", TICODE_mcub },
4144ca00e00Sroy 	{ "RI", TICODE_cuf },
4154ca00e00Sroy 	{ "Zh", TICODE_mcuf },
4164ca00e00Sroy 	{ "SR", TICODE_rin },
4174ca00e00Sroy 	{ "UP", TICODE_cuu },
4184ca00e00Sroy 	{ "Zi", TICODE_mcuu },
4194ca00e00Sroy 	{ "S6", TICODE_pctrm },
4204ca00e00Sroy 	{ "pk", TICODE_pfkey },
4214ca00e00Sroy 	{ "pl", TICODE_pfloc },
4224ca00e00Sroy 	{ "xl", TICODE_pfxl },
4234ca00e00Sroy 	{ "px", TICODE_pfx },
4244ca00e00Sroy 	{ "pn", TICODE_pln },
4254ca00e00Sroy 	{ "ps", TICODE_mc0 },
4264ca00e00Sroy 	{ "pO", TICODE_mc5p },
4274ca00e00Sroy 	{ "pf", TICODE_mc4 },
4284ca00e00Sroy 	{ "po", TICODE_mc5 },
4294ca00e00Sroy 	{ "PU", TICODE_pulse },
4304ca00e00Sroy 	{ "QD", TICODE_qdial },
4314ca00e00Sroy 	{ "RC", TICODE_rmclk },
4324ca00e00Sroy 	{ "rp", TICODE_rep },
4334ca00e00Sroy 	{ "RF", TICODE_rfi },
4344ca00e00Sroy 	{ "RQ", TICODE_reqmp },
4354ca00e00Sroy 	{ "r1", TICODE_rs1 },
4364ca00e00Sroy 	{ "r2", TICODE_rs2 },
4374ca00e00Sroy 	{ "r3", TICODE_rs3 },
4384ca00e00Sroy 	{ "rf", TICODE_rf },
4394ca00e00Sroy 	{ "rc", TICODE_rc },
4404ca00e00Sroy 	{ "cv", TICODE_vpa },
4414ca00e00Sroy 	{ "sc", TICODE_sc },
4424ca00e00Sroy 	{ "S7", TICODE_scesc },
4434ca00e00Sroy 	{ "sf", TICODE_ind },
4444ca00e00Sroy 	{ "sr", TICODE_ri },
4454ca00e00Sroy 	{ "Zj", TICODE_scs },
4464ca00e00Sroy 	{ "s0", TICODE_s0ds },
4474ca00e00Sroy 	{ "s1", TICODE_s1ds },
4484ca00e00Sroy 	{ "s2", TICODE_s2ds },
4494ca00e00Sroy 	{ "s3", TICODE_s3ds },
4504ca00e00Sroy 	{ "sA", TICODE_sgr1 },
4514ca00e00Sroy 	{ "AB", TICODE_setab },
4524ca00e00Sroy 	{ "AF", TICODE_setaf },
4534ca00e00Sroy 	{ "sa", TICODE_sgr },
4544ca00e00Sroy 	{ "Sb", TICODE_setb },
4554ca00e00Sroy 	{ "Zk", TICODE_smgb },
4564ca00e00Sroy 	{ "Zl", TICODE_smgbp },
4574ca00e00Sroy 	{ "SC", TICODE_sclk },
4584ca00e00Sroy 	{ "Yz", TICODE_slines },
4594ca00e00Sroy 	{ "sL", TICODE_slength },
4604ca00e00Sroy 	{ "sp", TICODE_scp },
4614ca00e00Sroy 	{ "Sf", TICODE_setf },
4624ca00e00Sroy 	{ "ML", TICODE_smgl }, /* We should fallback to TICODE_smglr */
4634ca00e00Sroy 	{ "Zm", TICODE_smglp },
4644ca00e00Sroy 	{ "YZ", TICODE_slines },
4654ca00e00Sroy 	{ "YI", TICODE_slength },
4664ca00e00Sroy 	{ "MR", TICODE_smgr },
4674ca00e00Sroy 	{ "Zn", TICODE_smgrp },
4684ca00e00Sroy 	{ "st", TICODE_hts },
4694ca00e00Sroy 	{ "MT", TICODE_smgtb },
4704ca00e00Sroy 	{ "Zo", TICODE_smgt },
4714ca00e00Sroy 	{ "Zp", TICODE_smgtp },
4724ca00e00Sroy 	{ "wi", TICODE_wind },
4734ca00e00Sroy 	{ "Zq", TICODE_sbim },
4744ca00e00Sroy 	{ "Zr", TICODE_scsd },
4754ca00e00Sroy 	{ "Zs", TICODE_rbim },
4764ca00e00Sroy 	{ "Zt", TICODE_rcsd },
4774ca00e00Sroy 	{ "Zu", TICODE_subcs },
4784ca00e00Sroy 	{ "Zv", TICODE_supcs },
4794ca00e00Sroy 	{ "ta", TICODE_ht },
4804ca00e00Sroy 	{ "Zw", TICODE_docr },
4814ca00e00Sroy 	{ "ts", TICODE_tsl },
4824ca00e00Sroy 	{ "TO", TICODE_tone },
4834ca00e00Sroy 	{ "u0", TICODE_u0 },
4844ca00e00Sroy 	{ "u1", TICODE_u1 },
4854ca00e00Sroy 	{ "u2", TICODE_u2 },
4864ca00e00Sroy 	{ "u3", TICODE_u3 },
4874ca00e00Sroy 	{ "u4", TICODE_u4 },
4884ca00e00Sroy 	{ "u5", TICODE_u5 },
4894ca00e00Sroy 	{ "u6", TICODE_u6 },
4904ca00e00Sroy 	{ "u7", TICODE_u7 },
4914ca00e00Sroy 	{ "u8", TICODE_u8 },
4924ca00e00Sroy 	{ "u9", TICODE_u9 },
4934ca00e00Sroy 	{ "uc", TICODE_uc },
4944ca00e00Sroy 	{ "hu", TICODE_hu },
4954ca00e00Sroy 	{ "WA", TICODE_wait },
4964ca00e00Sroy 	{ "XF", TICODE_xoffc },
4974ca00e00Sroy 	{ "XN", TICODE_xonc },
4984ca00e00Sroy 	{ "Zx", TICODE_zerom },
4994ca00e00Sroy 
5004ca00e00Sroy 	/* NetBSD extensions */
5014ca00e00Sroy 	{ "@0", TICODE_kfnd },
5024ca00e00Sroy 	{ "@1", TICODE_kbeg },
5034ca00e00Sroy 	{ "@2", TICODE_kcan },
5044ca00e00Sroy 	{ "@3", TICODE_kclo },
5054ca00e00Sroy 	{ "@4", TICODE_kcmd },
5064ca00e00Sroy 	{ "@5", TICODE_kcpy },
5074ca00e00Sroy 	{ "@6", TICODE_kcrt },
5084ca00e00Sroy 	{ "@7", TICODE_kend },
5094ca00e00Sroy 	{ "@8", TICODE_kent },
5104ca00e00Sroy 	{ "@9", TICODE_kext },
5114ca00e00Sroy };
512