home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_03_03 / 3n03028a < prev    next >
Text File  |  1992-02-08  |  1KB  |  36 lines

  1. Ioctl_rp r_ioctl_pack;  // request packet
  2. Ainfo_cb acb;           // control block for audio info
  3. Tinfo_cb tcb;           // control block for track info
  4. (_far *strategy)();     // strategy entry
  5. (_far *intrpt)();       // interrupt entry
  6. unsigned char unit;     // sub-unit ID
  7.  
  8.         // clear request packet
  9. memset(&r_ioctl_pack, 0, sizeof r_ioctl_pack);
  10.  
  11.         // get audio info
  12. r_ioctl_pack.i_rh.rh_lth = sizeof r_ioctl_pack;
  13. r_ioctl_pack.i_rh.rh_sub_unit = unit;
  14. r_ioctl_pack.i_rh.rh_cc = 3;  // IOCTL READ
  15. r_ioctl_pack.i_cb = (unsigned char _far *) &acb;
  16. acb.sf_di = 10;               // AUDIO DISC Info
  17. call_driver(&r_ioctl_pack, strategy, intrpt);
  18. if (r_ioctl_pack.i_rh.rh_stat & 0x8000)
  19.    { /* error on audio info */ }
  20. else
  21.    {   // now get track info for low track
  22.    tcb.track_no = acb.low_track;
  23.    r_ioctl_pack.i_rh.rh_stat = 0;
  24.    r_ioctl_pack.i_cb = (unsigned char _far *) &tcb;
  25.    tcb.sf_ti = 11;            // AUDIO TRACK Info
  26.    call_driver(&r_ioctl_pack, strategy, intrpt);
  27.    if (r_ioctl_pack.i_rh.rh_stat & 0x8000)
  28.      { /* error on track info */ }
  29.    else
  30.       { /*  start track in tcb.stsect
  31.             in Red Book format         */ }
  32.    }
  33.  
  34. /* End of File */ 
  35.  
  36.