int fgetc(FILE *fd) { unsigned char ch; if (filedesc_read(fd, &ch, 1, 1) < 1) return EOF; return ch; }
size_t fread(void *buf, size_t eltsize, size_t count, FILE *fd) { ssize_t actual = filedesc_read(fd, buf, eltsize, count); return actual >= 0 ? actual : 0; // no error indication }
ssize_t read(int fn, void *buf, size_t nbytes) { return filedesc_read(&files->fd[fn], buf, 1, nbytes); }