|
|
1.1 ! root 1: /* ! 2: * putinfo.c ! 3: * This file is autromaticaly generated by MKinfo.awk. ! 4: * Do not make any changes directly in this file. ! 5: */ ! 6: ! 7: #include <stdio.h> ! 8: #include <string.h> ! 9: #include <ctype.h> ! 10: #define bool char ! 11: #define TRUE 1 ! 12: #define FALSE 0 ! 13: ! 14: #define MAXINDEX(array) (sizeof(array)/sizeof(array[0])) ! 15: ! 16: /* ! 17: * bools & boolcaps: ! 18: * lookup translate table for boolean fields. ! 19: */ ! 20: ! 21: struct bools { ! 22: char *capname; /* termcap name */ ! 23: char *infoname; /* terminfo name */ ! 24: }; ! 25: ! 26: struct bools boolcaps[] = { ! 27: { "bw", "bw" }, ! 28: { "am", "am" }, ! 29: { "xb", "xsb" }, ! 30: { "xs", "xhp" }, ! 31: { "xn", "xenl" }, ! 32: { "eo", "eo" }, ! 33: { "gn", "gn" }, ! 34: { "hc", "hc" }, ! 35: { "km", "km" }, ! 36: { "hs", "hs" }, ! 37: { "in", "in" }, ! 38: { "da", "da" }, ! 39: { "db", "db" }, ! 40: { "mi", "mir" }, ! 41: { "ms", "msgr" }, ! 42: { "os", "os" }, ! 43: { "es", "eslok" }, ! 44: { "xt", "xt" }, ! 45: { "hz", "hz" }, ! 46: { "ul", "ul" }, ! 47: { "xo", "xon" }, ! 48: { "nx", "nxon" }, ! 49: { "5i", "mc5i" }, ! 50: { "HC", "chts" }, ! 51: { "NR", "nrrmc" }, ! 52: { "NP", "npc" }, ! 53: { "ND", "ndscr" }, ! 54: { "cc", "ccc" }, ! 55: { "be", "bce" }, ! 56: { "hl", "hls" }, ! 57: { "YA", "xhpa" }, ! 58: { "YB", "crxm" }, ! 59: { "YC", "daisy" }, ! 60: { "YD", "xvpa" }, ! 61: { "YE", "sam" }, ! 62: { "YF", "cpix" }, ! 63: { "YG", "lpix" }, ! 64: }; ! 65: #define MAXBOOLS MAXINDEX(boolcaps) ! 66: ! 67: /* ! 68: * nums & numcaps: ! 69: * lookup translate table for numeric capabilities. ! 70: */ ! 71: struct nums { ! 72: char *capname; /* termcap name */ ! 73: char *infoname; /* terminfo name */ ! 74: }; ! 75: struct nums numcaps[] = { ! 76: { "co", "cols" }, ! 77: { "it", "it" }, ! 78: { "li", "lines" }, ! 79: { "lm", "lm" }, ! 80: { "sg", "xmc" }, ! 81: { "pb", "pb" }, ! 82: { "vt", "vt" }, ! 83: { "ws", "wsl" }, ! 84: { "Nl", "nlab" }, ! 85: { "lh", "lh" }, ! 86: { "lw", "lw" }, ! 87: { "ma", "ma" }, ! 88: { "MW", "wnum" }, ! 89: { "Co", "colors" }, ! 90: { "pa", "pairs" }, ! 91: { "NC", "ncv" }, ! 92: { "Ya", "bufsz" }, ! 93: { "Yb", "spinv" }, ! 94: { "Yc", "spinh" }, ! 95: { "Yd", "maddr" }, ! 96: { "Ye", "mjump" }, ! 97: { "Yf", "mcs" }, ! 98: { "Yg", "mls" }, ! 99: { "Yh", "npins" }, ! 100: { "Yi", "orc" }, ! 101: { "Yj", "orl" }, ! 102: { "Yk", "orhi" }, ! 103: { "Yl", "orvi" }, ! 104: { "Ym", "cps" }, ! 105: { "Yn", "widcs" }, ! 106: }; ! 107: #define MAXNUMS MAXINDEX(numcaps) ! 108: ! 109: /* ! 110: * strs & strcaps: ! 111: * lookup translate table for string capabilities. ! 112: */ ! 113: struct strs { ! 114: char *capname; /* termcap name */ ! 115: char *infoname; /* terminfo name */ ! 116: char *dflt; /* default value */ ! 117: }; ! 118: struct strs strcaps[] = { ! 119: { "bt", "cbt", ((char *)0) }, ! 120: { "bl", "bel", "^G" }, ! 121: { "cr", "cr", "\r" }, ! 122: { "cs", "csr", ((char *)0) }, ! 123: { "ct", "tbc", ((char *)0) }, ! 124: { "cl", "clear", ((char *)0) }, ! 125: { "ce", "el", ((char *)0) }, ! 126: { "cd", "ed", ((char *)0) }, ! 127: { "ch", "hpa", ((char *)0) }, ! 128: { "CC", "cmdch", ((char *)0) }, ! 129: { "cm", "cup", ((char *)0) }, ! 130: { "do", "cud1", "\n" }, ! 131: { "ho", "home", ((char *)0) }, ! 132: { "vi", "civis", ((char *)0) }, ! 133: { "le", "cub1", "\b" }, ! 134: { "CM", "mrcup", ((char *)0) }, ! 135: { "ve", "cnorm", ((char *)0) }, ! 136: { "nd", "cuf1", ((char *)0) }, ! 137: { "ll", "ll", ((char *)0) }, ! 138: { "up", "cuu1", ((char *)0) }, ! 139: { "vs", "cvvis", ((char *)0) }, ! 140: { "dc", "dch1", ((char *)0) }, ! 141: { "dl", "dl1", ((char *)0) }, ! 142: { "ds", "dsl", ((char *)0) }, ! 143: { "hd", "hd", ((char *)0) }, ! 144: { "as", "smacs", ((char *)0) }, ! 145: { "mb", "blink", ((char *)0) }, ! 146: { "md", "bold", ((char *)0) }, ! 147: { "ti", "smcup", ((char *)0) }, ! 148: { "dm", "smdc", ((char *)0) }, ! 149: { "mh", "dim", ((char *)0) }, ! 150: { "im", "smir", ((char *)0) }, ! 151: { "mk", "invis", ((char *)0) }, ! 152: { "mp", "prot", ((char *)0) }, ! 153: { "mr", "rev", ((char *)0) }, ! 154: { "so", "smso", ((char *)0) }, ! 155: { "us", "smul", ((char *)0) }, ! 156: { "ec", "ech", ((char *)0) }, ! 157: { "ae", "rmacs", ((char *)0) }, ! 158: { "me", "sgr0", ((char *)0) }, ! 159: { "te", "rmcup", ((char *)0) }, ! 160: { "ed", "rmdc", ((char *)0) }, ! 161: { "ei", "rmir", ((char *)0) }, ! 162: { "se", "rmso", ((char *)0) }, ! 163: { "ue", "rmul", ((char *)0) }, ! 164: { "vb", "flash", ((char *)0) }, ! 165: { "ff", "ff", ((char *)0) }, ! 166: { "fs", "fsl", ((char *)0) }, ! 167: { "i1", "is1", ((char *)0) }, ! 168: { "is", "is2", ((char *)0) }, ! 169: { "i3", "is3", ((char *)0) }, ! 170: { "if", "if", ((char *)0) }, ! 171: { "ic", "ich1", ((char *)0) }, ! 172: { "il", "il1", ((char *)0) }, ! 173: { "ip", "ip", ((char *)0) }, ! 174: { "kb", "kbs", ((char *)0) }, ! 175: { "ka", "ktbc", ((char *)0) }, ! 176: { "kC", "kclr", ((char *)0) }, ! 177: { "kt", "kctab", ((char *)0) }, ! 178: { "kD", "kdch1", ((char *)0) }, ! 179: { "kL", "kdl1", ((char *)0) }, ! 180: { "kd", "kcud1", ((char *)0) }, ! 181: { "kM", "krmir", ((char *)0) }, ! 182: { "kE", "kel", ((char *)0) }, ! 183: { "kS", "ked", ((char *)0) }, ! 184: { "k0", "kf0", ((char *)0) }, ! 185: { "k1", "kf1", ((char *)0) }, ! 186: { "k;", "kf10", ((char *)0) }, ! 187: { "k2", "kf2", ((char *)0) }, ! 188: { "k3", "kf3", ((char *)0) }, ! 189: { "k4", "kf4", ((char *)0) }, ! 190: { "k5", "kf5", ((char *)0) }, ! 191: { "k6", "kf6", ((char *)0) }, ! 192: { "k7", "kf7", ((char *)0) }, ! 193: { "k8", "kf8", ((char *)0) }, ! 194: { "k9", "kf9", ((char *)0) }, ! 195: { "kh", "khome", ((char *)0) }, ! 196: { "kI", "kich1", ((char *)0) }, ! 197: { "kA", "kil1", ((char *)0) }, ! 198: { "kl", "kcub1", ((char *)0) }, ! 199: { "kH", "kll", ((char *)0) }, ! 200: { "kN", "knp", ((char *)0) }, ! 201: { "kP", "kpp", ((char *)0) }, ! 202: { "kr", "kcuf1", ((char *)0) }, ! 203: { "kF", "kind", ((char *)0) }, ! 204: { "kR", "kri", ((char *)0) }, ! 205: { "kT", "khts", ((char *)0) }, ! 206: { "ku", "kcuu1", ((char *)0) }, ! 207: { "ke", "rmkx", ((char *)0) }, ! 208: { "ks", "smkx", ((char *)0) }, ! 209: { "l0", "lf0", ((char *)0) }, ! 210: { "l1", "lf1", ((char *)0) }, ! 211: { "la", "lf10", ((char *)0) }, ! 212: { "l2", "lf2", ((char *)0) }, ! 213: { "l3", "lf3", ((char *)0) }, ! 214: { "l4", "lf4", ((char *)0) }, ! 215: { "l5", "lf5", ((char *)0) }, ! 216: { "l6", "lf6", ((char *)0) }, ! 217: { "l7", "lf7", ((char *)0) }, ! 218: { "l8", "lf8", ((char *)0) }, ! 219: { "l9", "lf9", ((char *)0) }, ! 220: { "mo", "rmm", ((char *)0) }, ! 221: { "mm", "smm", ((char *)0) }, ! 222: { "nw", "nel", ((char *)0) }, ! 223: { "pc", "pad", ((char *)0) }, ! 224: { "DC", "dch", ((char *)0) }, ! 225: { "DL", "dl", ((char *)0) }, ! 226: { "DO", "cud", ((char *)0) }, ! 227: { "IC", "ich", ((char *)0) }, ! 228: { "SF", "indn", ((char *)0) }, ! 229: { "AL", "il", ((char *)0) }, ! 230: { "LE", "cub", ((char *)0) }, ! 231: { "RI", "cuf", ((char *)0) }, ! 232: { "SR", "rin", ((char *)0) }, ! 233: { "UP", "cuu", ((char *)0) }, ! 234: { "pk", "pfkey", ((char *)0) }, ! 235: { "pl", "pfloc", ((char *)0) }, ! 236: { "px", "pfx", ((char *)0) }, ! 237: { "ps", "mc0", ((char *)0) }, ! 238: { "pf", "mc4", ((char *)0) }, ! 239: { "po", "mc5", ((char *)0) }, ! 240: { "rp", "rep", ((char *)0) }, ! 241: { "r1", "rs1", ((char *)0) }, ! 242: { "r2", "rs2", ((char *)0) }, ! 243: { "r3", "rs3", ((char *)0) }, ! 244: { "rf", "rf", ((char *)0) }, ! 245: { "rc", "rc", ((char *)0) }, ! 246: { "cv", "vpa", ((char *)0) }, ! 247: { "sc", "sc", ((char *)0) }, ! 248: { "sf", "ind", "\n" }, ! 249: { "sr", "ri", ((char *)0) }, ! 250: { "sa", "sgr", ((char *)0) }, ! 251: { "st", "hts", ((char *)0) }, ! 252: { "wi", "wind", ((char *)0) }, ! 253: { "ta", "ht", ((char *)0) }, ! 254: { "ts", "tsl", ((char *)0) }, ! 255: { "uc", "uc", ((char *)0) }, ! 256: { "hu", "hu", ((char *)0) }, ! 257: { "iP", "iprog", ((char *)0) }, ! 258: { "K1", "ka1", ((char *)0) }, ! 259: { "K3", "ka3", ((char *)0) }, ! 260: { "k2", "kb2", ((char *)0) }, ! 261: { "K4", "kc1", ((char *)0) }, ! 262: { "K5", "kc3", ((char *)0) }, ! 263: { "pO", "mc5p", ((char *)0) }, ! 264: { "rP", "rmp", ((char *)0) }, ! 265: { "ac", "acsc", ((char *)0) }, ! 266: { "pn", "pln", ((char *)0) }, ! 267: { "kB", "kcbt", ((char *)0) }, ! 268: { "SX", "smxon", ((char *)0) }, ! 269: { "RX", "rmxon", ((char *)0) }, ! 270: { "SA", "smam", ((char *)0) }, ! 271: { "RA", "rmam", ((char *)0) }, ! 272: { "XN", "xonc", ((char *)0) }, ! 273: { "XF", "xoffc", ((char *)0) }, ! 274: { "eA", "enacs", ((char *)0) }, ! 275: { "LO", "smln", ((char *)0) }, ! 276: { "LF", "rmln", ((char *)0) }, ! 277: { "@1", "kbeg", ((char *)0) }, ! 278: { "@2", "kcan", ((char *)0) }, ! 279: { "@3", "kclo", ((char *)0) }, ! 280: { "@4", "kcmd", ((char *)0) }, ! 281: { "@5", "kcpy", ((char *)0) }, ! 282: { "@6", "kcrt", ((char *)0) }, ! 283: { "@7", "kend", ((char *)0) }, ! 284: { "@8", "kent", ((char *)0) }, ! 285: { "@9", "kext", ((char *)0) }, ! 286: { "@0", "kfnd", ((char *)0) }, ! 287: { "%1", "khlp", ((char *)0) }, ! 288: { "%2", "kmrk", ((char *)0) }, ! 289: { "%3", "kmsg", ((char *)0) }, ! 290: { "%4", "kmov", ((char *)0) }, ! 291: { "%5", "knxt", ((char *)0) }, ! 292: { "%6", "kopn", ((char *)0) }, ! 293: { "%7", "kopt", ((char *)0) }, ! 294: { "%8", "kprv", ((char *)0) }, ! 295: { "%9", "kprt", ((char *)0) }, ! 296: { "0", "krdo", ((char *)0) }, ! 297: { "&1", "kref", ((char *)0) }, ! 298: { "&2", "krfr", ((char *)0) }, ! 299: { "&3", "krpl", ((char *)0) }, ! 300: { "&4", "krst", ((char *)0) }, ! 301: { "&5", "kres", ((char *)0) }, ! 302: { "&6", "ksav", ((char *)0) }, ! 303: { "&7", "kspd", ((char *)0) }, ! 304: { "&8", "kund", ((char *)0) }, ! 305: { "&9", "kBEG", ((char *)0) }, ! 306: { "&0", "kCAN", ((char *)0) }, ! 307: { "*1", "kCMD", ((char *)0) }, ! 308: { "*2", "kCPY", ((char *)0) }, ! 309: { "*3", "kCRT", ((char *)0) }, ! 310: { "*4", "kDC", ((char *)0) }, ! 311: { "*5", "kDL", ((char *)0) }, ! 312: { "*6", "kslt", ((char *)0) }, ! 313: { "*7", "kEND", ((char *)0) }, ! 314: { "*8", "kEOL", ((char *)0) }, ! 315: { "*9", "kEXT", ((char *)0) }, ! 316: { "*0", "kFND", ((char *)0) }, ! 317: { "#1", "kHLP", ((char *)0) }, ! 318: { "#2", "kHOM", ((char *)0) }, ! 319: { "#3", "kIC", ((char *)0) }, ! 320: { "#4", "kLFT", ((char *)0) }, ! 321: { "%a", "kMSG", ((char *)0) }, ! 322: { "%b", "kMOV", ((char *)0) }, ! 323: { "%c", "kNXT", ((char *)0) }, ! 324: { "%d", "kOPT", ((char *)0) }, ! 325: { "%e", "kPRV", ((char *)0) }, ! 326: { "%f", "kPRT", ((char *)0) }, ! 327: { "%g", "kRDO", ((char *)0) }, ! 328: { "%h", "kRPL", ((char *)0) }, ! 329: { "%i", "kRIT", ((char *)0) }, ! 330: { "%j", "kRES", ((char *)0) }, ! 331: { "!1", "kSAV", ((char *)0) }, ! 332: { "!2", "kSPD", ((char *)0) }, ! 333: { "!3", "kUND", ((char *)0) }, ! 334: { "RF", "rfi", ((char *)0) }, ! 335: { "F1", "kf11", ((char *)0) }, ! 336: { "F2", "kf12", ((char *)0) }, ! 337: { "F3", "kf13", ((char *)0) }, ! 338: { "F4", "kf14", ((char *)0) }, ! 339: { "F5", "kf15", ((char *)0) }, ! 340: { "F6", "kf16", ((char *)0) }, ! 341: { "F7", "kf17", ((char *)0) }, ! 342: { "F8", "kf18", ((char *)0) }, ! 343: { "F9", "kf19", ((char *)0) }, ! 344: { "FA", "kf20", ((char *)0) }, ! 345: { "FB", "kf21", ((char *)0) }, ! 346: { "FC", "kf22", ((char *)0) }, ! 347: { "FD", "kf23", ((char *)0) }, ! 348: { "FE", "kf24", ((char *)0) }, ! 349: { "FF", "kf25", ((char *)0) }, ! 350: { "FG", "kf26", ((char *)0) }, ! 351: { "FH", "kf27", ((char *)0) }, ! 352: { "FI", "kf28", ((char *)0) }, ! 353: { "FJ", "kf29", ((char *)0) }, ! 354: { "FK", "kf30", ((char *)0) }, ! 355: { "FL", "kf31", ((char *)0) }, ! 356: { "FM", "kf32", ((char *)0) }, ! 357: { "FN", "kf33", ((char *)0) }, ! 358: { "FO", "kf34", ((char *)0) }, ! 359: { "FP", "kf35", ((char *)0) }, ! 360: { "FQ", "kf36", ((char *)0) }, ! 361: { "FR", "kf37", ((char *)0) }, ! 362: { "FS", "kf38", ((char *)0) }, ! 363: { "FT", "kf39", ((char *)0) }, ! 364: { "FU", "kf40", ((char *)0) }, ! 365: { "FV", "kf41", ((char *)0) }, ! 366: { "FW", "kf42", ((char *)0) }, ! 367: { "FX", "kf43", ((char *)0) }, ! 368: { "FY", "kf44", ((char *)0) }, ! 369: { "FZ", "kf45", ((char *)0) }, ! 370: { "Fa", "kf46", ((char *)0) }, ! 371: { "Fb", "kf47", ((char *)0) }, ! 372: { "Fc", "kf48", ((char *)0) }, ! 373: { "Fd", "kf49", ((char *)0) }, ! 374: { "Fe", "kf50", ((char *)0) }, ! 375: { "Ff", "kf51", ((char *)0) }, ! 376: { "Fg", "kf52", ((char *)0) }, ! 377: { "Fh", "kf53", ((char *)0) }, ! 378: { "Fi", "kf54", ((char *)0) }, ! 379: { "Fj", "kf55", ((char *)0) }, ! 380: { "Fk", "kf56", ((char *)0) }, ! 381: { "Fl", "kf57", ((char *)0) }, ! 382: { "Fm", "kf58", ((char *)0) }, ! 383: { "Fn", "kf59", ((char *)0) }, ! 384: { "Fo", "kf60", ((char *)0) }, ! 385: { "Fp", "kf61", ((char *)0) }, ! 386: { "Fq", "kf62", ((char *)0) }, ! 387: { "Fr", "kf63", ((char *)0) }, ! 388: { "cb", "el1", ((char *)0) }, ! 389: { "MC", "mgc", ((char *)0) }, ! 390: { "ML", "smgl", ((char *)0) }, ! 391: { "MR", "smgr", ((char *)0) }, ! 392: { "Lf", "fln", ((char *)0) }, ! 393: { "SC", "sclk", ((char *)0) }, ! 394: { "DK", "dclk", ((char *)0) }, ! 395: { "RC", "rmclk", ((char *)0) }, ! 396: { "CW", "cwin", ((char *)0) }, ! 397: { "GW", "wingo", ((char *)0) }, ! 398: { "HU", "hup", ((char *)0) }, ! 399: { "DI", "dial", ((char *)0) }, ! 400: { "QD", "qdial", ((char *)0) }, ! 401: { "TO", "tone", ((char *)0) }, ! 402: { "PU", "pulse", ((char *)0) }, ! 403: { "fh", "hook", ((char *)0) }, ! 404: { "PA", "pause", ((char *)0) }, ! 405: { "WA", "wait", ((char *)0) }, ! 406: { "u0", "u0", ((char *)0) }, ! 407: { "u1", "u1", ((char *)0) }, ! 408: { "u2", "u2", ((char *)0) }, ! 409: { "u3", "u3", ((char *)0) }, ! 410: { "u4", "u4", ((char *)0) }, ! 411: { "u5", "u5", ((char *)0) }, ! 412: { "u6", "u6", ((char *)0) }, ! 413: { "u7", "u7", ((char *)0) }, ! 414: { "u8", "u8", ((char *)0) }, ! 415: { "u9", "u9", ((char *)0) }, ! 416: { "op", "op", ((char *)0) }, ! 417: { "oc", "oc", ((char *)0) }, ! 418: { "Ic", "initc", ((char *)0) }, ! 419: { "Ip", "initp", ((char *)0) }, ! 420: { "sp", "scp", ((char *)0) }, ! 421: { "Sf", "setf", ((char *)0) }, ! 422: { "Sb", "setb", ((char *)0) }, ! 423: { "ZA", "cpi", ((char *)0) }, ! 424: { "ZB", "lpi", ((char *)0) }, ! 425: { "ZC", "chr", ((char *)0) }, ! 426: { "ZD", "cvr", ((char *)0) }, ! 427: { "dc", "defc", ((char *)0) }, ! 428: { "ZF", "swidm", ((char *)0) }, ! 429: { "ZG", "sdrfq", ((char *)0) }, ! 430: { "ZH", "sitm", ((char *)0) }, ! 431: { "ZI", "slm", ((char *)0) }, ! 432: { "ZJ", "smicm", ((char *)0) }, ! 433: { "ZK", "snlq", ((char *)0) }, ! 434: { "ZL", "snrmq", ((char *)0) }, ! 435: { "ZM", "sshm", ((char *)0) }, ! 436: { "ZN", "ssubm", ((char *)0) }, ! 437: { "ZO", "ssupm", ((char *)0) }, ! 438: { "ZP", "sum", ((char *)0) }, ! 439: { "ZQ", "rwidm", ((char *)0) }, ! 440: { "ZR", "ritm", ((char *)0) }, ! 441: { "ZS", "rlm", ((char *)0) }, ! 442: { "ZT", "rmicm", ((char *)0) }, ! 443: { "ZU", "rshm", ((char *)0) }, ! 444: { "ZV", "rsubm", ((char *)0) }, ! 445: { "ZW", "rsupm", ((char *)0) }, ! 446: { "ZX", "rum", ((char *)0) }, ! 447: { "ZY", "mhpa", ((char *)0) }, ! 448: { "ZZ", "mcud1", ((char *)0) }, ! 449: { "Za", "mcub1", ((char *)0) }, ! 450: { "Zb", "mcuf1", ((char *)0) }, ! 451: { "Zc", "mvpa", ((char *)0) }, ! 452: { "Zd", "mcuu1", ((char *)0) }, ! 453: { "Ze", "porder", ((char *)0) }, ! 454: { "Zf", "mcud", ((char *)0) }, ! 455: { "Zg", "mcub", ((char *)0) }, ! 456: { "Zh", "mcuf", ((char *)0) }, ! 457: { "Zi", "mcuu", ((char *)0) }, ! 458: { "Zj", "scs", ((char *)0) }, ! 459: { "Zk", "smgb", ((char *)0) }, ! 460: { "Zl", "smgbp", ((char *)0) }, ! 461: { "Zm", "smglp", ((char *)0) }, ! 462: { "Zn", "smgrp", ((char *)0) }, ! 463: { "Zo", "smgt", ((char *)0) }, ! 464: { "Zp", "smgtp", ((char *)0) }, ! 465: { "Zq", "sbim", ((char *)0) }, ! 466: { "Zr", "scsd", ((char *)0) }, ! 467: { "Zs", "rbim", ((char *)0) }, ! 468: { "Zt", "rcsd", ((char *)0) }, ! 469: { "Zu", "subcs", ((char *)0) }, ! 470: { "Zv", "supcs", ((char *)0) }, ! 471: { "Zw", "docr", ((char *)0) }, ! 472: { "Zx", "zerom", ((char *)0) }, ! 473: { "Zy", "csnm", ((char *)0) }, ! 474: { "tc", "use", ((char *)0) } ! 475: }; ! 476: #define MAXSTRS MAXINDEX(strcaps) ! 477: ! 478: int tgetname (); /* get termcap name */ ! 479: int tgetflag (); /* get termcap boolean value */ ! 480: int tgetnum (); /* get termcap numeric value */ ! 481: int tgetstr (); /* get termcap string value */ ! 482: ! 483: ! 484: /* ! 485: * print_name: ! 486: * print name and aliases of current termcap entry. ! 487: */ ! 488: print_name () ! 489: { ! 490: char name[100]; ! 491: ! 492: tgetname (name); ! 493: printf ("%s,\n", name); ! 494: } ! 495: ! 496: /* ! 497: * print_bools: ! 498: * print all boolean fields of current termcap entry. ! 499: */ ! 500: print_bools () ! 501: { ! 502: int i, val; ! 503: bool stuffprinted = FALSE; ! 504: ! 505: for (i = 0; i < MAXBOOLS; i++) ! 506: if (val = tgetflag (boolcaps[i].capname)) { ! 507: if (val == 1) ! 508: printf ("\t%s,", boolcaps[i].infoname); ! 509: else ! 510: printf ("\t%s@,", boolcaps[i].infoname); ! 511: stuffprinted = TRUE; ! 512: } ! 513: if (stuffprinted) ! 514: (void) putchar ('\n'); ! 515: } ! 516: ! 517: /* ! 518: * print_nums: ! 519: * print all numeric fields of current termcap entry. ! 520: */ ! 521: print_nums () ! 522: { ! 523: int i, capval; ! 524: bool stuffprinted = FALSE; ! 525: ! 526: for (i = 0; i < MAXNUMS; i++) ! 527: if ((capval = tgetnum (numcaps[i].capname)) >= 0) { ! 528: printf ("\t%s#%d,", numcaps[i].infoname, capval); ! 529: stuffprinted = TRUE; ! 530: } ! 531: else if (capval == -2) { ! 532: printf ("\t%s@,", numcaps[i].infoname); ! 533: stuffprinted = TRUE; ! 534: } ! 535: if (stuffprinted) ! 536: (void) putchar ('\n'); ! 537: } ! 538: ! 539: /* ! 540: * print_strs: ! 541: * print all string fields of current termcap entry. ! 542: */ ! 543: print_strs () ! 544: { ! 545: int i, count = 0; ! 546: char capval[100]; ! 547: ! 548: for (i = 0; i < MAXSTRS; i++) { ! 549: tgetstr (strcaps[i].capname, capval); ! 550: if (!capval[0]) { ! 551: if (strcmp (strcaps[i].capname, "le") == 0) { ! 552: tgetstr ("bc", capval); ! 553: } ! 554: else if (strcmp (strcaps[i].capname, "ta") == 0) { ! 555: if (tgetflag ("pt")) { ! 556: capval[0] = '\t'; ! 557: capval[1] = '\0'; ! 558: } ! 559: } ! 560: } ! 561: if ((!capval[0]) && (strcaps[i].dflt)) ! 562: (void) strcpy (capval, strcaps[i].dflt); ! 563: if (capval[0]) { ! 564: if (strcmp (capval, "@") != 0) { ! 565: printf ("\t%s=", strcaps[i].infoname); ! 566: if (strcmp(strcaps[i].infoname,"use") != 0) { ! 567: put_str (capval); ! 568: printf (","); ! 569: } ! 570: else ! 571: printf ("%s,", capval); ! 572: } ! 573: else ! 574: printf ("\t%s@,", strcaps[i].infoname); ! 575: count++; ! 576: if (!(count %= 3)) ! 577: putchar ('\n'); ! 578: } ! 579: } ! 580: if (count) ! 581: (void) putchar ('\n'); ! 582: } ! 583: ! 584: /* ! 585: * put_str: ! 586: * translate strings to printable format and print them. ! 587: */ ! 588: put_str (s) ! 589: char *s; ! 590: { ! 591: bool rflag = FALSE; /* % codes */ ! 592: char *c; ! 593: int parm; ! 594: ! 595: if ((isdigit (*s)) || (*s == '.')) { /* handle padding */ ! 596: printf ("$<"); ! 597: while ((isdigit (*s)) || (*s == '.')) { ! 598: (void) putchar (*s); ! 599: s++; ! 600: } ! 601: if (*s == '*') { ! 602: (void) putchar (*s); ! 603: s++; ! 604: } ! 605: (void) putchar ('>'); ! 606: } ! 607: for (c = s; *c; c++) { /* scan for % codes (needs work) */ ! 608: if (*c == '%') { ! 609: c++; ! 610: switch (*c) { ! 611: case 'r': ! 612: rflag = TRUE; ! 613: break; ! 614: default: ! 615: break; /* ignore */ ! 616: } ! 617: } ! 618: } ! 619: parm = 0; ! 620: while (*s) { /* print the string */ ! 621: switch (*s) { ! 622: case '%': ! 623: s++; ! 624: switch (*s) { ! 625: case '%': ! 626: printf ("%%%%"); ! 627: break; ! 628: case 'i': ! 629: printf ("%%i"); ! 630: break; ! 631: case 'd': ! 632: parm++; ! 633: if ((rflag) && (parm <= 2)) { ! 634: if (parm == 1) ! 635: printf ("%%p2%%d"); ! 636: else ! 637: printf ("%%p1%%d"); ! 638: } ! 639: else ! 640: printf ("%%p%d%%d", parm); ! 641: break; ! 642: case '2': ! 643: parm++; ! 644: if ((rflag) && (parm <= 2)) { ! 645: if (parm == 1) ! 646: printf ("%%p2%%02d"); ! 647: else ! 648: printf ("%%p1%%02d"); ! 649: } ! 650: else ! 651: printf ("%%p%d%%02d", parm); ! 652: break; ! 653: case '3': ! 654: parm++; ! 655: if ((rflag) && (parm <= 2)) { ! 656: if (parm == 1) ! 657: printf ("%%p2%%03d"); ! 658: else ! 659: printf ("%%p1%%03d"); ! 660: } ! 661: else ! 662: printf ("%%p%d%%03d", parm); ! 663: break; ! 664: case '.': ! 665: parm++; ! 666: if ((rflag) && (parm <= 2)) { ! 667: if (parm == 1) ! 668: printf ("%%p2%%c"); ! 669: else ! 670: printf ("%%p1%%c"); ! 671: } ! 672: else ! 673: printf ("%%p%d%%c", parm); ! 674: break; ! 675: case '+': ! 676: s++; ! 677: parm++; ! 678: if ((rflag) && (parm <= 2)) { ! 679: if (parm == 1) ! 680: printf ("%%p2%%'%c'%%+%%c", *s); ! 681: else ! 682: printf ("%%p1%%'%c'%%+%%c", *s); ! 683: } ! 684: else ! 685: printf ("%%p%d%%'%c'%%+%%c", parm, *s); ! 686: break; ! 687: default: ! 688: break; /* ignore */ ! 689: } ! 690: break; ! 691: case '\200': ! 692: printf ("\\0"); ! 693: break; ! 694: case '\177': ! 695: printf ("^?"); ! 696: break; ! 697: case ',': ! 698: printf ("\\,"); ! 699: break; ! 700: case '\\': ! 701: printf ("\\\\"); ! 702: break; ! 703: case '^': ! 704: printf ("\^"); ! 705: break; ! 706: case ':': ! 707: printf ("\\:"); ! 708: break; ! 709: case '\033': ! 710: printf ("\\E"); ! 711: break; ! 712: case '\n': ! 713: printf ("\\n"); ! 714: break; ! 715: case '\r': ! 716: printf ("\\r"); ! 717: break; ! 718: case '\t': ! 719: printf ("\\t"); ! 720: break; ! 721: case '\b': ! 722: printf ("\\b"); ! 723: break; ! 724: case '\f': ! 725: printf ("\\f"); ! 726: break; ! 727: case ' ': ! 728: printf ("\\s"); ! 729: break; ! 730: default: ! 731: if (*s < ' ') ! 732: printf ("^%c", *s + 'A' - 1); ! 733: else ! 734: (void) putchar (*s); ! 735: break; ! 736: } ! 737: s++; ! 738: } ! 739: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.