File:  [MW Coherent from dump] / coherent / f / usr / include.78 / sys / me.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:40 2019 UTC (7 years ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

/* $Header: /var/lib/cvsd/repos/coherent/coherent/f/usr/include.78/sys/me.h,v 1.1.1.1 2019/05/29 04:56:40 root Exp $ */
#ifndef	ME_H
#define	ME_H
/*
 * Maynard Hard Disk Controller
 *
 * $Log: me.h,v $
 * Revision 1.1.1.1  2019/05/29 04:56:40  root
 * coherent
 *
 * Revision 1.1	88/03/24  17:48:28	src
 * Initial revision
 * 
 * /usr/src/sys/RCS/hd.h,v 1.2 84/06/29 18:02:04
 */

/*
 * Hard disk (configurable) parameters
 */
#define	TBLOCK		((daddr_t) 0)
#define	TBOFF		0x1A0			/* Disk offset: hd_parm	*/
#define	SDEV		0x80			/* Special drive access */
#define NPARTN		4			/* 4 partitions/drive	*/
#define PARTN(dev)	(dev & 3)
#define	DRIVE(dev)	((dev & 0177) / NPARTN)
#define	SYS_DOS		1			/* System Flag: MS-DOS	*/
#define	SYS_COH		2			/* 		Coherent*/
typedef unsigned char uchar;

/*
 * Parameters as resident on hard disk
 */
struct hd_parm {
	uchar	hd_vol_id[16];			/* volume id		*/
	struct	hd_config_s {			/* Drive configuration	*/
		uchar	hdc_cyls_h, hdc_cyls_l;	/* # cylinders		*/
		uchar	hdc_heads;		/* # heads		*/
		uchar	hdc_rwcc_h, hdc_rwcc_l;	/* cyl #, reduced write	*/
		uchar	hdc_wpcc_h, hdc_wpcc_l;	/* cyl #, write precomp */
		uchar	hdc_eccl;		/* ecc length		*/
		uchar	hdc_step;		/* Stepper option	*/
		uchar	hdc_nspt;		/* # sectors/track	*/
		uchar	hdc_ship_h, hdc_ship_l;	/* Shipping zone cyl	*/
		uchar	hdc_fill[2];
	} hd_config;
	struct	hd_partn_s {			/* Partition description*/
		uchar	hdp_boot;		/* Boot indicator (0x80)*/
		uchar	hdp_bhd,hdp_bsec,hdp_bcyl; /* Begin hd,sec,cyl	*/
		uchar	hdp_sys;		/* System Indicator	*/
		uchar	hdp_ehd,hdp_esec,hdp_ecyl; /* Ending hd,sec,cyl */
		/* WARNING: Big Endians have to modify following decl	*/
		daddr_t	hdp_base;		/* Base blk # for part	*/
		daddr_t	hdp_size;		/* # blks in partition	*/
	} hd_partn[NPARTN];
	uchar	hd_sig[2];
};

/*
 * Parameter subset as resident in memory
 */
struct d_parm {
	daddr_t	d_size;				/* Maximum blk# in SDEV	*/
	struct	hd_config_s d_cfg;
	struct	d_partn_s {
		daddr_t p_base;			/* Base blk # for part	*/
		daddr_t p_size;			/* # blks in partition	*/
	} d_partn[NPARTN];
	uchar	d_init;
};

#endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.