Table of Contents
This Module provides support calls for the USB system. Every call here can be implemented using discrete calls from the "core" module and structure manipulation.
The SWIs here adhere to the standard RISC OS error reporting mechanism. A Call returning with the V flag set indicates that the data pointed to by R0 on exit is an error block and the call has failed
The SWIs provided here break down into three general categories
Interfacing to functionality similar to the C API |
Creation of standard structures E.G. waiting structures |
Manipulation of standard structures |
Where appropriate links will be provided to their equivalents in the RISC OS USB C API.
All HostController, Endpoint and Device references have an associated reference count. This count is incremented by the associated find calls for them, and needs to be decremented when they are no-longer of use to the driver. A reference can be de-registered by USBLib_ReferenceDeregister (SWI &56340) which will take one off the reference count. When the reference count reaches zero, the reference will finally be deleted from the system, freeing up any associated resources.
If the reference counts are not suitably de-registered, then you will leave references and their resources in the system, and will therefore leave less room for new resources.
The reference count of of endpoints created when the device is first obtained by the driver may well not be zero, drivers should not assume this behaviour and should balance claims and releases accordingly.
Table of Contents
Table of Contents
Table of Contents
Table of Contents
Table of Contents
Table of Contents