X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=ppcskel.git;a=blobdiff_plain;f=usb%2Fdrivers%2Fclass%2Fstorage.h;h=bee975de10da194a82f120625fe49999089a99f5;hp=4d216f6d5b9c7cb91ee1b96f8e4eb099173964a3;hb=d67f70cc5f1c9bc9e911f145b38902f102f7c11d;hpb=6ecceb2e08b3503e8c500e01cd1ecdcb873dd3b0 diff --git a/usb/drivers/class/storage.h b/usb/drivers/class/storage.h index 4d216f6..bee975d 100644 --- a/usb/drivers/class/storage.h +++ b/usb/drivers/class/storage.h @@ -89,5 +89,60 @@ u8 usb_storage_read_capacity(u8 device); u8 usb_storage_inquiry(u8 device); u8 usb_storage_read_sector(u8 device, u32 sector, char * buf); u8 usb_storage_write_sector(u8 device, u32 sector, char * buf); -#endif /* __STORAGE_H */ +#define USBSTORAGE_OK 0 +#define USBSTORAGE_ENOINTERFACE -10000 +#define USBSTORAGE_ESENSE -10001 +#define USBSTORAGE_ESHORTWRITE -10002 +#define USBSTORAGE_ESHORTREAD -10003 +#define USBSTORAGE_ESIGNATURE -10004 +#define USBSTORAGE_ETAG -10005 +#define USBSTORAGE_ESTATUS -10006 +#define USBSTORAGE_EDATARESIDUE -10007 +#define USBSTORAGE_ETIMEDOUT -10008 +#define USBSTORAGE_EINIT -10009 +#define USBSTORAGE_PROCESSING -10010 + +typedef struct +{ + u8 configuration; + u32 interface; + u32 altInterface; + + u8 ep_in; + u8 ep_out; + + u8 max_lun; + u32 *sector_size; + + s32 usb_fd; + + s32 retval; + + u32 tag; + u8 suspended; + + u8 *buffer; +} usbstorage_handle; + +s32 USBStorage_Initialize(); + +s32 USBStorage_Open(usbstorage_handle *dev, const char *bus, u16 vid, u16 pid); +s32 USBStorage_Close(usbstorage_handle *dev); +s32 USBStorage_Reset(usbstorage_handle *dev); + +s32 USBStorage_GetMaxLUN(usbstorage_handle *dev); +s32 USBStorage_MountLUN(usbstorage_handle *dev, u8 lun); +s32 USBStorage_Suspend(usbstorage_handle *dev); + +s32 USBStorage_ReadCapacity(usbstorage_handle *dev, u8 lun, u32 *sector_size, u32 *n_sectors); +s32 USBStorage_Read(usbstorage_handle *dev, u8 lun, u32 sector, u16 n_sectors, u8 *buffer); +s32 USBStorage_Write(usbstorage_handle *dev, u8 lun, u32 sector, u16 n_sectors, const u8 *buffer); + +#if 0 +#define DEVICE_TYPE_WII_USB (('W'<<24)|('U'<<16)|('S'<<8)|'B') + +extern const DISC_INTERFACE __io_usbstorage; +#endif + +#endif /* __STORAGE_H */