DataMuseum.dk

Presents historical artifacts from the history of:

RC9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: @ T d

⟦9f7382697⟧ TextFile

    Length: 3641 (0xe39)
    Types: TextFile
    Notes: @(#)dskserver.h 13.2 (RC International) 91/05/16 */
    Names: »dskserver.h«

Derivation

└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
    └─⟦bbf173f5c⟧ »0004« 
        └─⟦this⟧ »./usr/include/sys/dskserver.h« 

TextFile

/*	@(#)dskserver.h	13.2 (RC International) 91/05/16	*/

/*
 *  dskserver.h
 *
 *	Interface to SBB disk servers.
 */

/****************************************************************
 *  Structures and defines relating to the diskserver message.	*
 ****************************************************************/

/*
 *  Defines for ds_request.
 */

#define DS_READ			1	/* Raw disk read */
#define DS_WRITE		2	/* Raw disk write */
#define DS_ZERO			3	/* Raw disk sector zero */

#define DS_TAKEOVER		4	/* Disk takeover msg for volmgr */
#define DS_PATH			5	/* Disk path msg for volmgr */

#define DS_FORMAT		6	/* Create format disk process */
#define DS_POLL_DSKS		7	/* Poll !TX disks for status  */
					/*   change */
#define DS_PHYS_READ		8	/* Raw physical disk read */
#define DS_PHYS_WRITE		9	/* Raw physical disk write */
#define DS_SOFTONLINE		10	/* Soft disk online for volmgr */
#define DS_PHYS_PATH		11	/* Verify remote diskpath WRT */
					/*   to volmgr */
#define	DS_RDDEF		12	/* Read defect list */


/********************************************************
 *  Structures and defines related to disk formatting.	*
 ********************************************************/

/*
 * Disk set parameters
 */

struct diskparam
{
    u_short	ncyls;		/* #cylinders in data partition	*/
    u_short	pcyls;		/* #cylinders on physical disk */
    u_short	nheads;		/* number of heads per unit	*/
    u_short	secsize;	/* #bytes per sector (data part) */
    u_short	sectrk;		/* number of sectors per track	*/
    u_short	byttrk;		/* number of bytes per track	*/
    u_short	scseek;		/* single cyl seek time (usec)	*/
    u_short	avseek;		/* average cyl seek time	*/
    u_short	maxseek;	/* max cyl seek time		*/
    u_short	rot;		/* rotation time		*/
    u_short	headsw;		/* head switching time		*/
    u_short	wrrecov;	/* write-to-read recovery	*/
    u_short	size_f;		/* #bytes in first sector on a track */
    u_short	size_l;		/* #bytes in the last sector */
    u_short	nsparecyl;	/* # alternate cylinders	*/
    u_short	nsparesec;	/* # spare sectors per track	*/
    u_short	defectcount;	/* #sectors for defect list     */
    daddr_t	anchor[2];	/* Anchor blk addrs */
};

/*
 * Disk address structure
 */

struct dtrack
{
    u_short		cyl;
    u_short		head;
};

/*
 * Disk format track
 */

struct diskftrack
{
    struct dtrack	start_addr;
    struct dtrack	end_addr;
    int			mode;		/* all or from start_addr til end_addr */
};

#define M_FMT_DISK	0	/* mode in FMTFTRACK: format the whole disk */
#define M_FMT_TRACK	1	/* mode in FMTFTRACK: format tracks */

/*
 * defect list read/write structure
 */
#if !defined(_DISKREP_)
#define _DISKREP_
struct diskrep
{
    u_short		df_cyl[2];	/* cylinder			*/
    u_short		df_track;	/* track			*/
    u_short		df_offs[2];	/* byte offset into track	*/
    u_short		df_lgt;		/* length of defects in bits	*/
};

#endif

/*
 * Write/read defect list
 */

struct diskdefect
{
    int			count;		/* number of defects */
    int			mode;		/* write mode 0==create 1==add */
                                        /* read mode 0==work 1==suspect */
    struct diskrep	*rep;		/* address of defects */
};

#define M_FMT_CREATE	0	/* mode in FMTWRDEF: create defect list */
#define M_FMT_ADD	1	/* mode in FMTWRDEF: add to defect list */

#define M_FMT_WORK  	0	/* mode in RDDEF: work defect list */
#define M_FMT_SUSP	1	/* mode in RDDEF: suspect defect list */

/*
 *  Maximum number of disk track replacement entries to fit
 *  so that sizeof (struct diskfmsg) <= 1024.
 */

#define	NDISKREP  ((DEV_BSIZE  \
		   - (10 * sizeof (int))) / sizeof (struct diskrep))


/*
 *  End of dskserver.h
 */