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