blob: ab4f3f20685720ec9e0a5d79c5ada8168a41ac80 [file] [log] [blame]
Alistair Delvabeaee832021-02-24 11:27:23 -08001#ifndef MTOOLS_PLAINIO_H
2#define MTOOLS_PLAINIO_H
3
4/* Copyright 1996,1997,1999,2001,2002,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#include "msdos.h"
23#ifdef __EMX__
24#include <io.h>
25#endif
26
Alistair Delvabeaee832021-02-24 11:27:23 -080027
28Stream_t *SimpleFileOpen(struct device *dev, struct device *orig_dev,
29 const char *name, int mode, char *errmsg, int mode2,
Yi Kong39bbd962022-01-09 19:41:38 +080030 int locked, mt_off_t *maxSize);
31Stream_t *SimpleFileOpenWithLm(struct device *dev, struct device *orig_dev,
32 const char *name, int mode, char *errmsg,
33 int mode2, int locked, int lockMode,
34 mt_off_t *maxSize, int *geomFailure);
Alistair Delvabeaee832021-02-24 11:27:23 -080035int check_parameters(struct device *ref, struct device *testee);
36
37int get_fd(Stream_t *Stream);
38void *get_extra_data(Stream_t *Stream);
Yi Kong39bbd962022-01-09 19:41:38 +080039
40int LockDevice(int fd, struct device *dev,
41 int locked, int lockMode,
42 char *errmsg);
Alistair Delvabeaee832021-02-24 11:27:23 -080043#endif