Lines Matching refs:ip

88 #define SUBR_INIT(ip)		(ip)->grf->g_iteinit(ip)  argument
89 #define SUBR_DEINIT(ip) (ip)->grf->g_itedeinit(ip) argument
90 #define SUBR_PUTC(ip,c,dy,dx,m) (ip)->grf->g_iteputc(ip,c,dy,dx,m) argument
91 #define SUBR_CURSOR(ip,flg) (ip)->grf->g_itecursor(ip,flg) argument
92 #define SUBR_CLEAR(ip,sy,sx,h,w) (ip)->grf->g_iteclear(ip,sy,sx,h,w) argument
93 #define SUBR_SCROLL(ip,sy,sx,count,dir) \ argument
94 (ip)->grf->g_itescroll(ip,sy,sx,count,dir)
119 void iteputchar(int c, struct ite_softc *ip);
202 struct ite_softc *ip; in iteattach() local
207 ip = device_private(self); in iteattach()
216 memcpy(&ip->grf, &con_itesoftc.grf, in iteattach()
217 (char *)&ip[1] - (char *)&ip->grf); in iteattach()
219 kbd_ite = ip; in iteattach()
221 ip->grf = gp; in iteattach()
225 printf(": rows %d cols %d", ip->rows, ip->cols); in iteattach()
230 kbd_ite = ip; in iteattach()
231 if (kbd_ite == ip) in iteattach()
234 ip->flags |= ITE_ATTACHED; in iteattach()
314 struct ite_softc *ip; in itecninit() local
316 ip = getitesp(cd->cn_dev); in itecninit()
318 ip->flags |= ITE_ACTIVE | ITE_ISCONS; in itecninit()
332 ite_cnfinish(struct ite_softc *ip) in ite_cnfinish() argument
359 struct ite_softc *ip; in itecnputc() local
362 ip = getitesp(dev); in itecnputc()
366 (ip->flags & (ITE_ACTIVE | ITE_INGRF)) != ITE_ACTIVE) { in itecnputc()
370 iteputchar(ch, ip); in itecnputc()
390 struct ite_softc *ip; in iteinit() local
393 ip = getitesp(dev); in iteinit()
394 if (ip->flags & ITE_INITED) in iteinit()
403 ip->cursorx = 0; in iteinit()
404 ip->cursory = 0; in iteinit()
405 if (ip->grf->g_iteinit == NULL) in iteinit()
407 SUBR_INIT(ip); in iteinit()
408 SUBR_CURSOR(ip, DRAW_CURSOR); in iteinit()
409 if (ip->tabs == NULL) in iteinit()
410 ip->tabs = malloc(MAX_TABS * sizeof(u_char),M_DEVBUF,M_WAITOK); in iteinit()
411 ite_reset(ip); in iteinit()
412 ip->flags |= ITE_INITED; in iteinit()
418 struct ite_softc *ip; in iteopen() local
427 ip = getitesp(dev); in iteopen()
428 if (ip == NULL) in iteopen()
430 if ((ip->flags & ITE_ATTACHED) == 0) in iteopen()
433 if (ip->tp == NULL) { in iteopen()
434 tp = ip->tp = tty_alloc(); in iteopen()
437 tp = ip->tp; in iteopen()
442 if ((ip->flags & ITE_ACTIVE) == 0) { in iteopen()
467 tp->t_winsize.ws_row = ip->rows; in iteopen()
468 tp->t_winsize.ws_col = ip->cols; in iteopen()
534 struct ite_softc *ip; in iteioctl() local
539 ip = getitesp(dev); in iteioctl()
540 tp = ip->tp; in iteioctl()
594 error = ite_grf_ioctl(ip, cmd, addr, flag, l); in iteioctl()
641 struct ite_softc *ip; in ite_on() local
643 ip = getitesp(dev); in ite_on()
647 ip->flags |= ITE_ACTIVE; in ite_on()
648 ip->flags &= ~(ITE_INGRF | ITE_INITED); in ite_on()
652 ip->flags &= ~ITE_INGRF; in ite_on()
653 if ((ip->flags & ITE_ACTIVE) == 0) in ite_on()
656 ip->flags |= ITE_ACTIVE; in ite_on()
657 if (ip->flags & ITE_INGRF) in ite_on()
665 struct ite_softc *ip; in ite_off() local
667 ip = getitesp(dev); in ite_off()
669 ip->flags |= ITE_INGRF; in ite_off()
670 if ((ip->flags & ITE_ACTIVE) == 0) in ite_off()
673 (ip->flags & (ITE_INGRF | ITE_ISCONS | ITE_INITED)) == ITE_INITED) in ite_off()
674 SUBR_DEINIT(ip); in ite_off()
677 ip->flags &= ~ITE_ACTIVE; in ite_off()
685 struct ite_softc *ip; in ite_reinit() local
687 ip = getitesp(dev); in ite_reinit()
688 ip->flags &= ~ITE_INITED; in ite_reinit()
702 ite_reset(struct ite_softc *ip) in ite_reset() argument
706 ip->curx = 0; in ite_reset()
707 ip->cury = 0; in ite_reset()
708 ip->attribute = ATTR_NOR; in ite_reset()
709 ip->save_curx = 0; in ite_reset()
710 ip->save_cury = 0; in ite_reset()
711 ip->save_attribute = ATTR_NOR; in ite_reset()
712 ip->ap = ip->argbuf; in ite_reset()
713 ip->emul_level = 0; in ite_reset()
714 ip->eightbit_C1 = 0; in ite_reset()
715 ip->top_margin = 0; in ite_reset()
716 ip->bottom_margin = ip->rows - 1; in ite_reset()
717 ip->inside_margins = 0; in ite_reset()
718 ip->linefeed_newline = 0; in ite_reset()
719 ip->auto_wrap = ite_default_wrap; in ite_reset()
720 ip->cursor_appmode = 0; in ite_reset()
721 ip->keypad_appmode = 0; in ite_reset()
722 ip->imode = 0; in ite_reset()
723 ip->key_repeat = 1; in ite_reset()
724 memset(ip->tabs, 0, ip->cols); in ite_reset()
725 for (i = 0; i < ip->cols; i++) in ite_reset()
726 ip->tabs[i] = ((i & 7) == 0); in ite_reset()
1020 alignment_display(struct ite_softc *ip) in alignment_display() argument
1024 for (j = 0; j < ip->rows; j++) in alignment_display()
1025 for (i = 0; i < ip->cols; i++) in alignment_display()
1026 SUBR_PUTC(ip, 'E', j, i, ATTR_NOR); in alignment_display()
1027 attrclr(ip, 0, 0, ip->rows, ip->cols); in alignment_display()
1028 SUBR_CURSOR(ip, DRAW_CURSOR); in alignment_display()
1032 snap_cury(struct ite_softc *ip) in snap_cury() argument
1034 if (ip->inside_margins) in snap_cury()
1036 if (ip->cury < ip->top_margin) in snap_cury()
1037 ip->cury = ip->top_margin; in snap_cury()
1038 if (ip->cury > ip->bottom_margin) in snap_cury()
1039 ip->cury = ip->bottom_margin; in snap_cury()
1044 ite_dnchar(struct ite_softc *ip, int n) in ite_dnchar() argument
1046 n = uimin(n, ip->cols - ip->curx); in ite_dnchar()
1047 if (n < ip->cols - ip->curx) in ite_dnchar()
1049 SUBR_SCROLL(ip, ip->cury, ip->curx + n, n, SCROLL_LEFT); in ite_dnchar()
1050 attrmov(ip, ip->cury, ip->curx + n, ip->cury, ip->curx, in ite_dnchar()
1051 1, ip->cols - ip->curx - n); in ite_dnchar()
1052 attrclr(ip, ip->cury, ip->cols - n, 1, n); in ite_dnchar()
1055 SUBR_PUTC(ip, ' ', ip->cury, ip->cols - n - 1, ATTR_NOR); in ite_dnchar()
1056 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_dnchar()
1060 ite_inchar(struct ite_softc *ip, int n) in ite_inchar() argument
1062 n = uimin(n, ip->cols - ip->curx); in ite_inchar()
1063 if (n < ip->cols - ip->curx) in ite_inchar()
1065 SUBR_SCROLL(ip, ip->cury, ip->curx, n, SCROLL_RIGHT); in ite_inchar()
1066 attrmov(ip, ip->cury, ip->curx, ip->cury, ip->curx + n, in ite_inchar()
1067 1, ip->cols - ip->curx - n); in ite_inchar()
1068 attrclr(ip, ip->cury, ip->curx, 1, n); in ite_inchar()
1071 SUBR_PUTC(ip, ' ', ip->cury, ip->curx + n, ATTR_NOR); in ite_inchar()
1072 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_inchar()
1076 ite_clrtoeol(struct ite_softc *ip) in ite_clrtoeol() argument
1078 int y = ip->cury, x = ip->curx; in ite_clrtoeol()
1079 if (ip->cols - x > 0) in ite_clrtoeol()
1081 SUBR_CLEAR(ip, y, x, 1, ip->cols - x); in ite_clrtoeol()
1082 attrclr(ip, y, x, 1, ip->cols - x); in ite_clrtoeol()
1083 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_clrtoeol()
1088 ite_clrtobol(struct ite_softc *ip) in ite_clrtobol() argument
1090 int y = ip->cury, x = uimin(ip->curx + 1, ip->cols); in ite_clrtobol()
1091 SUBR_CLEAR(ip, y, 0, 1, x); in ite_clrtobol()
1092 attrclr(ip, y, 0, 1, x); in ite_clrtobol()
1093 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_clrtobol()
1097 ite_clrline(struct ite_softc *ip) in ite_clrline() argument
1099 int y = ip->cury; in ite_clrline()
1100 SUBR_CLEAR(ip, y, 0, 1, ip->cols); in ite_clrline()
1101 attrclr(ip, y, 0, 1, ip->cols); in ite_clrline()
1102 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_clrline()
1108 ite_clrtoeos(struct ite_softc *ip) in ite_clrtoeos() argument
1110 ite_clrtoeol(ip); in ite_clrtoeos()
1111 if (ip->cury < ip->rows - 1) in ite_clrtoeos()
1113 SUBR_CLEAR(ip, ip->cury + 1, 0, ip->rows - 1 - ip->cury, ip->cols); in ite_clrtoeos()
1114 attrclr(ip, ip->cury, 0, ip->rows - ip->cury, ip->cols); in ite_clrtoeos()
1115 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_clrtoeos()
1120 ite_clrtobos(struct ite_softc *ip) in ite_clrtobos() argument
1122 ite_clrtobol(ip); in ite_clrtobos()
1123 if (ip->cury > 0) in ite_clrtobos()
1125 SUBR_CLEAR(ip, 0, 0, ip->cury, ip->cols); in ite_clrtobos()
1126 attrclr(ip, 0, 0, ip->cury, ip->cols); in ite_clrtobos()
1127 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_clrtobos()
1132 ite_clrscreen(struct ite_softc *ip) in ite_clrscreen() argument
1134 SUBR_CLEAR(ip, 0, 0, ip->rows, ip->cols); in ite_clrscreen()
1135 attrclr(ip, 0, 0, ip->rows, ip->cols); in ite_clrscreen()
1136 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_clrscreen()
1142 ite_dnline(struct ite_softc *ip, int n) in ite_dnline() argument
1146 if (ip->cury < ip->top_margin || ip->cury > ip->bottom_margin) in ite_dnline()
1149 n = uimin(n, ip->bottom_margin + 1 - ip->cury); in ite_dnline()
1150 if (n <= ip->bottom_margin - ip->cury) in ite_dnline()
1152 SUBR_SCROLL(ip, ip->cury + n, 0, n, SCROLL_UP); in ite_dnline()
1153 attrmov(ip, ip->cury + n, 0, ip->cury, 0, in ite_dnline()
1154 ip->bottom_margin + 1 - ip->cury - n, ip->cols); in ite_dnline()
1156 SUBR_CLEAR(ip, ip->bottom_margin - n + 1, 0, n, ip->cols); in ite_dnline()
1157 attrclr(ip, ip->bottom_margin - n + 1, 0, n, ip->cols); in ite_dnline()
1158 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_dnline()
1162 ite_inline(struct ite_softc *ip, int n) in ite_inline() argument
1166 if (ip->cury < ip->top_margin || ip->cury > ip->bottom_margin) in ite_inline()
1169 n = uimin(n, ip->bottom_margin + 1 - ip->cury); in ite_inline()
1170 if (n <= ip->bottom_margin - ip->cury) in ite_inline()
1172 SUBR_SCROLL(ip, ip->cury, 0, n, SCROLL_DOWN); in ite_inline()
1173 attrmov(ip, ip->cury, 0, ip->cury + n, 0, in ite_inline()
1174 ip->bottom_margin + 1 - ip->cury - n, ip->cols); in ite_inline()
1176 SUBR_CLEAR(ip, ip->cury, 0, n, ip->cols); in ite_inline()
1177 attrclr(ip, ip->cury, 0, n, ip->cols); in ite_inline()
1178 SUBR_CURSOR(ip, DRAW_CURSOR); in ite_inline()
1182 ite_lf(struct ite_softc *ip) in ite_lf() argument
1184 ++ip->cury; in ite_lf()
1185 if ((ip->cury == ip->bottom_margin+1) || (ip->cury == ip->rows)) in ite_lf()
1187 ip->cury--; in ite_lf()
1188 SUBR_SCROLL(ip, ip->top_margin + 1, 0, 1, SCROLL_UP); in ite_lf()
1189 ite_clrline(ip); in ite_lf()
1191 SUBR_CURSOR(ip, MOVE_CURSOR); in ite_lf()
1192 clr_attr(ip, ATTR_INV); in ite_lf()
1196 ite_crlf(struct ite_softc *ip) in ite_crlf() argument
1198 ip->curx = 0; in ite_crlf()
1199 ite_lf (ip); in ite_crlf()
1203 ite_cr(struct ite_softc *ip) in ite_cr() argument
1205 if (ip->curx) in ite_cr()
1207 ip->curx = 0; in ite_cr()
1208 SUBR_CURSOR(ip, MOVE_CURSOR); in ite_cr()
1213 ite_rlf(struct ite_softc *ip) in ite_rlf() argument
1215 ip->cury--; in ite_rlf()
1216 if ((ip->cury < 0) || (ip->cury == ip->top_margin - 1)) in ite_rlf()
1218 ip->cury++; in ite_rlf()
1219 SUBR_SCROLL(ip, ip->top_margin, 0, 1, SCROLL_DOWN); in ite_rlf()
1220 ite_clrline(ip); in ite_rlf()
1222 SUBR_CURSOR(ip, MOVE_CURSOR); in ite_rlf()
1223 clr_attr(ip, ATTR_INV); in ite_rlf()
1238 ite_argnum(struct ite_softc *ip) in ite_argnum() argument
1244 if (ip->ap == ip->argbuf) in ite_argnum()
1246 ch = *ip->ap; in ite_argnum()
1247 *ip->ap = 0; in ite_argnum()
1248 n = atoi (ip->argbuf); in ite_argnum()
1249 *ip->ap = ch; in ite_argnum()
1255 ite_zargnum(struct ite_softc *ip) in ite_zargnum() argument
1261 if (ip->ap == ip->argbuf) in ite_zargnum()
1263 ch = *ip->ap; in ite_zargnum()
1264 *ip->ap = 0; in ite_zargnum()
1265 n = atoi (ip->argbuf); in ite_zargnum()
1266 *ip->ap = ch; in ite_zargnum()
1274 struct ite_softc *ip; in ite_putstr() local
1277 ip = getitesp(dev); in ite_putstr()
1280 if ((ip->flags & (ITE_ACTIVE|ITE_INGRF)) != ITE_ACTIVE) in ite_putstr()
1283 SUBR_CURSOR(ip, START_CURSOROPT); in ite_putstr()
1286 iteputchar(s[i], ip); in ite_putstr()
1287 SUBR_CURSOR(ip, END_CURSOROPT); in ite_putstr()
1291 iteprecheckwrap(struct ite_softc *ip) in iteprecheckwrap() argument
1293 if (ip->auto_wrap && ip->curx == ip->cols) { in iteprecheckwrap()
1294 ip->curx = 0; in iteprecheckwrap()
1295 clr_attr(ip, ATTR_INV); in iteprecheckwrap()
1296 if (++ip->cury >= ip->bottom_margin + 1) { in iteprecheckwrap()
1297 ip->cury = ip->bottom_margin; in iteprecheckwrap()
1298 SUBR_CURSOR(ip, MOVE_CURSOR); in iteprecheckwrap()
1299 SUBR_SCROLL(ip, ip->top_margin + 1, 0, 1, SCROLL_UP); in iteprecheckwrap()
1300 ite_clrtoeol(ip); in iteprecheckwrap()
1302 SUBR_CURSOR(ip, MOVE_CURSOR); in iteprecheckwrap()
1307 itecheckwrap(struct ite_softc *ip) in itecheckwrap() argument
1310 if (++ip->curx == ip->cols) { in itecheckwrap()
1311 if (ip->auto_wrap) { in itecheckwrap()
1312 ip->curx = 0; in itecheckwrap()
1313 clr_attr(ip, ATTR_INV); in itecheckwrap()
1314 if (++ip->cury >= ip->bottom_margin + 1) { in itecheckwrap()
1315 ip->cury = ip->bottom_margin; in itecheckwrap()
1316 SUBR_CURSOR(ip, MOVE_CURSOR); in itecheckwrap()
1317 SUBR_SCROLL(ip, ip->top_margin + 1, 0, 1, SCROLL_UP); in itecheckwrap()
1318 ite_clrtoeol(ip); in itecheckwrap()
1323 ip->curx--; in itecheckwrap()
1326 if (ip->curx < ip->cols) { in itecheckwrap()
1327 ip->curx++; in itecheckwrap()
1328 SUBR_CURSOR(ip, MOVE_CURSOR); in itecheckwrap()
1334 iteputchar(register int c, struct ite_softc *ip) in iteputchar() argument
1345 if (ip->escape) { in iteputchar()
1346 switch (ip->escape) { in iteputchar()
1355 ip->escape = 0; in iteputchar()
1363 ip->escape = 0; in iteputchar()
1367 ip->escape = 0; in iteputchar()
1371 ip->escape = 0; in iteputchar()
1375 ip->escape = 0; in iteputchar()
1379 ip->escape = 0; in iteputchar()
1383 ip->escape = 0; in iteputchar()
1387 ip->escape = 0; in iteputchar()
1391 ip->escape = 0; in iteputchar()
1395 ip->escape = 0; in iteputchar()
1399 ip->escape = 0; in iteputchar()
1403 ip->escape = 0; in iteputchar()
1408 ip->escape = ' '; in iteputchar()
1416 ip->escape = c; in iteputchar()
1445 ip->escape = 0; in iteputchar()
1453 ip->GR = ip->G1; in iteputchar()
1454 ip->escape = 0; in iteputchar()
1457 ip->GL = ip->G2; in iteputchar()
1458 ip->escape = 0; in iteputchar()
1461 ip->GR = ip->G2; in iteputchar()
1462 ip->escape = 0; in iteputchar()
1465 ip->GL = ip->G3; in iteputchar()
1466 ip->escape = 0; in iteputchar()
1469 ip->GR = ip->G3; in iteputchar()
1470 ip->escape = 0; in iteputchar()
1474 ip->escape = '#'; in iteputchar()
1478 ite_reset(ip); in iteputchar()
1479 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1480 ip->escape = 0; in iteputchar()
1483 ip->save_curx = ip->curx; in iteputchar()
1484 ip->save_cury = ip->cury; in iteputchar()
1485 ip->save_attribute = ip->attribute; in iteputchar()
1486 ip->escape = 0; in iteputchar()
1489 ip->curx = ip->save_curx; in iteputchar()
1490 ip->cury = ip->save_cury; in iteputchar()
1491 ip->attribute = ip->save_attribute; in iteputchar()
1492 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1493 ip->escape = 0; in iteputchar()
1496 ip->keypad_appmode = 1; in iteputchar()
1497 ip->escape = 0; in iteputchar()
1500 ip->keypad_appmode = 0; in iteputchar()
1501 ip->escape = 0; in iteputchar()
1505 if (ip->emul_level == EMUL_VT100) in iteputchar()
1509 ip->escape = 0; in iteputchar()
1516 ip->escape = 0; in iteputchar()
1522 ip->escape = 0; in iteputchar()
1527 ip->eightbit_C1 = 0; in iteputchar()
1528 ip->escape = 0; in iteputchar()
1531 ip->eightbit_C1 = 1; in iteputchar()
1532 ip->escape = 0; in iteputchar()
1536 ip->escape = 0; in iteputchar()
1544 ip->escape = 0; in iteputchar()
1548 ip->escape = 0; in iteputchar()
1552 ip->escape = 0; in iteputchar()
1556 ip->escape = 0; in iteputchar()
1560 alignment_display(ip); in iteputchar()
1561 ip->escape = 0; in iteputchar()
1564 ip->escape = 0; in iteputchar()
1585 if (ip->ap < ip->argbuf + MAX_ARGSIZE) in iteputchar()
1586 *ip->ap++ = c; in iteputchar()
1595 if (--ip->curx < 0) in iteputchar()
1596 ip->curx = 0; in iteputchar()
1598 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1601 *ip->ap = 0; in iteputchar()
1602 if (!strncmp(ip->argbuf, "61\"", 3)) in iteputchar()
1603 ip->emul_level = EMUL_VT100; in iteputchar()
1604 else if (!strncmp(ip->argbuf, "63;1\"", 5) in iteputchar()
1605 || !strncmp(ip->argbuf, "62;1\"", 5)) in iteputchar()
1606 ip->emul_level = EMUL_VT300_7; in iteputchar()
1608 ip->emul_level = EMUL_VT300_8; in iteputchar()
1609 ip->escape = 0; in iteputchar()
1612 *ip->ap = 0; in iteputchar()
1613 ip->escape = '?'; in iteputchar()
1614 ip->ap = ip->argbuf; in iteputchar()
1617 *ip->ap = 0; in iteputchar()
1618 if (ip->argbuf[0] == '>') { in iteputchar()
1621 switch (ite_zargnum(ip)) { in iteputchar()
1627 if (ip->emul_level in iteputchar()
1636 ip->escape = 0; in iteputchar()
1639 switch (ite_zargnum(ip)) { in iteputchar()
1646 snprintf(ip->argbuf, sizeof(ip->argbuf), in iteputchar()
1648 ip->cury + 1, ip->curx + 1); in iteputchar()
1649 ite_sendstr(ip->argbuf); in iteputchar()
1652 ip->escape = 0; in iteputchar()
1655 switch (ite_zargnum(ip)) { in iteputchar()
1664 ip->escape = 0; in iteputchar()
1667 switch (ite_zargnum(ip)) { in iteputchar()
1669 if (ip->curx < ip->cols) in iteputchar()
1670 ip->tabs[ip->curx] = 0; in iteputchar()
1673 for (n = 0; n < ip->cols; n++) in iteputchar()
1674 ip->tabs[n] = 0; in iteputchar()
1677 ip->escape = 0; in iteputchar()
1681 n = ite_zargnum(ip); in iteputchar()
1685 ip->imode = (c == 'h'); in iteputchar()
1688 ip->linefeed_newline = (c == 'h'); in iteputchar()
1691 ip->escape = 0; in iteputchar()
1694 ite_dnline(ip, ite_argnum(ip)); in iteputchar()
1695 ip->escape = 0; in iteputchar()
1698 ite_inline(ip, ite_argnum(ip)); in iteputchar()
1699 ip->escape = 0; in iteputchar()
1702 ite_dnchar(ip, ite_argnum(ip)); in iteputchar()
1703 ip->escape = 0; in iteputchar()
1706 ite_inchar(ip, ite_argnum(ip)); in iteputchar()
1707 ip->escape = 0; in iteputchar()
1716 *ip->ap = 0; in iteputchar()
1717 x = atoi(ip->argbuf); in iteputchar()
1720 ip->curx = uimin(x, ip->cols - 1); in iteputchar()
1721 ip->escape = 0; in iteputchar()
1722 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1723 clr_attr(ip, ATTR_INV); in iteputchar()
1731 *ip->ap = 0; in iteputchar()
1732 y = atoi(ip->argbuf); in iteputchar()
1735 if (ip->inside_margins) in iteputchar()
1736 y += ip->top_margin; in iteputchar()
1737 ip->cury = uimin(y, ip->rows - 1); in iteputchar()
1738 ip->escape = 0; in iteputchar()
1739 snap_cury(ip); in iteputchar()
1740 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1741 clr_attr(ip, ATTR_INV); in iteputchar()
1745 *ip->ap = 0; in iteputchar()
1746 y = atoi(ip->argbuf); in iteputchar()
1748 cp = strchr(ip->argbuf, ';'); in iteputchar()
1755 if (ip->inside_margins) in iteputchar()
1756 y += ip->top_margin; in iteputchar()
1757 ip->cury = uimin(y, ip->rows - 1); in iteputchar()
1758 ip->curx = uimin(x, ip->cols - 1); in iteputchar()
1759 ip->escape = 0; in iteputchar()
1760 snap_cury(ip); in iteputchar()
1761 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1762 clr_attr(ip, ATTR_INV); in iteputchar()
1765 n = ite_argnum(ip); in iteputchar()
1766 n = ip->cury - (n ? n : 1); in iteputchar()
1769 if (ip->inside_margins) in iteputchar()
1770 n = uimax(ip->top_margin, n); in iteputchar()
1771 else if (n == ip->top_margin - 1) in iteputchar()
1777 n = ip->top_margin; in iteputchar()
1778 ip->cury = n; in iteputchar()
1779 ip->escape = 0; in iteputchar()
1780 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1781 clr_attr(ip, ATTR_INV); in iteputchar()
1784 n = ite_argnum(ip); in iteputchar()
1785 n = ip->cury + (n ? n : 1); in iteputchar()
1786 n = uimin(ip->rows - 1, n); in iteputchar()
1787 if (ip->inside_margins) in iteputchar()
1788 n = uimin(ip->bottom_margin, n); in iteputchar()
1789 else if (n == ip->bottom_margin + 1) in iteputchar()
1795 n = ip->bottom_margin; in iteputchar()
1796 ip->cury = n; in iteputchar()
1797 ip->escape = 0; in iteputchar()
1798 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1799 clr_attr(ip, ATTR_INV); in iteputchar()
1802 n = ite_argnum(ip); in iteputchar()
1804 ip->curx = uimin(ip->curx + n, ip->cols - 1); in iteputchar()
1805 ip->escape = 0; in iteputchar()
1806 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1807 clr_attr(ip, ATTR_INV); in iteputchar()
1810 n = ite_argnum(ip); in iteputchar()
1812 n = ip->curx - n; in iteputchar()
1813 ip->curx = n >= 0 ? n : 0; in iteputchar()
1814 ip->escape = 0; in iteputchar()
1815 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1816 clr_attr(ip, ATTR_INV); in iteputchar()
1819 *ip->ap = 0; in iteputchar()
1820 n = ite_zargnum(ip); in iteputchar()
1822 ite_clrtoeos(ip); in iteputchar()
1824 ite_clrtobos(ip); in iteputchar()
1826 ite_clrscreen(ip); in iteputchar()
1827 ip->escape = 0; in iteputchar()
1830 n = ite_zargnum(ip); in iteputchar()
1832 ite_clrtoeol(ip); in iteputchar()
1834 ite_clrtobol(ip); in iteputchar()
1836 ite_clrline(ip); in iteputchar()
1837 ip->escape = 0; in iteputchar()
1840 n = ite_argnum(ip) - 1; in iteputchar()
1841 n = uimin(n, ip->cols - 1 - ip->curx); in iteputchar()
1843 attrclr(ip, ip->cury, ip->curx + n, 1, 1); in iteputchar()
1844 SUBR_PUTC(ip, ' ', ip->cury, ip->curx + n, ATTR_NOR); in iteputchar()
1846 ip->escape = 0; in iteputchar()
1851 ip->escape = 0; in iteputchar()
1854 *ip->ap = 0; in iteputchar()
1855 x = atoi(ip->argbuf); in iteputchar()
1857 y = ip->rows; in iteputchar()
1858 cp = strchr(ip->argbuf, ';'); in iteputchar()
1861 y = y ? y : ip->rows; in iteputchar()
1869 y = ip->rows; in iteputchar()
1873 ip->top_margin = uimin(x, ip->rows - 1); in iteputchar()
1874 ip->bottom_margin = uimin(y, ip->rows - 1); in iteputchar()
1875 if (ip->inside_margins) { in iteputchar()
1876 ip->cury = ip->top_margin; in iteputchar()
1877 ip->curx = 0; in iteputchar()
1878 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
1880 ip->escape = 0; in iteputchar()
1885 *ip->ap = 0; in iteputchar()
1887 if (ip->ap == ip->argbuf) in iteputchar()
1888 ip->ap++; in iteputchar()
1889 for (_cp = ip->argbuf; _cp < ip->ap;) { in iteputchar()
1893 clr_attr(ip, ATTR_ALL); in iteputchar()
1898 set_attr(ip, ATTR_BOLD); in iteputchar()
1905 clr_attr(ip, ATTR_BOLD); in iteputchar()
1910 clr_attr(ip, ATTR_UL); in iteputchar()
1915 clr_attr(ip, ATTR_BLINK); in iteputchar()
1920 clr_attr(ip, ATTR_INV); in iteputchar()
1931 set_attr(ip, ATTR_UL); in iteputchar()
1936 set_attr(ip, ATTR_BLINK); in iteputchar()
1941 set_attr(ip, ATTR_INV); in iteputchar()
1950 ip->escape = 0; in iteputchar()
1955 ip->escape = 0; in iteputchar()
1958 ip->escape = 0; in iteputchar()
1982 if (ip->ap < ip->argbuf + MAX_ARGSIZE - 1) in iteputchar()
1983 *ip->ap++ = c; in iteputchar()
1986 *ip->ap = 0; in iteputchar()
1987 if (ip->ap == &ip->argbuf[2]) { in iteputchar()
1988 if (!strncmp(ip->argbuf, "15", 2)) in iteputchar()
1992 else if (!strncmp(ip->argbuf, "25", 2)) in iteputchar()
1996 else if (!strncmp(ip->argbuf, "26", 2)) in iteputchar()
2000 ip->escape = 0; in iteputchar()
2004 n = ite_zargnum(ip); in iteputchar()
2007 ip->cursor_appmode = (c == 'h'); in iteputchar()
2021 ip->inside_margins = (c == 'h'); in iteputchar()
2022 ip->curx = 0; in iteputchar()
2023 ip->cury = ip->inside_margins ? in iteputchar()
2024 ip->top_margin : 0; in iteputchar()
2025 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
2028 ip->auto_wrap = (c == 'h'); in iteputchar()
2031 ip->key_repeat = (c == 'h'); in iteputchar()
2034 ip->linefeed_newline = (c == 'h'); in iteputchar()
2037 SUBR_CURSOR(ip, (c == 'h') ? in iteputchar()
2041 ip->escape = 0; in iteputchar()
2044 ip->escape = 0; in iteputchar()
2049 ip->escape = 0; in iteputchar()
2060 if (ip->linefeed_newline) in iteputchar()
2061 ite_crlf(ip); in iteputchar()
2063 ite_lf(ip); in iteputchar()
2066 ite_cr(ip); in iteputchar()
2069 if (--ip->curx < 0) in iteputchar()
2070 ip->curx = 0; in iteputchar()
2072 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
2075 for (n = ip->curx + 1; n < ip->cols; n++) { in iteputchar()
2076 if (ip->tabs[n]) { in iteputchar()
2077 ip->curx = n; in iteputchar()
2078 SUBR_CURSOR(ip, MOVE_CURSOR); in iteputchar()
2092 ip->GL = ip->G1; in iteputchar()
2095 ip->GL = ip->G0; in iteputchar()
2101 ip->escape = 0; /* cancel any escape sequence in progress */ in iteputchar()
2104 ip->escape = 0; /* dito, but see below */ in iteputchar()
2108 ip->escape = ESC; in iteputchar()
2115 ite_lf(ip); in iteputchar()
2119 ite_crlf(ip); in iteputchar()
2123 if (ip->curx < ip->cols) in iteputchar()
2124 ip->tabs[ip->curx] = 1; in iteputchar()
2128 ite_rlf(ip); in iteputchar()
2139 ip->escape = DCS; in iteputchar()
2140 ip->ap = ip->argbuf; in iteputchar()
2144 ip->escape = CSI; in iteputchar()
2145 ip->ap = ip->argbuf; in iteputchar()
2156 ip->escape = OSC; in iteputchar()
2160 ip->escape = PM; in iteputchar()
2166 ip->escape = APC; in iteputchar()
2171 if (ip->imode) in iteputchar()
2172 ite_inchar(ip, 1); in iteputchar()
2173 iteprecheckwrap(ip); in iteputchar()
2175 if ((ip->attribute & ATTR_INV) || attrtest(ip, ATTR_INV)) { in iteputchar()
2176 attrset(ip, ATTR_INV); in iteputchar()
2177 SUBR_PUTC(ip, c, ip->cury, ip->curx, ATTR_INV); in iteputchar()
2179 SUBR_PUTC(ip, c, ip->cury, ip->curx, ATTR_NOR); in iteputchar()
2181 SUBR_PUTC(ip, c, ip->cury, ip->curx, ip->attribute); in iteputchar()
2183 SUBR_CURSOR(ip, DRAW_CURSOR); in iteputchar()
2184 itecheckwrap(ip); in iteputchar()