1 /* $OpenBSD: linux_hdio.h,v 1.1 2001/04/09 06:53:45 tholo Exp $ */ 2 /* $NetBSD: linux_hdio.h,v 1.1 2000/12/10 14:12:17 fvdl Exp $ */ 3 4 /* 5 * Copyright (c) 2000 Wasabi Systems, Inc. 6 * All rights reserved. 7 * 8 * Written by Frank van der Linden for Wasabi Systems, Inc. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 3. All advertising materials mentioning features or use of this software 19 * must display the following acknowledgement: 20 * This product includes software developed for the NetBSD Project by 21 * Wasabi Systems, Inc. 22 * 4. The name of Wasabi Systems, Inc. may not be used to endorse 23 * or promote products derived from this software without specific prior 24 * written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 28 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 29 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC 30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 * POSSIBILITY OF SUCH DAMAGE. 37 */ 38 39 #ifndef _LINUX_HDIO_H 40 #define _LINUX_HDIO_H 41 42 /* 43 * Linux 'hd' (mostly really IDE disk) ioctl calls. 44 */ 45 46 #define LINUX_HDIO_GETGEO 0x0301 47 #define LINUX_HDIO_GETGEO_BIG 0x0330 48 #define LINUX_HDIO_GETGEO_BIG_RAW 0x0331 49 #define LINUX_HDIO_GET_UNMASKINTR 0x0302 50 #define LINUX_HDIO_GET_MULTCOUNT 0x0304 51 #define LINUX_HDIO_OBSOLETE_IDENTITY 0x0307 52 #define LINUX_HDIO_GET_KEEPSETTINGS 0x0308 53 #define LINUX_HDIO_GET_32BIT 0x0309 54 #define LINUX_HDIO_GET_NOWERR 0x030a 55 #define LINUX_HDIO_GET_DMA 0x030b 56 #define LINUX_HDIO_GET_NICE 0x030c 57 #define LINUX_HDIO_GET_IDENTITY 0x030d 58 59 #define LINUX_HDIO_DRIVE_RESET 0x031c 60 #define LINUX_HDIO_TRISTATE_HWIF 0x031d 61 #define LINUX_HDIO_DRIVE_TASK 0x031e 62 #define LINUX_HDIO_DRIVE_CMD 0x031f 63 64 #define LINUX_HDIO_SET_MULTCOUNT 0x0321 65 #define LINUX_HDIO_SET_UNMASKINTR 0x0322 66 #define LINUX_HDIO_SET_KEEPSETTINGS 0x0323 67 #define LINUX_HDIO_SET_32BIT 0x0324 68 #define LINUX_HDIO_SET_NOWERR 0x0325 69 #define LINUX_HDIO_SET_DMA 0x0326 70 #define LINUX_HDIO_SET_PIO_MODE 0x0327 71 #define LINUX_HDIO_SCAN_HWIF 0x0328 72 #define LINUX_HDIO_SET_NICE 0x0329 73 #define LINUX_HDIO_UNREGISTER_HWIF 0x032a 74 75 struct linux_hd_geometry { 76 u_char heads; 77 u_char sectors; 78 u_short cylinders; 79 u_long start; 80 }; 81 82 struct linux_hd_big_geometry { 83 u_char heads; 84 u_char sectors; 85 u_int cylinders; 86 u_long start; 87 }; 88 89 #endif /* _LINUX_HDIO_H */