Added initial usbstorage code.
[svpe-wii.git] / usbstorage.h
blobe5803608e20308a4b5f80927eda42d75adb5eaf3
1 #ifndef __USBSTORAGE_H
2 #define __USBSTORAGE_H 1
4 #include <gctypes.h>
6 typedef struct
8 u8 configuration;
9 u32 interface;
10 u32 altInterface;
12 u8 ep_in;
13 u8 ep_out;
15 u32 ep_in_size;
16 u32 ep_out_size;
18 u32 sector_size;
19 u32 n_sectors;
21 s32 usb_fd;
23 mutex_t lock;
25 u32 tag;
26 } usbstorage_handle;
28 s32 USB_GetConfiguration(s32 fd, int index, usb_configurationdesc *ucd);
30 s32 USBStorage_Initialize();
31 s32 USBStorage_Deinitialize();
33 usbstorage_handle *USBStorage_Open(const char *bus, u16 vid, u16 pid);
34 s32 USBStorage_Close(usbstorage_handle *dev);
36 s32 USBStorage_ReadCapacity(usbstorage_handle *dev, u32 *sector_size, u32 *n_sectors);
38 s32 USBStorage_Read(usbstorage_handle *dev, u32 sector, u8 *buffer, u16 n_sectors);
39 s32 USBStorage_Write(usbstorage_handle *dev, u32 sector, const u8 *buffer, u16 n_sectors);
41 #endif