X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..55e303ae13a4cf49d70f2294092726f2fffb9ef2:/bsd/dev/disk.h diff --git a/bsd/dev/disk.h b/bsd/dev/disk.h index ef8b7504e..61614fb00 100644 --- a/bsd/dev/disk.h +++ b/bsd/dev/disk.h @@ -1,164 +1,26 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. + * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ */ -/* @(#)disk.h 1.0 08/29/87 (c) 1987 NeXT */ - -/* - * HISTORY - * 28-Mar-92 Doug Mitchell - * Moved disk_label struct to . - * - * 22-May-91 Gregg Kellogg (gk) at NeXT - * Split out public interface. - * - * 20-Jul-90 Doug Mitchell - * Added DKIOCSFORMAT, DKIOCGFORMAT - * - * 16-Apr-90 Doug Mitchell at NeXT - * Added DKIOCPANELPRT. - * - * 25-Mar-90 John Seamons (jks) at NeXT - * Removed obsolete DKIOCNOTIFY and DKIOCINSERT. - * - * 23-Mar-90 Doug Mitchell - * Added DKIOCEJECT. - * - * 14-Feb-90 Doug Mitchell at NeXT - * Added DKIOCMNOTIFY. - * - * 16-Mar-88 John Seamons (jks) at NeXT - * Cleaned up to support standard disk label definitions. - * - * 24-Feb-88 Mike DeMoney (mike) at NeXT - * Added defines for dl_bootfile and dl_boot0_blkno. - * Reduced NBAD to allow for these entries in disktab. - * - * 29-Aug-87 John Seamons (jks) at NeXT - * Created. - * - */ - -#ifndef _BSD_DEV_DISK_ -#define _BSD_DEV_DISK_ - -#include -#include -#include -#include -#include -#include - -#define DR_CMDSIZE 32 -#define DR_ERRSIZE 32 - -struct disk_req { - int dr_bcount; /* byte count for data transfers */ - caddr_t dr_addr; /* memory addr for data transfers */ - struct timeval dr_exec_time; /* execution time of operation */ - - /* - * interpretation of cmdblk and errblk is driver specific. - */ - char dr_cmdblk[DR_CMDSIZE]; - char dr_errblk[DR_ERRSIZE]; -}; - -struct sdc_wire { - vm_offset_t start, end; - boolean_t new_pageable; -}; - - -#define BAD_BLK_OFF 4 /* offset of bad blk tbl from label */ -#define NBAD_BLK (12 * 1024 / sizeof (int)) - -struct bad_block { /* bad block table, sized to be 12KB */ - int bad_blk[NBAD_BLK]; -}; - -/* - * sector bitmap states (2 bits per sector) - */ -#define SB_UNTESTED 0 /* must be zero */ -#define SB_BAD 1 -#define SB_WRITTEN 2 -#define SB_ERASED 3 - -struct drive_info { /* info about drive hardware */ - char di_name[MAXDNMLEN]; /* drive type name */ - int di_label_blkno[NLABELS];/* label loc'ns in DEVICE SECTORS */ - int di_devblklen; /* device sector size */ - int di_maxbcount; /* max bytes per transfer request */ -}; - -#define DS_STATSIZE 32 - -struct disk_stats { - int s_ecccnt; /* avg ECC corrections per sector */ - int s_maxecc; /* max ECC corrections observed */ - - /* - * interpretation of s_stats is driver specific - */ - char s_stats[DS_STATSIZE]; -}; - -struct drive_location { - char location[ 128 ]; -}; - -#define DKIOCGLABEL _IOR('d', 0,struct disk_label) /* read label */ -#define DKIOCSLABEL _IOW('d', 1,struct disk_label) /* write label */ -#define DKIOCGBITMAP _IO('d', 2) /* read bitmap */ -#define DKIOCSBITMAP _IO('d', 3) /* write bitmap */ -#define DKIOCREQ _IOWR('d', 4, struct disk_req) /* cmd request */ -#define DKIOCINFO _IOR('d', 5, struct drive_info) /* get drive info */ -#define DKIOCZSTATS _IO('d',7) /* zero statistics */ -#define DKIOCGSTATS _IO('d', 8) /* get statistics */ -#define DKIOCRESET _IO('d', 9) /* reset disk */ -#define DKIOCGFLAGS _IOR('d', 11, int) /* get driver flags */ -#define DKIOCSFLAGS _IOW('d', 12, int) /* set driver flags */ -#define DKIOCSDCWIRE _IOW('d', 14, struct sdc_wire) /* sdc wire memory */ -#define DKIOCSDCLOCK _IO('d', 15) /* sdc lock */ -#define DKIOCSDCUNLOCK _IO('d', 16) /* sdc unlock */ -#define DKIOCGFREEVOL _IOR('d', 17, int) /* get free volume # */ -#define DKIOCGBBT _IO('d', 18) /* read bad blk tbl */ -#define DKIOCSBBT _IO('d', 19) /* write bad blk tbl */ -#define DKIOCMNOTIFY _IOW('d', 20, int) /* message on insert */ -#define DKIOCEJECT _IO('d', 21) /* eject disk */ -#define DKIOCPANELPRT _IOW('d', 22, int) /* register Panel */ - /* Request port */ -#define DKIOCSFORMAT _IOW('d', 23, int) /* set 'Formatted' flag */ -#define DKIOCGFORMAT _IOR('d', 23, int) /* get 'Formatted' flag */ -#define DKIOCBLKSIZE _IOR('d', 24, int) /* device sector size */ -#define DKIOCNUMBLKS _IOR('d', 25, int) /* number of sectors */ -#define DKIOCCHECKINSERT _IO('d',26) /* manually poll removable */ - /* media drive */ -#define DKIOCCANCELAUTOMOUNT _IOW('d',27, dev_t) /* cancel automount request */ -#define DKIOCGLOCATION _IOR('d',28, struct drive_location) /* arch dependent location descrip */ -#define DKIOCSETBLOCKSIZE _IOW('d', 24, int) /* set media's preferred sector size */ -#define DKIOCGETBLOCKSIZE DKIOCBLKSIZE /* get media's preferred sector size */ -#define DKIOCGETBLOCKCOUNT DKIOCNUMBLKS /* get media's sector count */ -#define DKIOCGETLOCATION DKIOCGLOCATION /* get media's location description */ -#define DKIOCISFORMATTED DKIOCGFORMAT /* is media formatted? */ -#define DKIOCISWRITABLE _IOR('d', 29, int) /* is media writable? */ -#endif /* _BSD_DEV_DISK_ */ +#warning is obsolete, please use instead