|
|
DataMuseum.dkPresents historical artifacts from the history of: RC9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: @ T d
Length: 3641 (0xe39)
Types: TextFile
Notes: @(#)dskserver.h 13.2 (RC International) 91/05/16 */
Names: »dskserver.h«
└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
└─⟦bbf173f5c⟧ »0004«
└─⟦this⟧ »./usr/include/sys/dskserver.h«
/* @(#)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
*/