cons               53 kernel/console.c } cons;
cons               91 kernel/console.c   acquire(&cons.lock);
cons               95 kernel/console.c     while(cons.r == cons.w){
cons               97 kernel/console.c         release(&cons.lock);
cons              100 kernel/console.c       sleep(&cons.r, &cons.lock);
cons              103 kernel/console.c     c = cons.buf[cons.r++ % INPUT_BUF_SIZE];
cons              109 kernel/console.c         cons.r--;
cons              128 kernel/console.c   release(&cons.lock);
cons              142 kernel/console.c   acquire(&cons.lock);
cons              149 kernel/console.c     while(cons.e != cons.w &&
cons              150 kernel/console.c           cons.buf[(cons.e-1) % INPUT_BUF_SIZE] != '\n'){
cons              151 kernel/console.c       cons.e--;
cons              157 kernel/console.c     if(cons.e != cons.w){
cons              158 kernel/console.c       cons.e--;
cons              163 kernel/console.c     if(c != 0 && cons.e-cons.r < INPUT_BUF_SIZE){
cons              170 kernel/console.c       cons.buf[cons.e++ % INPUT_BUF_SIZE] = c;
cons              172 kernel/console.c       if(c == '\n' || c == C('D') || cons.e-cons.r == INPUT_BUF_SIZE){
cons              175 kernel/console.c         cons.w = cons.e;
cons              176 kernel/console.c         wakeup(&cons.r);
cons              182 kernel/console.c   release(&cons.lock);
cons              188 kernel/console.c   initlock(&cons.lock, "cons");