input             183 console.c      } input;
input             192 console.c        acquire(&input.lock);
input             199 console.c            while(input.e != input.w &&
input             200 console.c                  input.buf[(input.e-1) % INPUT_BUF] != '\n'){
input             201 console.c              input.e--;
input             206 console.c            if(input.e != input.w){
input             207 console.c              input.e--;
input             212 console.c            if(c != 0 && input.e-input.r < INPUT_BUF){
input             214 console.c              input.buf[input.e++ % INPUT_BUF] = c;
input             216 console.c              if(c == '\n' || c == C('D') || input.e == input.r+INPUT_BUF){
input             217 console.c                input.w = input.e;
input             218 console.c                wakeup(&input.r);
input             224 console.c        release(&input.lock);
input             235 console.c        acquire(&input.lock);
input             237 console.c          while(input.r == input.w){
input             239 console.c              release(&input.lock);
input             243 console.c            sleep(&input.r, &input.lock);
input             245 console.c          c = input.buf[input.r++ % INPUT_BUF];
input             250 console.c              input.r--;
input             259 console.c        release(&input.lock);
input             284 console.c        initlock(&input.lock, "input");