xref: /onnv-gate/usr/src/lib/libntfs/common/include/ntfs/device_io.h (revision 9663:ace9a2ac3683)
1*9663SMark.Logan@Sun.COM /*
2*9663SMark.Logan@Sun.COM  * device_io.h - Exports for default device io. Part of the Linux-NTFS project.
3*9663SMark.Logan@Sun.COM  *
4*9663SMark.Logan@Sun.COM  * Copyright (c) 2000-2006 Anton Altaparmakov
5*9663SMark.Logan@Sun.COM  *
6*9663SMark.Logan@Sun.COM  * This program/include file is free software; you can redistribute it and/or
7*9663SMark.Logan@Sun.COM  * modify it under the terms of the GNU General Public License as published
8*9663SMark.Logan@Sun.COM  * by the Free Software Foundation; either version 2 of the License, or
9*9663SMark.Logan@Sun.COM  * (at your option) any later version.
10*9663SMark.Logan@Sun.COM  *
11*9663SMark.Logan@Sun.COM  * This program/include file is distributed in the hope that it will be
12*9663SMark.Logan@Sun.COM  * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
13*9663SMark.Logan@Sun.COM  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*9663SMark.Logan@Sun.COM  * GNU General Public License for more details.
15*9663SMark.Logan@Sun.COM  *
16*9663SMark.Logan@Sun.COM  * You should have received a copy of the GNU General Public License
17*9663SMark.Logan@Sun.COM  * along with this program (in the main directory of the Linux-NTFS
18*9663SMark.Logan@Sun.COM  * distribution in the file COPYING); if not, write to the Free Software
19*9663SMark.Logan@Sun.COM  * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20*9663SMark.Logan@Sun.COM  */
21*9663SMark.Logan@Sun.COM 
22*9663SMark.Logan@Sun.COM #ifndef _NTFS_DEVICE_IO_H
23*9663SMark.Logan@Sun.COM #define _NTFS_DEVICE_IO_H
24*9663SMark.Logan@Sun.COM 
25*9663SMark.Logan@Sun.COM #ifdef HAVE_CONFIG_H
26*9663SMark.Logan@Sun.COM #include "config.h"
27*9663SMark.Logan@Sun.COM #endif
28*9663SMark.Logan@Sun.COM 
29*9663SMark.Logan@Sun.COM #ifndef NO_NTFS_DEVICE_DEFAULT_IO_OPS
30*9663SMark.Logan@Sun.COM 
31*9663SMark.Logan@Sun.COM #ifndef __CYGWIN32__
32*9663SMark.Logan@Sun.COM 
33*9663SMark.Logan@Sun.COM /* Not on Cygwin; use standard Unix style low level device operations. */
34*9663SMark.Logan@Sun.COM #define ntfs_device_default_io_ops ntfs_device_unix_io_ops
35*9663SMark.Logan@Sun.COM 
36*9663SMark.Logan@Sun.COM #else /* __CYGWIN32__ */
37*9663SMark.Logan@Sun.COM 
38*9663SMark.Logan@Sun.COM #ifndef HDIO_GETGEO
39*9663SMark.Logan@Sun.COM #	define HDIO_GETGEO	0x301
40*9663SMark.Logan@Sun.COM /**
41*9663SMark.Logan@Sun.COM  * struct hd_geometry -
42*9663SMark.Logan@Sun.COM  */
43*9663SMark.Logan@Sun.COM struct hd_geometry {
44*9663SMark.Logan@Sun.COM 	unsigned char heads;
45*9663SMark.Logan@Sun.COM 	unsigned char sectors;
46*9663SMark.Logan@Sun.COM 	unsigned short cylinders;
47*9663SMark.Logan@Sun.COM 	unsigned long start;
48*9663SMark.Logan@Sun.COM };
49*9663SMark.Logan@Sun.COM #endif
50*9663SMark.Logan@Sun.COM #ifndef BLKGETSIZE
51*9663SMark.Logan@Sun.COM #	define BLKGETSIZE	0x1260
52*9663SMark.Logan@Sun.COM #endif
53*9663SMark.Logan@Sun.COM #ifndef BLKSSZGET
54*9663SMark.Logan@Sun.COM #	define BLKSSZGET	0x1268
55*9663SMark.Logan@Sun.COM #endif
56*9663SMark.Logan@Sun.COM #ifndef BLKGETSIZE64
57*9663SMark.Logan@Sun.COM #	define BLKGETSIZE64	0x80041272
58*9663SMark.Logan@Sun.COM #endif
59*9663SMark.Logan@Sun.COM #ifndef BLKBSZSET
60*9663SMark.Logan@Sun.COM #	define BLKBSZSET	0x40041271
61*9663SMark.Logan@Sun.COM #endif
62*9663SMark.Logan@Sun.COM 
63*9663SMark.Logan@Sun.COM /* On Cygwin; use Win32 low level device operations. */
64*9663SMark.Logan@Sun.COM #define ntfs_device_default_io_ops ntfs_device_win32_io_ops
65*9663SMark.Logan@Sun.COM 
66*9663SMark.Logan@Sun.COM #endif /* __CYGWIN32__ */
67*9663SMark.Logan@Sun.COM 
68*9663SMark.Logan@Sun.COM 
69*9663SMark.Logan@Sun.COM /* Forward declaration. */
70*9663SMark.Logan@Sun.COM struct ntfs_device_operations;
71*9663SMark.Logan@Sun.COM 
72*9663SMark.Logan@Sun.COM extern struct ntfs_device_operations ntfs_device_default_io_ops;
73*9663SMark.Logan@Sun.COM 
74*9663SMark.Logan@Sun.COM #endif /* NO_NTFS_DEVICE_DEFAULT_IO_OPS */
75*9663SMark.Logan@Sun.COM 
76*9663SMark.Logan@Sun.COM #endif /* defined _NTFS_DEVICE_IO_H */
77*9663SMark.Logan@Sun.COM 
78