LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
usbstorage.h
Go to the documentation of this file.
1#ifndef __USBSTORAGE_H__
2#define __USBSTORAGE_H__
3
4
5#ifdef __cplusplus
6 extern "C" {
7#endif /* __cplusplus */
8
9#include "ehci.h"
10
11
12#define USBSTORAGE_OK 0
13#define USBSTORAGE_ENOINTERFACE -10000
14#define USBSTORAGE_ESENSE -10001
15#define USBSTORAGE_ESHORTWRITE -10002
16#define USBSTORAGE_ESHORTREAD -10003
17#define USBSTORAGE_ESIGNATURE -10004
18#define USBSTORAGE_ETAG -10005
19#define USBSTORAGE_ESTATUS -10006
20#define USBSTORAGE_EDATARESIDUE -10007
21#define USBSTORAGE_ETIMEDOUT -ETIMEDOUT
22#define USBSTORAGE_EINIT -10009
23
24typedef struct
25{
29
32
34 u32 sector_size[16];
35 u32 n_sector[16];
36
38
39 //mutex_t lock;
40 //cond_t cond;
42
45
48
51
52//s32 USBStorage_Open(struct ehci_hcd * ehci,usbstorage_handle *dev, struct ehci_device *fd);
55
59
60s32 USBStorage_ReadCapacity(struct ehci_hcd * ehci,usbstorage_handle *dev, u8 lun, u32 *sector_size, u32 *n_sectors);
61s32 USBStorage_Read(struct ehci_hcd * ehci,usbstorage_handle *dev, u8 lun, u32 sector, u16 n_sectors, u8 *buffer);
62s32 USBStorage_Write(struct ehci_hcd * ehci,usbstorage_handle *dev, u8 lun, u32 sector, u16 n_sectors, const u8 *buffer);
64
65#define DEVICE_TYPE_WII_USB (('W'<<24)|('U'<<16)|('S'<<8)|'B')
66
67//s32 USBStorage_Try_Device(struct ehci_hcd * ehci,struct ehci_device *fd);
68void USBStorage_Umount(void);
69
70#ifdef __cplusplus
71 }
72#endif /* __cplusplus */
73
74
75#endif /* __USBSTORAGE_H__ */
struct ehci_hcd * ehci
Definition: ehci.h:23
Definition: ehci.h:75
struct ehci_device * usb_fd
Definition: usbstorage.h:37
s32 USBStorage_GetMaxLUN(usbstorage_handle *dev)
Definition: usbstorage.c:894
s32 USBStorage_Read(struct ehci_hcd *ehci, usbstorage_handle *dev, u8 lun, u32 sector, u16 n_sectors, u8 *buffer)
Definition: usbstorage.c:1017
s32 USBStorage_Reset(struct ehci_hcd *ehci, usbstorage_handle *dev)
Definition: usbstorage.c:886
s32 USBStorage_Suspend(usbstorage_handle *dev)
s32 USBStorage_MountLUN(struct ehci_hcd *ehci, usbstorage_handle *dev, u8 lun)
Definition: usbstorage.c:899
s32 USBStorage_Write(struct ehci_hcd *ehci, usbstorage_handle *dev, u8 lun, u32 sector, u16 n_sectors, const u8 *buffer)
Definition: usbstorage.c:1037
s32 USBStorage_Inquiry(struct ehci_hcd *ehci, usbstorage_handle *dev, u8 lun)
Definition: usbstorage.c:935
s32 USBStorage_Close(usbstorage_handle *dev)
Definition: usbstorage.c:878
s32 USBStorage_Init(void)
Definition: usbstorage.c:1215
void USBStorage_Umount(void)
s32 USBStorage_ReadCapacity(struct ehci_hcd *ehci, usbstorage_handle *dev, u8 lun, u32 *sector_size, u32 *n_sectors)
Definition: usbstorage.c:948
uint8_t u8
8bit unsigned integer
Definition: xetypes.h:12
uint16_t u16
16bit unsigned integer
Definition: xetypes.h:13
int32_t s32
32bit signed integer
Definition: xetypes.h:19
uint32_t u32
32bit unsigned integer
Definition: xetypes.h:14