4 #define DEVNAME "usbbluetooth.device"
6 #define DEVBASETYPEPTR struct NepBTDevBase *
10 AROS_UFP3(DEVBASETYPEPTR
, 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 IOBTHCIReq
*, ioreq
, A1
),
17 AROS_LDA(ULONG
, unitnum
, D0
),
18 AROS_LDA(ULONG
, flags
, D1
),
19 DEVBASETYPEPTR
, base
, 1, dev
);
21 AROS_LD1(BPTR
, devClose
,
22 AROS_LDA(struct IOBTHCIReq
*, ioreq
, A1
),
23 DEVBASETYPEPTR
, base
, 2, dev
);
25 AROS_LD1(BPTR
, devExpunge
,
26 AROS_LDA(DEVBASETYPEPTR
, extralh
, D0
),
27 DEVBASETYPEPTR
, base
, 3, dev
);
29 AROS_LD0(DEVBASETYPEPTR
, devReserved
,
30 DEVBASETYPEPTR
, base
, 4, dev
);
32 AROS_LD1(void, devBeginIO
,
33 AROS_LDA(struct IOBTHCIReq
*, ioreq
, A1
),
34 DEVBASETYPEPTR
, base
, 5, dev
);
36 AROS_LD1(LONG
, devAbortIO
,
37 AROS_LDA(struct IOBTHCIReq
*, ioreq
, A1
),
38 DEVBASETYPEPTR
, base
, 6, dev
);
42 /* Reply the iorequest with success
46 /* Magic cookie, don't set error fields & don't reply the ioreq
48 #define RC_DONTREPLY -1
50 struct Unit
*Open_Unit(struct IOBTHCIReq
*ioreq
,
52 struct NepBTDevBase
*base
);
53 void Close_Unit(struct NepBTDevBase
*base
, struct NepClassBT
*ncp
,
54 struct IOBTHCIReq
*ioreq
);
56 WORD
cmdNSDeviceQuery(struct IOStdReq
*ioreq
, struct NepClassBT
*ncp
, struct NepBTDevBase
*base
);
58 WORD
cmdQueryDevice(struct IOBTHCIReq
*ioreq
, struct NepClassBT
*ncp
, struct NepBTDevBase
*base
);
61 void TermIO(struct IOBTHCIReq
*ioreq
, struct NepBTDevBase
*base
);
63 struct my_NSDeviceQueryResult
65 ULONG DevQueryFormat
; /* this is type 0 */
66 ULONG SizeAvailable
; /* bytes available */
67 UWORD DeviceType
; /* what the device does */
68 UWORD DeviceSubType
; /* depends on the main type */
69 const UWORD
*SupportedCommands
; /* 0 terminated list of cmd's */