|
|
1.1 root 1: /* @(#)dkio.h 1.1 86/02/03 SMI */
2:
3: /*
4: * Copyright (c) 1983 by Sun Microsystems, Inc.
5: */
6:
7: /*
8: * Structures and definitions for disk io control commands
9: */
10:
11: /* Disk identification */
12: struct dk_info {
13: int dki_ctlr; /* controller address */
14: short dki_unit; /* unit (slave) address */
15: short dki_ctype; /* controller type */
16: short dki_flags; /* flags */
17: };
18: /* controller types */
19: #define DKC_UNKNOWN 0
20: #define DKC_SMD2180 1
21: #define DKC_WDC2880 2
22: #define DKC_SMD2181 3
23: #define DKC_XY440 4
24: #define DKC_DSD5215 5
25: #define DKC_XY450 6
26: #define DKC_SCSI 7
27:
28: /* flags */
29: #define DKI_BAD144 0x01 /* use DEC std 144 bad sector fwding */
30: #define DKI_MAPTRK 0x02 /* controller does track mapping */
31: #define DKI_FMTTRK 0x04 /* formats only full track at a time */
32: #define DKI_FMTVOL 0x08 /* formats only full volume at a time */
33:
34: /* Definition of a disk's geometry */
35: struct dk_geom {
36: unsigned short dkg_ncyl; /* # of data cylinders */
37: unsigned short dkg_acyl; /* # of alternate cylinders */
38: unsigned short dkg_bcyl; /* cyl offset (for fixed head area) */
39: unsigned short dkg_nhead; /* # of heads */
40: unsigned short dkg_bhead; /* head offset (for Larks, etc.) */
41: unsigned short dkg_nsect; /* # of sectors per track */
42: unsigned short dkg_intrlv; /* interleave factor */
43: unsigned short dkg_gap1; /* gap 1 size */
44: unsigned short dkg_gap2; /* gap 2 size */
45: unsigned short dkg_extra[10]; /* for compatible expansion */
46: };
47:
48: /* disk io control commands */
49: #define DKIOCGGEOM (('d'<<8)|1) /* Get geometry */
50: #define DKIOCSGEOM (('d'<<8)|2) /* Set geometry */
51: #define DKIOCGPART (('d'<<8)|3) /* Get partition info */
52: #define DKIOCSPART (('d'<<8)|4) /* Set partition info */
53: #define DKIOCINFO (('d'<<8)|5) /* Get info */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.