5 #define DEVNAME "usbethwrap.device"
7 #define DEVBASETYPEPTR struct NepEthDevBase *
11 AROS_UFP3(DEVBASETYPEPTR
, devInit
,
12 AROS_UFPA(DEVBASETYPEPTR
, base
, D0
),
13 AROS_UFPA(BPTR
, seglist
, A0
),
14 AROS_UFPA(struct ExecBase
*, SysBase
, A6
));
16 AROS_LD3(DEVBASETYPEPTR
, devOpen
,
17 AROS_LDA(struct IOSana2Req
*, ioreq
, A1
),
18 AROS_LDA(ULONG
, unitnum
, D0
),
19 AROS_LDA(ULONG
, flags
, D1
),
20 DEVBASETYPEPTR
, base
, 1, dev
);
22 AROS_LD1(BPTR
, devClose
,
23 AROS_LDA(struct IOSana2Req
*, ioreq
, A1
),
24 DEVBASETYPEPTR
, base
, 2, dev
);
26 AROS_LD1(BPTR
, devExpunge
,
27 AROS_LDA(DEVBASETYPEPTR
, extralh
, D0
),
28 DEVBASETYPEPTR
, base
, 3, dev
);
30 AROS_LD0(DEVBASETYPEPTR
, devReserved
,
31 DEVBASETYPEPTR
, base
, 4, dev
);
33 AROS_LD1(void, devBeginIO
,
34 AROS_LDA(struct IOSana2Req
*, ioreq
, A1
),
35 DEVBASETYPEPTR
, base
, 5, dev
);
37 AROS_LD1(LONG
, devAbortIO
,
38 AROS_LDA(struct IOSana2Req
*, ioreq
, A1
),
39 DEVBASETYPEPTR
, base
, 6, dev
);
43 #define deverror(ioerr,wireerr) (((wireerr) << 8) | ((ioerr) & 0xff))
45 /* Reply the iorequest with success
49 /* Magic cookie, don't set error fields & don't reply the ioreq
51 #define RC_DONTREPLY -1
53 struct Unit
*Open_Unit(struct IOSana2Req
*ioreq
,
55 struct NepEthDevBase
*base
);
56 void Close_Unit(struct NepEthDevBase
*base
, struct NepClassEth
*ncp
,
57 struct IOSana2Req
*ioreq
);
59 WORD
cmdNSDeviceQuery(struct NepClassEth
*ncp
, struct IOStdReq
*ioreq
);
61 LONG
AbortReq(struct NepClassEth
*ncp
, struct List
*list
, struct IOSana2Req
*ioreq
);
62 void TermIO(struct NepClassEth
*ncp
, struct IOSana2Req
*ioreq
);
63 void AbortList(struct NepClassEth
*ncp
, struct List
*list
, struct BufMan
*bufman
, WORD error
);
64 void AbortRW(struct NepClassEth
*ncp
, struct BufMan
*bufman
, WORD error
);struct Sana2PacketTypeStats
* FindPacketTypeStats(struct NepClassEth
*ncp
, ULONG packettype
);
65 WORD
AddMCastRange(struct NepClassEth
*ncp
, struct IOSana2Req
*ioreq
, UBYTE
*lower
, UBYTE
*upper
);
66 WORD
DelMCastRange(struct NepClassEth
*ncp
, struct IOSana2Req
*ioreq
, UBYTE
*lower
, UBYTE
*upper
);
67 void UpdateMulticastHash(struct NepClassEth
*ncp
);
69 struct my_NSDeviceQueryResult
71 ULONG DevQueryFormat
; /* this is type 0 */
72 ULONG SizeAvailable
; /* bytes available */
73 UWORD DeviceType
; /* what the device does */
74 UWORD DeviceSubType
; /* depends on the main type */
75 const UWORD
*SupportedCommands
; /* 0 terminated list of cmd's */