00001
00058 #ifndef usb_H
00059
00060 #ifndef __doxygen_HIDE
00061
00062 #define usb_H
00063
00064 #endif
00065
00066 #include "usbconfig.h"
00067
00068 #include <IxOsServices.h>
00069
00070 #include "usbtypes.h"
00071 #include "usberrors.h"
00072 #include "usbconstants.h"
00073 #include "usbdriverparam.h"
00074 #include "usbstd.h"
00075
00076 #ifndef __doxygen_HIDE
00077
00078
00079 IX_USB_MBLK*
00080 ixUSBBufferAlloc(size_t size);
00081
00082 #endif
00083
00120 PUBLIC IX_STATUS
00121 ixUSBDriverInit(USBDevice *device);
00122
00144 PUBLIC IX_STATUS
00145 ixUSBDeviceEnable(USBDevice *device, BOOL enableDevice);
00146
00173 PUBLIC IX_STATUS
00174 ixUSBEndpointStall(USBDevice *device,
00175 UINT16 endpointNumber,
00176 BOOL stallFlag);
00177
00195 PUBLIC IX_STATUS
00196 ixUSBEndpointClear(USBDevice *device, UINT16 endpointNumber);
00197
00216 PUBLIC IX_STATUS
00217 ixUSBSignalResume(USBDevice *device);
00218
00236 PUBLIC IX_STATUS
00237 ixUSBFrameCounterGet(USBDevice *device, UINT16 *counter);
00238
00253 PUBLIC IX_STATUS
00254 ixUSBReceiveCallbackRegister(USBDevice *device,
00255 USBReceiveCallback callbackFunction);
00256
00271 PUBLIC IX_STATUS
00272 ixUSBSetupCallbackRegister(USBDevice *device,
00273 USBSetupCallback callbackFunction);
00274
00290 PUBLIC IX_STATUS
00291 ixUSBBufferSubmit(USBDevice *device,
00292 UINT16 destinationEndpoint,
00293 IX_USB_MBLK *sendBuffer);
00294
00308 PUBLIC IX_STATUS
00309 ixUSBBufferCancel(USBDevice *device,
00310 UINT16 destinationEndpoint,
00311 IX_USB_MBLK *sendBuffer);
00312
00328 PUBLIC IX_STATUS
00329 ixUSBEventCallbackRegister(USBDevice *device,
00330 USBEventCallback eventCallback,
00331 USBEventMap eventMap);
00332
00347 PUBLIC IX_STATUS
00348 ixUSBIsEndpointStalled(USBDevice *device, UINT16 endpointNumber, BOOL *stallState);
00349
00350 #ifdef IX_USB_HAS_STATISTICS_SHOW
00351
00362 PUBLIC IX_STATUS
00363 ixUSBStatisticsShow(USBDevice *device);
00364 #endif
00365
00366 #ifdef IX_USB_HAS_GET_ERROR_STRING
00367
00378 PUBLIC const char *
00379 ixUSBErrorStringGet(UINT32 errorCode);
00380 #endif
00381
00382 #ifdef IX_USB_HAS_ENDPOINT_INFO_SHOW
00383
00392 PUBLIC IX_STATUS
00393 ixUSBEndpointInfoShow(USBDevice *device);
00394 #endif
00395
00396 #ifdef IX_USB_HAS_DUMMY_MBLK
00397
00413 PUBLIC void
00414 free_IX_USB_MBLK(IX_USB_MBLK *this_IX_USB_MBLK);
00415 #endif
00416
00417 #endif
00418