unsigned _dos_read(int fd, void far *buf, unsigned count, unsigned *numread)
Эта функция не определена стандартом ANSI С.
Функция _dos_read() читает count байт из файла на диске, указанном файловым дескриптором fd. Чтение осуществляется в буфер, который указывается параметром buf. Число фактически прочитанных байт возвращается в параметре numread, и оно может быть меньше чем count в том случае, если конец файла достигается раньше, чем будет прочитано заданное количество байт. Файл должен быть открыт с помощью вызова функции _dos_creat(), _dos_open() или _dos_creatnew(). Фyнкция _dos_read() рассматривает все файлы как бинарные.
В случае успеха функция возвращает 0, и в случае ошибки возвращается ненулевое значение. В последнем случае переменная errno устанавливается в EACCESS (отказано в доступе) или EBADF (неверный дескриптор файла). Кроме того, при возникновении ошибки возвращаемая величина определена DOS и для того, чтобы узнать точный характер ошибки, необходимо познакомиться с технической документацией DOS.