Ignore:
Timestamp:
Jun 7, 2011, 5:31:33 PM (14 years ago)
Author:
Markus Thielen
Message:

changed readsect; buffer size can now be set on the command line

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lbatest/readsect.c

    r104 r105  
    4040
    4141#define SECTOR_SIZE        512
    42 #define SECTORS_PER_READ   200
     42#define SECTORS_PER_READ   4
    4343
    4444
     
    5353
    5454/*--- global data -----------------------------------------------------------*/
     55
     56unsigned long sectors_per_read = SECTORS_PER_READ;
    5557
    5658
     
    98100    }
    99101  }
     102
     103  if (argc > 4) {
     104    sectors_per_read = (unsigned long) atoi(argv[4]);
     105    if (sectors_per_read == 0) {
     106      sectors_per_read = SECTORS_PER_READ;
     107    }
     108  }
     109
     110  printf("\nreadsect started; using %d sectors per read\n",
     111         (int) sectors_per_read);
    100112
    101113  /* go */
     
    124136  unsigned long sectors_read = 0;
    125137
    126   buf = calloc(SECTOR_SIZE, SECTORS_PER_READ);
     138  buf = calloc(SECTOR_SIZE, sectors_per_read);
    127139
    128140  /* open drive */
     
    141153  while (sectors_read < sectors_to_read) {
    142154
    143     sectors_take = min(sectors_to_read - sectors_read, SECTORS_PER_READ);
     155    sectors_take = min(sectors_to_read - sectors_read, sectors_per_read);
    144156    cb_take = SECTOR_SIZE * sectors_take;
    145157
     
    187199         "physical drive)\n\n"
    188200         "Usage:\n\n"
    189          "lbatest <drive letter|drive number> <number of sectors to read> "
    190          "<output file>\n\n");
     201         "lbatest <drive letter|number> <number of sectors> <outfile> [buffer size]\n\n"
     202         "where:\n"
     203         "drive letter         drive letter of logical drive to read from\n"
     204         "drive number         1-based physical disk number to read from\n"
     205         "number of sectors    number of sectors to read (e.g. 1024)\n"
     206         "outfile              path and filename of output file\n"
     207         "buffer size          buffer size in number of sectors (512 byte)\n"
     208         "                      (default is %d sectors)\n",
     209         SECTORS_PER_READ);
    191210}
    192211
Note: See TracChangeset for help on using the changeset viewer.