cd.device: CD32 CDROM support
[AROS.git] / arch / m68k-amiga / devs / cd / cd_intern.h
blob0343bc294eddea049d960b24735c0c0d919c707f
1 /*
2 * Copyright (C) 2013, The AROS Development Team
3 * All right reserved.
4 * Author: Jason S. McMullan <jason.mcmullan@gmail.com>
6 * Licensed under the AROS PUBLIC LICENSE (APL) Version 1.1
7 */
9 #ifndef CD_INTERN_H
10 #define CD_INTERN_H
12 #include <exec/devices.h>
13 #include <exec/io.h>
14 #include <exec/semaphores.h>
16 #include <devices/timer.h>
18 #include <dos/filehandler.h>
20 #include LC_LIBDEFS_FILE
22 struct cdBase {
23 struct Device cb_Device;
24 struct List cb_Units;
25 struct SignalSemaphore cb_UnitsLock;
26 ULONG cb_MaxUnit;
28 struct MsgPort cb_TimerPort;
29 struct timerequest cb_TimerRequest;
32 struct cdUnitOps {
33 CONST_STRPTR uo_Name;
34 LONG (*uo_DoIO)(struct IOStdReq *io, APTR priv);
35 VOID (*uo_Expunge)(APTR priv);
38 LONG cdAddUnit(LIBBASETYPE *cb, const struct cdUnitOps *ops, APTR priv, const struct DosEnvec *de);
39 VOID cdDelayMS(LIBBASETYPE *cb, ULONG timeout_ms);
41 #define IOF_ABORT (1 << 7)
43 #endif /* CD_INTERN_H */