+ gen_CM = ttxgetstr("cm"); /* may not work */
+ gen_IM = ttxgetstr("im");
+ gen_IC = tttgetstr("ic");
+ gen_IP = tttgetstr("ip");
+ gen_EI = ttxgetstr("ei");
+ gen_DC = tttgetstr("dc");
+ gen_AL = tttgetstr("al");
+ gen_DL = tttgetstr("dl");
+ gen_CE = tttgetstr("ce");
+ gen_CD = tttgetstr("cd");
+ gen_CL = ttxgetstr("cl");
+ gen_VS = ttxgetstr("vs");
+ gen_VE = ttxgetstr("ve");
+ gen_TI = ttxgetstr("ti");
+ gen_TE = ttxgetstr("te");
+ gen_SO = ttxgetstr("so");
+ gen_SE = ttxgetstr("se");
+ gen_US = ttxgetstr("us");
+ gen_UE = ttxgetstr("ue");
+ gen_UP = ttxgetstr("up");
+ gen_PC = tttgetstr("pc");
+ gen_BC = ttxgetstr("bc");
+ gen_ND = ttxgetstr("nd");
+ gen_HO = ttxgetstr("ho");
+ gen_NL = ttxgetstr("nl");
+ gen_AS = ttxgetstr("as");
+ gen_AE = ttxgetstr("ae");
+ gen_MI = tgetflag("mi");
+ gen_MS = tgetflag("ms");
+ gen_AM = tgetflag("am");
+ gen_OS = tgetflag("os");
+ gen_BS = tgetflag("bs");
+ gen_DB = tgetflag("db");
+ gen_CO = tgetnum("co");
+ gen_LI = tgetnum("li");
+ gen_UG = tgetnum("ug");
+ gen_SG = tgetnum("sg");
+
+ if (gen_CL == 0 || gen_CM == 0 || gen_OS)
+ return -1;
+
+ if (gen_NL == 0)
+ gen_NL = "\n";
+ if (gen_BC == 0 && gen_BS)
+ gen_BC = "\b";
+
+ PC = gen_PC ? *gen_PC : 0;
+ BC = gen_BC;
+ UP = gen_UP;
+ ospeed = wwoldtty.ww_sgttyb.sg_ospeed;
+
+ if (gen_DC)
+ tt.tt_delchar = gen_delchar;
+ if (gen_AL)
+ tt.tt_insline = gen_insline;
+ if (gen_DL)
+ tt.tt_delline = gen_delline;
+ if (gen_CE)
+ tt.tt_clreol = gen_clreol;
+ if (gen_CD)
+ tt.tt_clreos = gen_clreos;
+ if (gen_CL)
+ tt.tt_clear = gen_clear;
+ if (gen_SG > 0)
+ gen_SO = 0;
+ if (gen_UG > 0)
+ gen_US = 0;
+ if (gen_SO)
+ tt.tt_availmodes |= WWM_REV;
+ if (gen_US)
+ tt.tt_availmodes |= WWM_UL;
+ if (gen_AS)
+ tt.tt_availmodes |= WWM_GRP;
+ tt.tt_hasinsert = gen_IM != 0;
+ tt.tt_wrap = gen_AM;
+ tt.tt_retain = gen_DB;
+ tt.tt_ncol = gen_CO;
+ tt.tt_nrow = gen_LI;