1#ifndef MTOOLS_FS_H 2#define MTOOLS_FS_H 3 4/* Copyright 1996,1997,2001,2002,2007,2009 Alain Knaff. 5 * This file is part of mtools. 6 * 7 * Mtools is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * Mtools is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with Mtools. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 21#include "stream.h" 22 23 24typedef struct FsPublic_t { 25 Class_t *Class; 26 int refs; 27 Stream_t *Next; 28 Stream_t *Buffer; 29 30 int serialized; 31 unsigned long serial_number; 32 int cluster_size; 33 unsigned int sector_size; 34} FsPublic_t; 35 36Stream_t *fs_init(char drive, int mode, int *isRop); 37int fat_free(Stream_t *Dir, unsigned int fat); 38int fatFreeWithDir(Stream_t *Dir, struct directory *dir); 39int fat_error(Stream_t *Dir); 40int fat32RootCluster(Stream_t *Dir); 41char getDrive(Stream_t *Stream); 42 43#endif 44