|
|
1.1 ! root 1: /* ! 2: * UNIBUS SMD disk data structures ! 3: * one updisk per drive ! 4: * one scctl per controller ! 5: */ ! 6: ! 7: struct updisk { ! 8: struct scctl *ctl; ! 9: char flags; ! 10: char type; /* type of drive; magic code */ ! 11: char unit; /* physical unit number on this controller */ ! 12: struct buf *actf; /* list of buffers waiting to be xfered */ ! 13: struct buf *actl; ! 14: struct updisk *next; ! 15: }; ! 16: ! 17: #define NSCUP 8 /* max units per controller */ ! 18: ! 19: struct scctl { ! 20: struct updevice *addr; ! 21: struct updisk *actf; /* list of active drives */ ! 22: struct updisk *actl; ! 23: char flags; ! 24: char ubno; /* unibus number -- only for mapping */ ! 25: char errcnt; ! 26: char recal; /* current place in retry machine */ ! 27: char softas; /* non-transfer attention required */ ! 28: struct updisk *drives[NSCUP]; /* back-pointers to drives */ ! 29: }; ! 30: ! 31: /* ! 32: * device size ! 33: * here so updump can get it ! 34: */ ! 35: struct upst { ! 36: char nsect; /* sectors per track */ ! 37: char ntrak; /* tracks per cylinder */ ! 38: char sdist; /* sectors twixt search and io */ ! 39: char rdist; /* sectors close enough not to search */ ! 40: short nspc; /* sectors per cylinder */ ! 41: short ncyl; /* cylinders per pack */ ! 42: struct size *sizes; ! 43: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.