Есть ли способ определить объем данных, передаваемых на устройство или с него. Я не спрашиваю о размере блока или сектора. Я хочу знать сумму, переданную операцией чтения / записи.
Например, если я хочу передать 1 блок размером 0x200 байт:
block = fread((void *)& Block, 0x200, 1, FILE * fp);
что произойдет, если я достигну конца файла, и будет прочитан только частичный блок, и как определить фактическое число байтов.
Я понимаю, что могу сделать наоборот, как в:
bytes = fread((void *)& Block, 1, 0x200, FILE * fp);
но что если я захочу прочитать несколько блоков ???
Есть ли функция ядра, такая как ioctl(dev, FNUM), которая будет возвращать фактическое количество байтов?
Большое спасибо, CB