Lines Matching refs:TT
55 if (TT.flags & UF_ECHO) {
56 if (TT.term_mode == CM_TRY) {
57 TT.term_mode = CM_ON;
59 if (TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.raw_term);
62 if (TT.term_mode != CM_OFF) {
63 TT.term_mode = CM_OFF;
65 if (TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.def_term);
73 int wlen = write(TT.sfd, TT.iac, TT.piac);
76 TT.piac = 0;
84 if(TT.piac + len >= IACBUFSIZE) flush_iac();
86 for(;len > 0; TT.iac[TT.piac++] = (uint8_t)va_arg(va, int), len--);
95 if(TT.piac + len + 1 >= IACBUFSIZE) flush_iac();
96 strcpy(&TT.iac[TT.piac], str);
97 TT.piac += len+1;
104 if(toys.signal && TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.raw_term);
112 if(TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.def_term);
119 TT.term_mode = CM_TRY;
120 TT.flags &= ~(UF_ECHO | UF_SGA);
129 TT.term_mode = CM_TRY;
130 TT.flags |= (UF_ECHO | UF_SGA);
138 if(TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.def_term);
140 if(TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.raw_term);
143 if(TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.def_term);
149 if (toys.signal && TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.def_term);
161 char opt = TT.buff[TT.pbuff++];
165 opt = TT.buff[TT.pbuff++];
168 str_iac(TT.ttype);
182 char opt = TT.buff[TT.pbuff++];
188 if (TT.flags & UF_ECHO) {
191 if (TT.term_mode != CM_OFF) TT.flags ^= UF_ECHO;
192 (TT.flags & UF_ECHO)? put_iac(3, IAC,DO,TELOPT_ECHO) :
199 if (TT.flags & UF_SGA){ if (ddww == WILL) return;
202 TT.flags ^= UF_SGA;
203 (TT.flags & UF_SGA)? put_iac(3, IAC,DO,TELOPT_SGA) :
208 (TT.ttype)? put_iac(3, IAC,WILL,TELOPT_TTYPE):
214 put_iac(9, IAC,SB,TELOPT_NAWS,(TT.win_width >> 8) & 0xff,
215 TT.win_width & 0xff,(TT.win_height >> 8) & 0xff,
216 TT.win_height & 0xff,IAC,SE);
234 TT.pbuff = 0;
237 curr = TT.buff[TT.pbuff++];
239 curr = TT.buff[TT.pbuff++];
256 if (curr == '\r') { curr = TT.buff[TT.pbuff++];
257 if (curr != '\0') TT.pbuff--;
260 } while (TT.pbuff < len);
272 char *c = (char*)TT.buff;
284 if(i) xwrite(TT.sfd, toybuf, i);
293 TT.win_width = 80; //columns
294 TT.win_height = 24; //rows
298 TT.ttype = getenv("TERM");
299 if(!TT.ttype) TT.ttype = "";
300 if(strlen(TT.ttype) > IACBUFSIZE-1) TT.ttype[IACBUFSIZE - 1] = '\0';
302 if (!tcgetattr(0, &TT.def_term)) {
303 TT.term_ok = 1;
304 TT.raw_term = TT.def_term;
305 cfmakeraw(&TT.raw_term);
307 terminal_size(&TT.win_width, &TT.win_height);
309 TT.sfd = xconnectany(xgetaddrinfo(*toys.optargs, port, 0, SOCK_STREAM,
311 setsockopt(TT.sfd, SOL_SOCKET, SO_REUSEADDR, &set, sizeof(set));
312 setsockopt(TT.sfd, SOL_SOCKET, SO_KEEPALIVE, &set, sizeof(set));
316 pfds[1].fd = TT.sfd;
321 if(TT.piac) flush_iac();
329 len = read(STDIN_FILENO, TT.buff, DATABUFSIZE);
334 len = read(TT.sfd, TT.buff, DATABUFSIZE);
338 if(TT.term_ok) tcsetattr(0, TCSADRAIN, &TT.def_term);