home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume7 / tput2 / tput.h < prev   
Encoding:
C/C++ Source or Header  |  1986-12-02  |  6.2 KB  |  362 lines

  1. /*
  2.  * Copyright (C) $Date: 86/09/19 17:01:07 $
  3.  * by $Author: badri $
  4.  * University of Rochester,
  5.  * Department of Electrical Engineering.
  6.  *
  7.  * CoNtEnTs   This file contains various definitions for tput.
  8.  *
  9.  * $Locker:  $
  10.  * $Source: /u/users/badri/usr/src/local/tput/RCS/tput.h,v $
  11.  * $Revision: 1.2 $
  12.  *
  13.  * History of this release:
  14.  * $Log:    tput.h,v $
  15.  * Revision 1.2  86/09/19  17:01:07  badri
  16.  * Did some rearranging of things. Also incorporated error messages.
  17.  * 
  18.  * Revision 1.1  86/09/18  15:48:24  badri
  19.  * Initial revision
  20.  * 
  21.  */
  22. #include <sgtty.h>
  23. #include <stdio.h>
  24.  
  25. #ifndef XTABS
  26. #define XTABS 0006000
  27. #endif  XTABS
  28.  
  29. #define LARGEBUF 1024
  30. #define SMALLBUF   64
  31.  
  32. #define SYSTEM    666
  33. #define FAILURE     1
  34. #define SUCCESS     0
  35. #define BADUSE     -1
  36. #define BADTERM    -2
  37. #define BADCAP     -3
  38. /*
  39.  * To add new capabilities, increment table size and define the
  40.  * capability in the appropriate slot in the structure. Note that 
  41.  * the capabilities are lexicographically ordered. This ordering
  42.  * must be maintained for the binary search to work.
  43.  * Format for entry is 
  44.  * {"capability", "termcap_key"},
  45.  */
  46. #define TABLESIZE 310
  47. struct {char *key, *value} table[TABLESIZE] = {
  48.     {"acsc", "ac"},
  49.     {"am", "am"},
  50.     {"bel", "bl"},
  51.     {"blink", "mb"},
  52.     {"bold", "md"},
  53.     {"bw", "bw"},
  54.     {"cbt", "bt"},
  55.     {"chts", "HC"},
  56.     {"civis", "vi"},
  57.     {"clear", "cl"},
  58.     {"cmdch", "CC"},
  59.     {"cnorm", "ve"},
  60.     {"cols", "co"},
  61.     {"cr", "cr"},
  62.     {"csr", "cs"},
  63.     {"cub", "LE"},
  64.     {"cub1", "le"},
  65.     {"cud", "DO"},
  66.     {"cud1", "do"},
  67.     {"cuf", "RI"},
  68.     {"cuf1", "nd"},
  69.     {"cup", "cm"},
  70.     {"cuu", "UP"},
  71.     {"cuu1", "up"},
  72.     {"cvvis", "vs"},
  73.     {"da", "da"},
  74.     {"db", "db"},
  75.     {"dch", "DC"},
  76.     {"dch1", "dc"},
  77.     {"dim", "mh"},
  78.     {"dl", "DL"},
  79.     {"dl1", "dl"},
  80.     {"dsl", "ds"},
  81.     {"ech", "ec"},
  82.     {"ed", "cd"},
  83.     {"el", "ce"},
  84.     {"el1", "cb"},
  85.     {"enacs", "eA"},
  86.     {"eo", "eo"},
  87.     {"eslok", "es"},
  88.     {"ff", "ff"},
  89.     {"flash", "vb"},
  90.     {"fsl", "fs"},
  91.     {"gn", "gn"},
  92.     {"hc", "hc"},
  93.     {"hd", "hd"},
  94.     {"home", "ho"},
  95.     {"hpa", "ch"},
  96.     {"hs", "hs"},
  97.     {"ht", "ta"},
  98.     {"hts", "st"},
  99.     {"hu", "hu"},
  100.     {"hz", "hz"},
  101.     {"ich", "IC"},
  102.     {"ich1", "ic"},
  103.     {"if", "if"},
  104.     {"il", "AL"},
  105.     {"il1", "al"},
  106.     {"in", "in"},
  107.     {"ind", "sf"},
  108.     {"indn", "SF"},
  109.     {"invis", "mk"},
  110.     {"ip", "ip"},
  111.     {"iprog", "iP"},
  112.     {"is1", "i1"},
  113.     {"is2", "is"},
  114.     {"is3", "i3"},
  115.     {"it", "it"},
  116.     {"kBEG", "&9"},
  117.     {"kCAN", "&0"},
  118.     {"kCMD", "*1"},
  119.     {"kCPY", "*2"},
  120.     {"kCRT", "*3"},
  121.     {"kDC", "*4"},
  122.     {"kDL", "*5"},
  123.     {"kEND", "*7"},
  124.     {"kEOL", "*8"},
  125.     {"kEXT", "*9"},
  126.     {"kFND", "*0"},
  127.     {"kHLP", "#1"},
  128.     {"kHOM", "#2"},
  129.     {"kIC", "#3"},
  130.     {"kLFT", "#4"},
  131.     {"kMOV", "%b"},
  132.     {"kMSG", "%a"},
  133.     {"kNXT", "%c"},
  134.     {"kOPT", "%d"},
  135.     {"kPRT", "%f"},
  136.     {"kPRV", "%e"},
  137.     {"kRDO", "%g"},
  138.     {"kRES", "%j"},
  139.     {"kRIT", "%i"},
  140.     {"kRPL", "%h"},
  141.     {"kSAV", "!1"},
  142.     {"kSPD", "!2"},
  143.     {"kUND", "!3"},
  144.     {"ka1", "K1"},
  145.     {"ka3", "K3"},
  146.     {"kb2", "K2"},
  147.     {"kbeg", "@1"},
  148.     {"kbs", "kb"},
  149.     {"kc1", "K4"},
  150.     {"kc3", "K5"},
  151.     {"kcan", "@2"},
  152.     {"kcbt", "kB"},
  153.     {"kclo", "@3"},
  154.     {"kclr", "kC"},
  155.     {"kcmd", "@4"},
  156.     {"kcpy", "@5"},
  157.     {"kcrt", "@6"},
  158.     {"kctab", "kt"},
  159.     {"kcub1", "kl"},
  160.     {"kcud1", "kd"},
  161.     {"kcuf1", "kr"},
  162.     {"kcuu1", "ku"},
  163.     {"kdch1", "kD"},
  164.     {"kdl1", "kL"},
  165.     {"ked", "kS"},
  166.     {"kel", "kE"},
  167.     {"kend", "@7"},
  168.     {"kent", "@8"},
  169.     {"kext", "@9"},
  170.     {"kf0", "k0"},
  171.     {"kf1", "k1"},
  172.     {"kf10", "k;"},
  173.     {"kf11", "F1"},
  174.     {"kf12", "F2"},
  175.     {"kf13", "F3"},
  176.     {"kf14", "F4"},
  177.     {"kf15", "F5"},
  178.     {"kf16", "F6"},
  179.     {"kf17", "F7"},
  180.     {"kf18", "F8"},
  181.     {"kf19", "F9"},
  182.     {"kf2", "k2"},
  183.     {"kf20", "FA"},
  184.     {"kf21", "FB"},
  185.     {"kf22", "FC"},
  186.     {"kf23", "FD"},
  187.     {"kf24", "FE"},
  188.     {"kf25", "FF"},
  189.     {"kf26", "FG"},
  190.     {"kf27", "FH"},
  191.     {"kf28", "FI"},
  192.     {"kf29", "FJ"},
  193.     {"kf3", "k3"},
  194.     {"kf30", "FK"},
  195.     {"kf31", "FL"},
  196.     {"kf32", "FM"},
  197.     {"kf33", "FN"},
  198.     {"kf34", "FO"},
  199.     {"kf35", "FP"},
  200.     {"kf36", "FQ"},
  201.     {"kf37", "FR"},
  202.     {"kf38", "FS"},
  203.     {"kf39", "FT"},
  204.     {"kf4", "k4"},
  205.     {"kf40", "FU"},
  206.     {"kf41", "FV"},
  207.     {"kf42", "FW"},
  208.     {"kf43", "FX"},
  209.     {"kf44", "FY"},
  210.     {"kf45", "FZ"},
  211.     {"kf46", "Fa"},
  212.     {"kf47", "Fb"},
  213.     {"kf48", "Fc"},
  214.     {"kf49", "Fd"},
  215.     {"kf5", "k5"},
  216.     {"kf50", "Fe"},
  217.     {"kf51", "Ff"},
  218.     {"kf52", "Fg"},
  219.     {"kf53", "Fh"},
  220.     {"kf54", "Fi"},
  221.     {"kf55", "Fj"},
  222.     {"kf56", "Fk"},
  223.     {"kf57", "Fl"},
  224.     {"kf58", "Fm"},
  225.     {"kf59", "Fn"},
  226.     {"kf6", "k6"},
  227.     {"kf60", "Fo"},
  228.     {"kf61", "Fp"},
  229.     {"kf62", "Fq"},
  230.     {"kf63", "Fr"},
  231.     {"kf7", "k7"},
  232.     {"kf8", "k8"},
  233.     {"kf9", "k9"},
  234.     {"kfnd", "@0"},
  235.     {"khlp", "%1"},
  236.     {"khome", "kh"},
  237.     {"khts", "kT"},
  238.     {"kich1", "kI"},
  239.     {"kil1", "kA"},
  240.     {"kind", "kF"},
  241.     {"kll", "kH"},
  242.     {"km", "km"},
  243.     {"kmov", "%4"},
  244.     {"kmrk", "%2"},
  245.     {"kmsg", "%3"},
  246.     {"knp", "kN"},
  247.     {"knxt", "%5"},
  248.     {"kopn", "%6"},
  249.     {"kopt", "%7"},
  250.     {"kpp", "kP"},
  251.     {"kprt", "%9"},
  252.     {"kprv", "%8"},
  253.     {"krdo", "%0"},
  254.     {"kref", "&1"},
  255.     {"kres", "&5"},
  256.     {"krfr", "&2"},
  257.     {"kri", "kR"},
  258.     {"krmir", "kM"},
  259.     {"krpl", "&3"},
  260.     {"krst", "&4"},
  261.     {"ksav", "&6"},
  262.     {"kslt", "*6"},
  263.     {"kspd", "&7"},
  264.     {"ktbc", "ka"},
  265.     {"kund", "&8"},
  266.     {"lf0", "l0"},
  267.     {"lf1", "l1"},
  268.     {"lf10", "la"},
  269.     {"lf2", "l2"},
  270.     {"lf3", "l3"},
  271.     {"lf4", "l4"},
  272.     {"lf5", "l5"},
  273.     {"lf6", "l6"},
  274.     {"lf7", "l7"},
  275.     {"lf8", "l8"},
  276.     {"lf9", "l9"},
  277.     {"lh", "lh"},
  278.     {"lines", "li"},
  279.     {"ll", "ll"},
  280.     {"lm", "lm"},
  281.     {"lw", "lw"},
  282.     {"mc0", "ps"},
  283.     {"mc4", "pf"},
  284.     {"mc5", "po"},
  285.     {"mc5i", "5i"},
  286.     {"mc5p", "pO"},
  287.     {"mgc", "MC"},
  288.     {"mir", "mi"},
  289.     {"mrcup", "CM"},
  290.     {"msgr", "ms"},
  291.     {"nel", "nw"},
  292.     {"nlab", "Nl"},
  293.     {"npc", "NP"},
  294.     {"nrrmc", "NR"},
  295.     {"nxon", "nx"},
  296.     {"os", "os"},
  297.     {"pad", "pc"},
  298.     {"pb", "pb"},
  299.     {"pfkey", "pk"},
  300.     {"pfloc", "pl"},
  301.     {"pfx", "px"},
  302.     {"pln", "pn"},
  303.     {"prot", "mp"},
  304.     {"rc", "rc"},
  305.     {"rep", "rp"},
  306.     {"rev", "mr"},
  307.     {"rf", "rf"},
  308.     {"rfi", "RF"},
  309.     {"ri", "sr"},
  310.     {"rin", "SR"},
  311.     {"rmacs", "ae"},
  312.     {"rmam", "RA"},
  313.     {"rmcup", "te"},
  314.     {"rmdc", "ed"},
  315.     {"rmir", "ei"},
  316.     {"rmkx", "ke"},
  317.     {"rmln", "LF"},
  318.     {"rmm", "mo"},
  319.     {"rmp", "rP"},
  320.     {"rmso", "se"},
  321.     {"rmul", "ue"},
  322.     {"rmxon", "RX"},
  323.     {"rs1", "r1"},
  324.     {"rs2", "r2"},
  325.     {"rs3", "r3"},
  326.     {"sc", "sc"},
  327.     {"sgr", "sa"},
  328.     {"sgr0", "me"},
  329.     {"smacs", "as"},
  330.     {"smam", "SA"},
  331.     {"smcup", "ti"},
  332.     {"smdc", "dm"},
  333.     {"smgl", "ML"},
  334.     {"smgr", "MR"},
  335.     {"smir", "im"},
  336.     {"smkx", "ks"},
  337.     {"smln", "LO"},
  338.     {"smm", "mm"},
  339.     {"smso", "so"},
  340.     {"smul", "us"},
  341.     {"smxon", "SX"},
  342.     {"tbc", "ct"},
  343.     {"tsl", "ts"},
  344.     {"uc", "uc"},
  345.     {"ul", "ul"},
  346.     {"vpa", "cv"},
  347.     {"vt", "vt"},
  348.     {"wind", "wi"},
  349.     {"wsl", "ws"},
  350.     {"xenl", "xn"},
  351.     {"xhp", "xs"},
  352.     {"xmc", "sg"},
  353.     {"xoffc", "XF"},
  354.     {"xon", "xo"},
  355.     {"xonc", "XN"},
  356.     {"xsb", "xb"},
  357.     {"xt", "xt"}
  358. };
  359.  
  360. int errno;
  361. unsigned short errsup = 0;
  362.