Annotation of coherent/g/usr/lib/ncurses/putinfo.c, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.