| plan 9 kernel history: overview | file list | diff list |
1991/1223/port/devcons.c (diff list | history)
| 1991/1220/sys/src/9/port/devcons.c:209,223 – 1991/1223/sys/src/9/port/devcons.c:209,222 (short | long | prev | next) | ||
| 1990/0227 | } void | |
| 1991/1223 | echo(Rune r, char *buf, int n) | |
| 1990/0227 | { | |
| 1991/0607 | static int ctrlt; | |
| 1990/03091 | ||
| 1990/0227 | /* | |
| 1991/0607 | * ^p hack | |
| 1990/0227 | */ | |
| 1991/0608 |
| |
| 1991/1223 | if(r==0x10 && conf.cntrlp) | |
| 1991/0327 | panic("^p"); | |
| 1991/0608 | ||
| 1991/0607 | /* | |
| 1991/1220/sys/src/9/port/devcons.c:225,231 – 1991/1223/sys/src/9/port/devcons.c:224,230 | ||
| 1991/0607 | */ if(ctrlt == 2){ ctrlt = 0; | |
| 1991/1223 | switch(r){ | |
| 1991/0607 | case 0x14: break; /* pass it on */ case 'm': | |
| 1991/1220/sys/src/9/port/devcons.c:241,247 – 1991/1223/sys/src/9/port/devcons.c:240,246 | ||
| 1991/0607 | exit(); break; } | |
| 1991/1223 | }else if(r == 0x14){ | |
| 1991/0607 | ctrlt++; return; } | |
| 1991/1220/sys/src/9/port/devcons.c:248,259 – 1991/1223/sys/src/9/port/devcons.c:247,256 | ||
| 1991/0607 | ctrlt = 0; if(raw.ref) return; | |
| 1990/0227 |
| |
| 1991/1223 | if(r == 0x15) | |
| 1990/0227 | putstrn("^U\n", 3); | |
| 1991/1223 | else putstrn(buf, n); | |
| 1990/0227 | } /* | |
| 1991/1220/sys/src/9/port/devcons.c:268,286 – 1991/1223/sys/src/9/port/devcons.c:265,293 | ||
| 1991/0727 | } /* | |
| 1991/1206 |
| |
| 1991/1223 | * Put character, possibly a rune, into read queue at interrupt time. | |
| 1991/1206 | * Always called splhi from processor 0. | |
| 1990/0227 | */ | |
| 1991/0607 | int kbdputc(IOQ *q, int ch) | |
| 1990/0227 | { | |
| 1991/1223 | int i, n; char buf[3]; Rune r; | |
| 1991/1115 | USED(q); | |
| 1991/0607 |
| |
| 1990/0227 |
| |
| 1991/0607 |
| |
| 1991/1223 | r = ch; n = runetochar(buf, &r); if(n == 0) return 0; echo(r, buf, n); kbdq.c = r; for(i=0; i<n; i++){ *kbdq.in++ = buf[i]; if(kbdq.in == kbdq.buf+sizeof(kbdq.buf)) kbdq.in = kbdq.buf; } if(raw.ref || r=='\n' || r==0x04) | |
| 1990/0227 | wakeup(&kbdq.r); | |
| 1991/0607 | return 0; | |
| 1990/0227 | } | |