Fix problems with GlobalHandle and GlobalFree so results match Win98.
[wine/multimedia.git] / include / cdrom.h
blob660325ce5d8c69a8b74ce57d7987bcf98a8e8778
1 /* -*- tab-width: 8; c-basic-offset: 4 -*- */
2 /*
3 * Sample MCI CDAUDIO Wine Driver for Linux
5 * Copyright 1994 Martin Ayotte
6 * Copyright 1999 Eric Pouech
7 */
9 #ifndef __WINE_CDROM_H__
10 #define __WINE_CDROM_H__
12 #include <stdlib.h>
13 #include <unistd.h>
14 #include "windef.h"
16 #ifdef HAVE_LINUX_CDROM_H
17 # include <linux/cdrom.h>
18 #endif
19 #ifdef HAVE_LINUX_UCDROM_H
20 # include <linux/ucdrom.h>
21 #endif
22 #ifdef HAVE_SYS_CDIO_H
23 # include <sys/cdio.h>
24 #endif
26 typedef struct {
27 int unixdev;
28 #if defined(linux)
29 struct cdrom_subchnl sc;
30 #elif defined(__FreeBSD__) || defined(__NetBSD__)
31 struct cd_sub_channel_info sc;
32 #endif
33 /* those data reflect the cdaudio structure and
34 * don't change while playing
36 UINT16 nTracks;
37 UINT16 nFirstTrack;
38 UINT16 nLastTrack;
39 LPDWORD lpdwTrackLen;
40 LPDWORD lpdwTrackPos;
41 LPBYTE lpbTrackFlags;
42 DWORD dwFirstFrame;
43 DWORD dwLastFrame;
44 /* those data change while playing */
45 int cdaMode;
46 UINT16 nCurTrack;
47 DWORD dwCurFrame;
48 } WINE_CDAUDIO;
50 #define WINE_CDA_DONTKNOW 0x00
51 #define WINE_CDA_NOTREADY 0x01
52 #define WINE_CDA_OPEN 0x02
53 #define WINE_CDA_PLAY 0x03
54 #define WINE_CDA_STOP 0x04
55 #define WINE_CDA_PAUSE 0x05
57 int CDAUDIO_Open(WINE_CDAUDIO* wcda);
58 int CDAUDIO_Close(WINE_CDAUDIO* wcda);
59 int CDAUDIO_Reset(WINE_CDAUDIO* wcda);
60 int CDAUDIO_Play(WINE_CDAUDIO* wcda, DWORD start, DWORD stop);
61 int CDAUDIO_Stop(WINE_CDAUDIO* wcda);
62 int CDAUDIO_Pause(WINE_CDAUDIO* wcda, int pauseOn);
63 int CDAUDIO_Seek(WINE_CDAUDIO* wcda, DWORD at);
64 int CDAUDIO_SetDoor(WINE_CDAUDIO* wcda, int open);
65 UINT16 CDAUDIO_GetNumberOfTracks(WINE_CDAUDIO* wcda);
66 BOOL CDAUDIO_GetTracksInfo(WINE_CDAUDIO* wcda);
67 BOOL CDAUDIO_GetCDStatus(WINE_CDAUDIO* wcda);
69 #define CDFRAMES_PERSEC 75
70 #define SECONDS_PERMIN 60
71 #define CDFRAMES_PERMIN ((CDFRAMES_PERSEC) * (SECONDS_PERMIN))
73 #ifndef CDROM_DATA_TRACK
74 #define CDROM_DATA_TRACK 0x04
75 #endif
77 #endif