|
|
1.1 ! root 1: /* $Header: /src386/usr/include/sys/RCS/me.h,v 1.1 92/07/31 16:07:19 root Exp $ */ ! 2: #ifndef ME_H ! 3: #define ME_H ! 4: /* ! 5: * Maynard Hard Disk Controller ! 6: * ! 7: * $Log: me.h,v $ ! 8: * Revision 1.1 92/07/31 16:07:19 root ! 9: * Initial revision ! 10: * ! 11: * Revision 1.1 88/03/24 17:48:28 src ! 12: * Initial revision ! 13: * ! 14: * /usr/src/sys/RCS/hd.h,v 1.2 84/06/29 18:02:04 ! 15: */ ! 16: ! 17: /* ! 18: * Hard disk (configurable) parameters ! 19: */ ! 20: #define TBLOCK ((daddr_t) 0) ! 21: #define TBOFF 0x1A0 /* Disk offset: hd_parm */ ! 22: #define SDEV 0x80 /* Special drive access */ ! 23: #define NPARTN 4 /* 4 partitions/drive */ ! 24: #define PARTN(dev) (dev & 3) ! 25: #define DRIVE(dev) ((dev & 0177) / NPARTN) ! 26: #define SYS_DOS 1 /* System Flag: MS-DOS */ ! 27: #define SYS_COH 2 /* Coherent*/ ! 28: typedef unsigned char uchar; ! 29: ! 30: /* ! 31: * Parameters as resident on hard disk ! 32: */ ! 33: struct hd_parm { ! 34: uchar hd_vol_id[16]; /* volume id */ ! 35: struct hd_config_s { /* Drive configuration */ ! 36: uchar hdc_cyls_h, hdc_cyls_l; /* # cylinders */ ! 37: uchar hdc_heads; /* # heads */ ! 38: uchar hdc_rwcc_h, hdc_rwcc_l; /* cyl #, reduced write */ ! 39: uchar hdc_wpcc_h, hdc_wpcc_l; /* cyl #, write precomp */ ! 40: uchar hdc_eccl; /* ecc length */ ! 41: uchar hdc_step; /* Stepper option */ ! 42: uchar hdc_nspt; /* # sectors/track */ ! 43: uchar hdc_ship_h, hdc_ship_l; /* Shipping zone cyl */ ! 44: uchar hdc_fill[2]; ! 45: } hd_config; ! 46: struct hd_partn_s { /* Partition description*/ ! 47: uchar hdp_boot; /* Boot indicator (0x80)*/ ! 48: uchar hdp_bhd,hdp_bsec,hdp_bcyl; /* Begin hd,sec,cyl */ ! 49: uchar hdp_sys; /* System Indicator */ ! 50: uchar hdp_ehd,hdp_esec,hdp_ecyl; /* Ending hd,sec,cyl */ ! 51: /* WARNING: Big Endians have to modify following decl */ ! 52: daddr_t hdp_base; /* Base blk # for part */ ! 53: daddr_t hdp_size; /* # blks in partition */ ! 54: } hd_partn[NPARTN]; ! 55: uchar hd_sig[2]; ! 56: }; ! 57: ! 58: /* ! 59: * Parameter subset as resident in memory ! 60: */ ! 61: struct d_parm { ! 62: daddr_t d_size; /* Maximum blk# in SDEV */ ! 63: struct hd_config_s d_cfg; ! 64: struct d_partn_s { ! 65: daddr_t p_base; /* Base blk # for part */ ! 66: daddr_t p_size; /* # blks in partition */ ! 67: } d_partn[NPARTN]; ! 68: uchar d_init; ! 69: }; ! 70: ! 71: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.