Exemple #1
0
int main(void)
{
  char buf[BUFLEN];
  int got, i, lib_console_dev, ldev;

  /* Determine the SAPC's "console" device, the serial port for user i/o */
  lib_console_dev = sys_get_console_dev();  /* SAPC support lib fn */
  switch(lib_console_dev) {
  case COM1: ldev = TTY0;	/* convert to our dev #'s */
    break;
  case COM2: ldev = TTY1;
    break;
  default: printf("Unknown console device\n");
    return 1;
  }
  kprintf("Running with device TTY%d\n",ldev);
  /* Now have a usable device to talk to with i/o package-- */

  
  kprintf("\nTrying system call write(4 chars)...\n");
  got = write(ldev,"hi!\n",4);
  kprintf("write of 4 returned %d\n",got);
  
  kprintf("Trying longer system call write (9 chars)\n");
  got = write(ldev, "abcdefghi", 9);
  kprintf("write of 9 returned %d\n",got);
  

  for (i = 0; i < BUFLEN; i++)
      buf[i] = 'A'+ i/2;
  kprintf("\nTrying write of %d-char string...\n", BUFLEN);
  got = write(ldev, buf, BUFLEN); /* will write 80 chars*/
  kprintf("\nwrite returned %d\n", got);
  

  kprintf("\nType 10 chars input to test typeahead while looping for delay...\n");
  
  got = read(ldev, buf, 10); /* will read 10 chars*/	
  kprintf("\nGot %d chars into buf. Trying write of buf...\n", got);
  write(ldev, buf, got);

  kprintf("\nTrying another 10 chars read right away...\n");
  got = read(ldev, buf, 10);	/* will wait for input */
  kprintf("\nGot %d chars on second read\n",got);
  
  if (got == 0) 
      kprintf("nothing in buffer\n");
  else 
      write(ldev, buf, got);	/* will write 10 chars*/

  kprintf("\n\nNow turning echo off--\n");
  
  kprintf("\nType 20 chars input, note lack of echoes...\n");
  got = read(ldev, buf, 20);
  kprintf("\nTrying write of buf...\n");
  write(ldev, buf, got);
  kprintf("\nAsked for 20 characters; got %d\n", got);
  return 0;
}
Exemple #2
0
int main(void)
{
  char buf[BUFLEN];
  int got, lib_console_dev, ldev;

  /* Determine the SAPC's "console" device, the serial port for user i/o */
  lib_console_dev = sys_get_console_dev();  /* SAPC support lib fn */
  switch(lib_console_dev) {
  case COM1: ldev = TTY0;	/* convert to our dev #'s */
    break;
  case COM2: ldev = TTY1;
    break;
  default: printf("Unknown console device\n");
    return 1;
  }
  kprintf("Running with device TTY%d\n",ldev);
  /* Now have a usable device to talk to with i/o package-- */

  kprintf("\nTrying simple write(4 chars)...\n");
  got = write(ldev,"hi!\n",4);
  kprintf("write of 4 returned %d\n",got);
  delay();  /* time for output to finish, once write-behind is working */

  kprintf("Trying longer write (9 chars)\n");
  got = write(ldev, "abcdefghi", 9);
  kprintf("write of 9 returned %d\n",got);
  delay();  /* time for output to finish, once write-behind is working */

  kprintf("\nType 10 chars input to test typeahead while looping for delay...\n");
  delay();
  got = read(ldev, buf, 10);	/* should wait for all 10 chars, once fixed */
  kprintf("\nGot %d chars into buf. Trying write of buf...\n", got);
  write(ldev, buf, got);
  delay();

  exit(1);
  kprintf("this is after exit");

}