home *** CD-ROM | disk | FTP | other *** search
- Ioctl_rp r_ioctl_pack; // request packet
- Ainfo_cb acb; // control block for audio info
- Tinfo_cb tcb; // control block for track info
- (_far *strategy)(); // strategy entry
- (_far *intrpt)(); // interrupt entry
- unsigned char unit; // sub-unit ID
-
- // clear request packet
- memset(&r_ioctl_pack, 0, sizeof r_ioctl_pack);
-
- // get audio info
- r_ioctl_pack.i_rh.rh_lth = sizeof r_ioctl_pack;
- r_ioctl_pack.i_rh.rh_sub_unit = unit;
- r_ioctl_pack.i_rh.rh_cc = 3; // IOCTL READ
- r_ioctl_pack.i_cb = (unsigned char _far *) &acb;
- acb.sf_di = 10; // AUDIO DISC Info
- call_driver(&r_ioctl_pack, strategy, intrpt);
- if (r_ioctl_pack.i_rh.rh_stat & 0x8000)
- { /* error on audio info */ }
- else
- { // now get track info for low track
- tcb.track_no = acb.low_track;
- r_ioctl_pack.i_rh.rh_stat = 0;
- r_ioctl_pack.i_cb = (unsigned char _far *) &tcb;
- tcb.sf_ti = 11; // AUDIO TRACK Info
- call_driver(&r_ioctl_pack, strategy, intrpt);
- if (r_ioctl_pack.i_rh.rh_stat & 0x8000)
- { /* error on track info */ }
- else
- { /* start track in tcb.stsect
- in Red Book format */ }
- }
-
- /* End of File */
-
-