Exemple #1
0
/*
 * RTEMS Startup Task
 */
rtems_task
Init (rtems_task_argument ignored)
{
  rtems_status_code rc;

  puts( "\n\n*** QEMU VFAT AND SHELL TEST ***" );

  rc = rtems_bdpart_register_from_disk("/dev/hda");
  if ( rc != RTEMS_SUCCESSFUL ) {
    fprintf( stderr, "Unable to initialize partition table from /dev/hda\n" );
    exit(1);
  }

  rc = rtems_fsmount(
    fs_table,
    sizeof(fs_table)/sizeof(fs_table[0]),
    NULL
  );
  if ( rc != RTEMS_SUCCESSFUL ) {
    fprintf( stderr, "Unable to mount /dev/hda1\n" );
    exit(1);
  }

#if defined(USE_SHELL)
  fileio_start_shell ();
#endif
#if defined(USE_START_TEST)
  chdir( MOUNT_POINT );
  start_test ();
#endif
  puts( "*** END OF QEMU VFAT AND SHELL TEST ***" );
  exit(0);
}
void fileio_menu (void)
{
  char inbuf[10];

  /*
   * Wait for characters from console terminal
   */
  for (;;) {
    printf(" =========================\n");
    printf(" RTEMS FILE I/O Test Menu \n");
    printf(" =========================\n");
    printf("   p -> part_table_initialize\n");
    printf("   f -> mount all disks in fs_table\n");
    printf("   l -> list  file\n");
    printf("   r -> read  file\n");
    printf("   w -> write file\n");
#ifdef USE_SHELL
    printf("   s -> start shell\n");
#endif
    printf("   Enter your selection ==>");
    fflush(stdout);

    inbuf[0] = '\0';
    fgets(inbuf,sizeof(inbuf),stdin);
    switch (inbuf[0]) {
    case 'l':
      fileio_list_file ();
      break;
    case 'r':
      fileio_read_file ();
      break;
    case 'w':
      fileio_write_file ();
      break;
    case 'p':
      fileio_part_table_initialize ();
      break;
    case 'f':
      fileio_fsmount ();
      break;
#ifdef USE_SHELL
    case 's':
      fileio_start_shell ();
      break;
#endif
    default:
      printf("Selection `%c` not implemented\n",inbuf[0]);
      break;
    }

  }
  exit (0);
}