| 1 | /* $Id: cdrom.h,v 1.1 1999-05-24 20:19:09 ktk Exp $ */
 | 
|---|
| 2 | 
 | 
|---|
| 3 | /* -*- tab-width: 8; c-basic-offset: 4 -*- */
 | 
|---|
| 4 | /*
 | 
|---|
| 5 |  * Sample MCI CDAUDIO Wine Driver for Linux
 | 
|---|
| 6 |  *
 | 
|---|
| 7 |  * Copyright 1994 Martin Ayotte
 | 
|---|
| 8 |  * Copyright 1999 Eric Pouech
 | 
|---|
| 9 |  */
 | 
|---|
| 10 | 
 | 
|---|
| 11 | #ifndef __WINE_CDROM_H__
 | 
|---|
| 12 | #define __WINE_CDROM_H__
 | 
|---|
| 13 | 
 | 
|---|
| 14 | #include <stdlib.h>
 | 
|---|
| 15 | #include <unistd.h>
 | 
|---|
| 16 | #include "windef.h"
 | 
|---|
| 17 | 
 | 
|---|
| 18 | #ifdef HAVE_LINUX_CDROM_H
 | 
|---|
| 19 | # include <linux/cdrom.h>
 | 
|---|
| 20 | #endif
 | 
|---|
| 21 | #ifdef HAVE_LINUX_UCDROM_H
 | 
|---|
| 22 | # include <linux/ucdrom.h>
 | 
|---|
| 23 | #endif
 | 
|---|
| 24 | #ifdef HAVE_SYS_CDIO_H
 | 
|---|
| 25 | # include <sys/cdio.h>
 | 
|---|
| 26 | #endif
 | 
|---|
| 27 | 
 | 
|---|
| 28 | typedef struct {
 | 
|---|
| 29 |     int                         unixdev;
 | 
|---|
| 30 | #if defined(linux)
 | 
|---|
| 31 |     struct cdrom_subchnl        sc;
 | 
|---|
| 32 | #elif defined(__FreeBSD__) || defined(__NetBSD__)
 | 
|---|
| 33 |     struct cd_sub_channel_info  sc;
 | 
|---|
| 34 | #endif
 | 
|---|
| 35 |     int                         cdaMode;
 | 
|---|
| 36 |     UINT16                      nCurTrack;
 | 
|---|
| 37 |     DWORD                       dwCurFrame;
 | 
|---|
| 38 |     UINT16                      nTracks;
 | 
|---|
| 39 |     UINT16                      nFirstTrack;
 | 
|---|
| 40 |     UINT16                      nLastTrack;
 | 
|---|
| 41 |     DWORD                       dwTotalLen;
 | 
|---|
| 42 |     LPDWORD                     lpdwTrackLen;
 | 
|---|
| 43 |     LPDWORD                     lpdwTrackPos;
 | 
|---|
| 44 |     LPBYTE                      lpbTrackFlags;
 | 
|---|
| 45 |     DWORD                       dwFirstOffset;
 | 
|---|
| 46 | } WINE_CDAUDIO;
 | 
|---|
| 47 | 
 | 
|---|
| 48 | #define WINE_CDA_DONTKNOW               0x00
 | 
|---|
| 49 | #define WINE_CDA_NOTREADY               0x01
 | 
|---|
| 50 | #define WINE_CDA_OPEN                   0x02
 | 
|---|
| 51 | #define WINE_CDA_PLAY                   0x03
 | 
|---|
| 52 | #define WINE_CDA_STOP                   0x04
 | 
|---|
| 53 | #define WINE_CDA_PAUSE                  0x05
 | 
|---|
| 54 | 
 | 
|---|
| 55 | int     CDAUDIO_Open(WINE_CDAUDIO* wcda);
 | 
|---|
| 56 | int     CDAUDIO_Close(WINE_CDAUDIO* wcda);
 | 
|---|
| 57 | int     CDAUDIO_Reset(WINE_CDAUDIO* wcda);
 | 
|---|
| 58 | int     CDAUDIO_Play(WINE_CDAUDIO* wcda, DWORD start, DWORD stop);
 | 
|---|
| 59 | int     CDAUDIO_Stop(WINE_CDAUDIO* wcda);
 | 
|---|
| 60 | int     CDAUDIO_Pause(WINE_CDAUDIO* wcda, int pauseOn);
 | 
|---|
| 61 | int     CDAUDIO_Seek(WINE_CDAUDIO* wcda, DWORD at);
 | 
|---|
| 62 | int     CDAUDIO_SetDoor(WINE_CDAUDIO* wcda, int open);
 | 
|---|
| 63 | UINT16  CDAUDIO_GetNumberOfTracks(WINE_CDAUDIO* wcda);
 | 
|---|
| 64 | BOOL    CDAUDIO_GetTracksInfo(WINE_CDAUDIO* wcda);
 | 
|---|
| 65 | BOOL    CDAUDIO_GetCDStatus(WINE_CDAUDIO* wcda);
 | 
|---|
| 66 | 
 | 
|---|
| 67 | #define CDFRAMES_PERSEC                 75
 | 
|---|
| 68 | #define SECONDS_PERMIN                  60
 | 
|---|
| 69 | #define CDFRAMES_PERMIN                 ((CDFRAMES_PERSEC) * (SECONDS_PERMIN))
 | 
|---|
| 70 | 
 | 
|---|
| 71 | #ifndef CDROM_DATA_TRACK
 | 
|---|
| 72 | #define CDROM_DATA_TRACK 0x04
 | 
|---|
| 73 | #endif
 | 
|---|
| 74 | 
 | 
|---|
| 75 | #endif
 | 
|---|
| 76 | 
 | 
|---|