source: trunk/src/winmm/mcicda/cdrom.h@ 3669

Last change on this file since 3669 was 2473, checked in by sandervl, 26 years ago

JW: ported MCICDA.DLL from Wine 20000901 (Linux cdrom calls stubbed so it doesn't work)

File size: 1.9 KB
Line 
1/* -*- tab-width: 8; c-basic-offset: 4 -*- */
2/*
3 * Sample MCI CDAUDIO Wine Driver for Linux
4 *
5 * Copyright 1994 Martin Ayotte
6 * Copyright 1999 Eric Pouech
7 */
8
9#ifndef __WINE_CDROM_H__
10#define __WINE_CDROM_H__
11
12#include <stdlib.h>
13// #include <unistd.h>
14#include "windef.h"
15
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
25
26typedef 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
35 */
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;
49
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
56
57int CDAUDIO_Open(WINE_CDAUDIO* wcda);
58int CDAUDIO_Close(WINE_CDAUDIO* wcda);
59int CDAUDIO_Reset(WINE_CDAUDIO* wcda);
60int CDAUDIO_Play(WINE_CDAUDIO* wcda, DWORD start, DWORD stop);
61int CDAUDIO_Stop(WINE_CDAUDIO* wcda);
62int CDAUDIO_Pause(WINE_CDAUDIO* wcda, int pauseOn);
63int CDAUDIO_Seek(WINE_CDAUDIO* wcda, DWORD at);
64int CDAUDIO_SetDoor(WINE_CDAUDIO* wcda, int open);
65UINT16 CDAUDIO_GetNumberOfTracks(WINE_CDAUDIO* wcda);
66BOOL CDAUDIO_GetTracksInfo(WINE_CDAUDIO* wcda);
67BOOL CDAUDIO_GetCDStatus(WINE_CDAUDIO* wcda);
68
69#define CDFRAMES_PERSEC 75
70#define SECONDS_PERMIN 60
71#define CDFRAMES_PERMIN ((CDFRAMES_PERSEC) * (SECONDS_PERMIN))
72
73#ifndef CDROM_DATA_TRACK
74#define CDROM_DATA_TRACK 0x04
75#endif
76
77#endif
78
Note: See TracBrowser for help on using the repository browser.