Documented GVF_SAVE_VAR alongside other flags, and removed a query/doubt
[AROS.git] / rom / usb / classes / massstorage / dev.h
blobb839f1c88ae8153e891a1024e10f40c7fe299ca2
2 /* DEVICE STUFF */
4 #define DEVNAME "usbscsi.device"
6 #define DEVBASETYPEPTR struct NepMSDevBase *
8 /* local protos */
10 AROS_UFP3(DEVBASETYPEPTR, GM_UNIQUENAME(devInit),
11 AROS_UFPA(DEVBASETYPEPTR, base, D0),
12 AROS_UFPA(BPTR, seglist, A0),
13 AROS_UFPA(struct ExecBase *, SysBase, A6));
15 AROS_LD3(DEVBASETYPEPTR, devOpen,
16 AROS_LDA(struct IORequest *, ioreq, A1),
17 AROS_LDA(ULONG, unitnum, D0),
18 AROS_LDA(ULONG, flags, D1),
19 DEVBASETYPEPTR, base, 1, usbscsidev);
21 AROS_LD1(BPTR, devClose,
22 AROS_LDA(struct IORequest *, ioreq, A1),
23 DEVBASETYPEPTR, base, 2, usbscsidev);
25 AROS_LD1(BPTR, devExpunge,
26 AROS_LDA(DEVBASETYPEPTR, extralh, D0),
27 DEVBASETYPEPTR, base, 3, usbscsidev);
29 AROS_LD0(DEVBASETYPEPTR, devReserved,
30 DEVBASETYPEPTR, base, 4, usbscsidev);
32 AROS_LD1(void, devBeginIO,
33 AROS_LDA(struct IOStdReq *, ioreq, A1),
34 DEVBASETYPEPTR, base, 5, usbscsidev);
36 AROS_LD1(LONG, devAbortIO,
37 AROS_LDA(struct IOStdReq *, ioreq, A1),
38 DEVBASETYPEPTR, base, 6, usbscsidev);
40 /* Device stuff */
42 /* Reply the iorequest with success */
43 #define RC_OK 0
45 /* Magic cookie, don't set error fields & don't reply the ioreq */
46 #define RC_DONTREPLY -1
48 WORD GM_UNIQUENAME(cmdNSDeviceQuery)(struct IOStdReq *ioreq, struct NepClassMS *unit, struct NepMSDevBase *base);
50 void GM_UNIQUENAME(TermIO)(struct IOStdReq *ioreq, struct NepMSDevBase *base);
52 struct my_NSDeviceQueryResult
54 ULONG DevQueryFormat; /* this is type 0 */
55 ULONG SizeAvailable; /* bytes available */
56 UWORD DeviceType; /* what the device does */
57 UWORD DeviceSubType; /* depends on the main type */
58 const UWORD *SupportedCommands; /* 0 terminated list of cmd's */