Fix IO memory access .. SB128 driver makes noises in VMWare - CMI is untested (Curren...
[AROS.git] / test / exec / dummydev_gcc.h
blobefe5c231ec123fb406f3cf5a7c6101e0d215c85a
1 /*
2 Copyright © 1995-2002, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef DUMMYDEV_GCC_H
7 #define DUMMYDEV_GCC_H
8 #include <aros/libcall.h>
9 #include <exec/execbase.h>
10 #include <exec/io.h>
11 #include <exec/devices.h>
12 #include <dos/dos.h>
14 struct dummybase
16 struct Device device;
17 struct ExecBase *sysbase;
18 BPTR seglist;
19 ULONG count;
22 struct dummyrequest
24 struct IORequest iorequest;
25 ULONG id;
28 #define init(dummybase, segList) \
29 __AROS_LC2(struct dummybase *, init, __AROS_LA(struct dummybase *, dummybase, D0), __AROS_LA(BPTR, segList, A0), struct ExecBase *, SysBase, 0, dummy)
31 #define open(iob, unitnum, flags) \
32 __AROS_LC3(void, open, __AROS_LA(struct dummyrequest *, iob, A1), __AROS_LA(ULONG, unitnum, D0), __AROS_LA(ULONG, flags, D0), struct dummybase *, dummybase, 1, dummy)
34 #define close(iob) \
35 __AROS_LC1(BPTR, close, __AROS_LA(struct dummyrequest *, iob, A1), struct dummybase *, dummybase, 2, dummy)
37 #define expunge() \
38 __AROS_LC0(BPTR, expunge, struct dummybase *, dummybase, 3, dummy)
40 #define null() \
41 __AROS_LC0(int, null, struct dummybase *, dummybase, 4, dummy)
43 #define beginio(iob) \
44 __AROS_LC1(void, beginio, __AROS_LA(struct dummyrequest *, iob, A1), struct dummybase *, dummybase, 5, dummy)
46 #define abortio(iob) \
47 __AROS_LC1(LONG, abortio, __AROS_LA(struct dummyrequest *, iob, A1), struct dummybase *, dummybase, 6, dummy)
49 #endif