1*d5c9a868SElliott Hughes #ifndef MTOOLS_PLAINIO_H 2*d5c9a868SElliott Hughes #define MTOOLS_PLAINIO_H 3*d5c9a868SElliott Hughes 4*d5c9a868SElliott Hughes /* Copyright 1996,1997,1999,2001,2002,2009 Alain Knaff. 5*d5c9a868SElliott Hughes * This file is part of mtools. 6*d5c9a868SElliott Hughes * 7*d5c9a868SElliott Hughes * Mtools is free software: you can redistribute it and/or modify 8*d5c9a868SElliott Hughes * it under the terms of the GNU General Public License as published by 9*d5c9a868SElliott Hughes * the Free Software Foundation, either version 3 of the License, or 10*d5c9a868SElliott Hughes * (at your option) any later version. 11*d5c9a868SElliott Hughes * 12*d5c9a868SElliott Hughes * Mtools is distributed in the hope that it will be useful, 13*d5c9a868SElliott Hughes * but WITHOUT ANY WARRANTY; without even the implied warranty of 14*d5c9a868SElliott Hughes * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*d5c9a868SElliott Hughes * GNU General Public License for more details. 16*d5c9a868SElliott Hughes * 17*d5c9a868SElliott Hughes * You should have received a copy of the GNU General Public License 18*d5c9a868SElliott Hughes * along with Mtools. If not, see <http://www.gnu.org/licenses/>. 19*d5c9a868SElliott Hughes */ 20*d5c9a868SElliott Hughes 21*d5c9a868SElliott Hughes #include "stream.h" 22*d5c9a868SElliott Hughes #include "msdos.h" 23*d5c9a868SElliott Hughes #ifdef __EMX__ 24*d5c9a868SElliott Hughes #include <io.h> 25*d5c9a868SElliott Hughes #endif 26*d5c9a868SElliott Hughes 27*d5c9a868SElliott Hughes 28*d5c9a868SElliott Hughes Stream_t *SimpleFileOpen(struct device *dev, struct device *orig_dev, 29*d5c9a868SElliott Hughes const char *name, int mode, char *errmsg, int mode2, 30*d5c9a868SElliott Hughes int locked, mt_off_t *maxSize); 31*d5c9a868SElliott Hughes Stream_t *SimpleFileOpenWithLm(struct device *dev, struct device *orig_dev, 32*d5c9a868SElliott Hughes const char *name, int mode, char *errmsg, 33*d5c9a868SElliott Hughes int mode2, int locked, int lockMode, 34*d5c9a868SElliott Hughes mt_off_t *maxSize, int *geomFailure); 35*d5c9a868SElliott Hughes int check_parameters(struct device *ref, struct device *testee); 36*d5c9a868SElliott Hughes 37*d5c9a868SElliott Hughes int get_fd(Stream_t *Stream); 38*d5c9a868SElliott Hughes void *get_extra_data(Stream_t *Stream); 39*d5c9a868SElliott Hughes 40*d5c9a868SElliott Hughes int LockDevice(int fd, struct device *dev, 41*d5c9a868SElliott Hughes int locked, int lockMode, 42*d5c9a868SElliott Hughes char *errmsg); 43*d5c9a868SElliott Hughes #endif 44