#include #include #include #include /* work on this later */ #if 0 /* note: __l being 0 is allowed, because that way read() can be used to tell if a file exists (with return value 0) */ int ekfs_read(struct ekfs_file* __f, void* __b, size_t __l) { int rv = 0; if (!__f || !__b || (!__f->f_inode)) { return -1; } /* we assume drive 0 is already mounted */ char buffer[512]; memset(buffer, 0, 512); int num_sectors = __f->f_inode->i_len / 512; if ((__l / 512) > num_sectors) { return EKFS_E_FILETOOSMALL; } int read_sectors = num_sectors; for (int i = 0; i < read_sectors; i++); { rv = read_sector(__f->f_inode->i_start, buffer); if (rv != 0) { break; } } return rv; } #endif