home *** CD-ROM | disk | FTP | other *** search
- #define IOCTL_READ 3
- #define IOCTL_WRITE 12
-
- #define CD_GETDISCINFO 10
- #define CD_GETTRACKINFO 11
- #define CD_GETQCHANINFO 12
- #define CD_GETUPCCODE 14
- #define CD_GETAUDIOSTAT 15
-
- #define CD_CMD_EJECT 0
- #define CD_CMD_RESET 2
- #define CD_CMD_SEEK 131
- #define CD_CMD_PLAY 132
- #define CD_CMD_STOP 133
- #define CD_CMD_RESUME 136
-
- #define CDISHERE 0x01
- #define CDISPLAYING 0x02
- #define CDISPAUSED 0x04
-
- typedef unsigned char uchar;
-
- struct cdromdrivestruct
- {
- char unitcode;
- char far *ddheader;
- };
-
- struct cdreqheader
- {
- char len;
- char unit;
- char cmd;
- int stat;
- char reserved0[8];
- };
-
- struct ioctlread
- {
- struct cdreqheader cdh;
- char mdb;
- void far *buffer;
- int size;
- int ssn;
- void far *errbuf;
- };
- struct ioctlwrite
- {
- struct cdreqheader cdh;
- char mdb;
- void far *buffer;
- int size;
- int ssn;
- void far *errbuf;
- };
- struct ioctlseek
- {
- struct cdreqheader cdh;
- char addrmode;
- void far *buffer;
- int sectorcount;
- long startsector;
- };
- struct ioctlplay
- {
- struct cdreqheader cdh;
- char addrmode;
- long startsector;
- long sectorcount;
- };
- struct ioctlstop
- {
- struct cdreqheader cdh;
- };
- struct ioctlresume
- {
- struct cdreqheader cdh;
- };
- struct ioctlstat
- {
- char cmd;
- int status;
- long startloc;
- long endloc;
- };
-
- struct discinfo
- {
- char cmd;
- char strk;
- char ltrk;
- long eodisc;
- };
-
- struct trackinfo
- {
- char cmd;
- char track;
- uchar frame;
- uchar sec;
- uchar min;
- char dummy;
- char control;
- };
-
- struct qchaninfo
- {
- char cmd;
- char caa;
- char track;
- char index;
- uchar min;
- uchar sec;
- uchar frame;
- char reserved1;
- uchar amin;
- uchar asec;
- uchar aframe;
- };
-
- struct upccode
- {
- char cmd;
- char adr;
- char code[7];
- char zero;
- char aframe;
- };
-
- /* prototypes */
- /* mscdex.asm */ int ismscdex(void);
- /* mscdex.asm */ int getnumcdroms(void);
- /* mscdex.asm */ int getfirstcdrom(void);
- /* mscdex.asm */ void getcdromlist(struct cdromdrivestruct far *cdromlist);
- /* mscdex.asm */ int getcopyrightfname(int drive, char far *copyrightfname);
- /* mscdex.asm */ int getabstractfname(int drive, char far *abstractfname);
- /* mscdex.asm */ int getbibliofname(int drive, char far *bibliofname);
- /* mscdex.asm */ int readvtoc(int drive, int index, char far *dscbuf);
- /* mscdex.asm */ int absdiscread(int drive, int count, long sector, char far *buffer);
- /* mscdex.asm */ int absdiscwrite(int drive, int count, long sector, char far *buffer);
- /* mscdex.asm */ int chkdrive(int drive);
- /* mscdex.asm */ int getmscdexversion();
- /* mscdex.asm */ void getcdromunits(char far *cdromunits);
- /* mscdex.asm */ int getvdescpref(int drive);
- /* mscdex.asm */ int setvdescpref(int drive, int pref);
- /* mscdex.asm */ int getdirentry(int drive, char far *name, char far *buffer);
- /* mscdex.asm */ void senddevreq(int drive, void far *cdh);
- /* mscdex.asm */ int getlasterror(void);
- /* mscdex.asm */ int clearlasterror(void);
-
- /* cdrom.c */ cdplay(int drive, long frame, long lframe);
- /* cdrom.c */ cdstop(int drive);
- /* cdrom.c */ cdpause(int drive);
- /* cdrom.c */ cdresume(int drive);
- /* cdrom.c */ cdseek(int drive, long frame);
- /* cdrom.c */ cdreset(int drive);
- /* cdrom.c */ cdeject(int drive);
- /* cdrom.c */ cdstatus(int drive);
- /* cdrom.c */ cdaudiostatus(int drive, long *nextstart, long *nextend);
- /* cdrom.c */ cdmediachanged(int drive, int *yesorno);
- /* cdrom.c */ int cddiscinfo(int drive, struct discinfo *di);
- /* cdrom.c */ int cdtrackinfo(int drive, int track, struct trackinfo *ti);
- /* cdrom.c */ int cdqchaninfo(int drive, struct qchaninfo *qi);
- /* cdrom.c */ isanaudiocd(int drive);
- /* cdrom.c */ long redtolong(long redaddress);
- /* cdrom.c */ long longtored(long longval);
- /* cdrom.c */ long msftolong(long msfvalue);
- /* cdrom.c */ inttobcd(int data);
- /* cdrom.c */ bcdtoint(int data);
- /* cdrom.c */ fixmsf(int *min, int *sec, int *frame);
- /* cdrom.c */ cdseekmsf(int drive, int min, int sec, int frame);
- /* cdrom.c */ cdplaymsf(int drive, int min, int sec, int frame, int lmin, int lsec, int lframe);
-
-
-