/* * 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); }