This is disk.h in view mode; [Download] [Up]
/* @(#)disk.h 1.0 08/29/87 (c) 1987 NeXT */ /* * HISTORY * 28-Mar-92 Doug Mitchell * Moved disk_label struct to <bsd/dev/disk_label.h>. * * 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_ #import <mach/machine/vm_types.h> #import <mach/machine/boolean.h> #import <sys/types.h> #import <sys/ioctl.h> #import <sys/time.h> #import <bsd/dev/disk_label.h> #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]; }; #define DKIOCGLABEL _IO('d', 0) /* read label*/ #define DKIOCSLABEL _IO('d', 1) /* 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*/ #endif
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.