- union {
- DCB dcb; // = $0300-$030B DEVICE CONTROL BLOCK
- struct {
- unsigned char ddevic; // = $0300 PERIPHERAL UNIT 1 BUS I.D. NUMBER
- unsigned char dunit; // = $0301 UNIT NUMBER
- unsigned char dcomnd; // = $0302 BUS COMMAND
- unsigned char dstats; // = $0303 COMMAND TYPE/STATUS RETURN
- union {
- void* dbuf; // = $0304/$0305 data buffer address
- struct {
- unsigned char dbuflo; // = $0304 1-byte low data buffer address
- unsigned char dbufhi; // = $0305 1-byte high data buffer address
- };
- };
- unsigned char dtimlo; // = $0306 DEVICE TIME OUT IN 1 SECOND UNITS
- unsigned char dunuse; // = $0307 UNUSED BYTE
- union {
- unsigned int dbyt; // = $0308/$0309 number of bytes to transfer
- struct {
- unsigned char dbytlo; // = $0308 1-byte low number of bytes to transfer
- unsigned char dbythi; // = $0309 1-byte high number of bytes to transfer
- };
- };
- union {
- unsigned int daux; // = $030A/$030B first and second auxiliary
- struct {
- unsigned char daux1; // = $030A 1-byte first command auxiliary
- unsigned char daux2; // = $030B 1-byte second command auxiliary
- };
- };
- };
- };