157332Shibler /* 2*63151Sbostic * Copyright (c) 1990, 1993 3*63151Sbostic * The Regents of the University of California. All rights reserved. 457332Shibler * 557332Shibler * This code is derived from software contributed to Berkeley by 657332Shibler * Van Jacobson of Lawrence Berkeley Laboratory. 757332Shibler * 857332Shibler * %sccs.include.redist.c% 957332Shibler * 10*63151Sbostic * @(#)sdvar.h 8.1 (Berkeley) 06/10/93 1157332Shibler */ 1257332Shibler 1357332Shibler struct sdinfo { 1457332Shibler struct disklabel si_label; /* label */ 1557332Shibler int si_bopen; /* mask of open block devs */ 1657332Shibler int si_copen; /* mask of open char devs */ 1757332Shibler int si_open; /* composite mask of open devs */ 1857332Shibler }; 1957332Shibler 2057332Shibler struct sd_softc { 2157332Shibler struct hp_device *sc_hd; 2257332Shibler struct devqueue sc_dq; 2357332Shibler int sc_format_pid; /* process using "format" mode */ 2457332Shibler short sc_flags; 2557332Shibler short sc_type; /* drive type */ 2657332Shibler short sc_punit; /* physical unit (scsi lun) */ 2757332Shibler u_short sc_bshift; /* convert device blocks to DEV_BSIZE blks */ 2857332Shibler u_int sc_blks; /* number of blocks on device */ 2957332Shibler int sc_blksize; /* device block size in bytes */ 3057332Shibler u_int sc_wpms; /* average xfer rate in 16 bit wds/sec. */ 3157332Shibler struct sdinfo sc_info; /* disklabel and related info */ 3257332Shibler }; 3357332Shibler 3457332Shibler /* sc_flags values */ 3557332Shibler #define SDF_ALIVE 0x01 3657332Shibler #define SDF_OPENING 0x02 3757332Shibler #define SDF_CLOSING 0x04 3857332Shibler #define SDF_WANTED 0x08 3957332Shibler #define SDF_WLABEL 0x10 4057332Shibler #define SDF_RMEDIA 0x20 4157332Shibler #define SDF_ERROR 0x40 4257332Shibler 4357332Shibler struct sdstats { 4457332Shibler long sdresets; 4557332Shibler long sdtransfers; 4657332Shibler long sdpartials; 4757332Shibler }; 4857332Shibler 4957332Shibler #define sdunit(x) (minor(x) >> 3) 5057332Shibler #define sdpart(x) (minor(x) & 0x7) 5157332Shibler #define sdpunit(x) ((x) & 7) 5257332Shibler #define sdlabdev(d) (dev_t)(((int)(d)&~7)|2) /* sd?c */ 5357332Shibler 5457332Shibler #define b_cylin b_resid 5557332Shibler 5657332Shibler #define SDRETRY 2 57