pdp11v/usr/include/sys/gdisk.h

Compare this file to the similar file:
Show the results in this format:

/* @(#)gdisk.h	1.1 */
/*
 * PDP11 general disk header
 */
struct device {
	int	cs1, wc, ba, da;
	int	cs2, ds, er1, as;
	int	la, db, mr, dt;
	int	sn, of, dc, cc;
	int	er2, er3, ec1, ec2;
	int	bae, cs3;
};

extern struct device *gd_addr[];
extern	gd_cnt;

#define	gdctl(X)	((X>>6)&3)
#define	gddrive(X)	((X>>3)&7)
#define	gdslice(X)	(X&7)
#define	gdstod(X)	(X<<3)
#define	gdpos(X)	((X>>3)&037)
#define	gdmkpos(X,Y)	((X<<3)|Y)
#define	gdptoc(X)	(X>>3)
#define	gdptod(X)	(X&7)
#define	gdloc(X)	gdsw[gdindex[X]]

struct d_sizes {
	daddr_t nblocks;
	int	cyloff;
};

struct gdsw {
	short	type;	/* hardware drive type */
	char *	name;	/* printf name */
	short	trk;
	short	sec;
	struct d_sizes *sizep;
	int	(*open)();
	int	(*strategy)();
	int	(*intr)();
	int	(*start)();
};

extern struct gdsw gdsw[];
extern int gdindex[];	/* array of indices into gdsw */
extern short gdtype[];	/* array of drive types */
extern struct iotime gdstat[];
extern struct iobuf gdtab[], gdutab[];

#define	GO	01
#define	RECAL	06
#define	DCLR	010
#define	RELEASE	012
#define	PRESET	020
#define	SEARCH	030
#define	WCOM	060
#define	RCOM	070

#define	ERR	040000	/* ds - Error */
#define	MOL	010000	/* ds - Medium OnLine */
#define	VV	0100	/* ds - Volume Valid */
#define	SC	0100000	/* cs1 - Special Condition */
#define	TRE	040000	/* cs1 - TRansfer Error */
#define	DVA	04000	/* cs1 - DriVe Available */
#define	RDY	0200	/* cs1 - ReaDY */
#define	IE	0100	/* cs1 - Interrupt Enable */
#define	WLE	04000	/* er1 - Write Lock Error */
#define	DCK	0100000	/* er1 - Data ChecK */
#define	NED	010000	/* cs2 - Non-Existent Device */
#define	CTLCLR	040	/* cs2 - Controller Clear */
#define	FMT22	010000	/* of - 16 bit/word format */
#define	ECI	04000	/* of - ecc inhibit */
#define DRQ	04000	/* dt - dual port option */
#define	DTYPE	0777	/* dt - drive type */

#define	wtime	b_flags
#define	WOK	0
#define	WABORT	1
#define	WNED	2
#define	WMOL	4
#define	WDVA	6
#define	WERR	30

#define	acts	io_s1
#define	qcnt	io_s2

#define	trksec	av_back
#define	cylin	b_resid

#define	rh70	(cputype == 70)

#define	GDPRI	(PZERO + 3)

/* supported types */
#define	GDRP04	020
#define	GDRP05	021
#define	GDML11A	0110
#define	GDML11B	0111
#define	GDRP06	022
#define	GDRM05	027