Lines Matching refs:ichar
40 static int cli_ch_esc(struct cli_ch_state *cch, int ichar, in cli_ch_esc() argument
47 if (ichar == '[' || ichar == 'O') in cli_ch_esc()
51 switch (ichar) { in cli_ch_esc()
53 ichar = CTL_CH('b'); in cli_ch_esc()
57 ichar = CTL_CH('f'); in cli_ch_esc()
61 ichar = CTL_CH('a'); in cli_ch_esc()
65 ichar = CTL_CH('e'); in cli_ch_esc()
69 ichar = CTL_CH('p'); in cli_ch_esc()
73 ichar = CTL_CH('n'); in cli_ch_esc()
90 switch (ichar) { in cli_ch_esc()
94 ichar = CTL_CH('d'); in cli_ch_esc()
99 ichar = CTL_CH('a'); in cli_ch_esc()
104 ichar = CTL_CH('e'); in cli_ch_esc()
116 switch (ichar) { in cli_ch_esc()
124 if (ichar == '~') { /* bracketed paste */ in cli_ch_esc()
125 ichar = 0; in cli_ch_esc()
132 return ichar; in cli_ch_esc()
135 int cli_ch_process(struct cli_ch_state *cch, int ichar) in cli_ch_process() argument
142 if (!ichar) { in cli_ch_process()
151 } else if (ichar == -ETIMEDOUT) { in cli_ch_process()
166 if (ichar == '\n' || ichar == '\r') in cli_ch_process()
173 ichar = cli_ch_esc(cch, ichar, &act); in cli_ch_process()
178 cch->esc_save[cch->esc_len++] = ichar; in cli_ch_process()
179 ichar = 0; in cli_ch_process()
186 cch->esc_save[cch->esc_len++] = ichar; in cli_ch_process()
187 ichar = cch->esc_save[cch->emit_upto++]; in cli_ch_process()
189 return ichar; in cli_ch_process()
197 if (ichar == '\e') { in cli_ch_process()
199 cch->esc_save[cch->esc_len] = ichar; in cli_ch_process()
208 return ichar; in cli_ch_process()