KT25-0812_82A-UART/include_lib/driver/device/usb/device/msd.h
2025-08-12 18:09:23 +08:00

35 lines
1.1 KiB
C

#ifndef __USBD_MSD_H__
#define __USBD_MSD_H__
#include "asm/usb.h"
#include "usb_stack.h"
#define MAX_MSD_DEV 2
#define MSD_DEV_NAME_LEN 12
struct msd_info {
u8 bError;
u8 bSenseKey;
u8 bAdditionalSenseCode;
u8 bAddiSenseCodeQualifier;
u8 bDisk_popup[MAX_MSD_DEV];
void *dev_handle[MAX_MSD_DEV];
char dev_name[MAX_MSD_DEV][MSD_DEV_NAME_LEN];
void (*msd_wakeup_handle)(struct usb_device_t *usb_device);
void (*msd_reset_wakeup_handle)(struct usb_device_t *usb_device, u32 itf_num);
};
u32 msd_desc_config(const usb_dev usb_id, u8 *ptr, u32 *cur_itf_num);
void USB_MassStorage(const struct usb_device_t *usb_device);
u32 msd_set_wakeup_handle(void (*handle)(struct usb_device_t *usb_device));
u32 msd_register_disk(const char *name, void *arg);
u32 msd_unregister_disk(const char *name);
u32 msd_unregister_all();
u32 msd_register();
u32 msd_release();
void msd_set_reset_wakeup_handle(void (*handle)(struct usb_device_t *usb_device, u32 itf_num));
void msd_reset(struct usb_device_t *usb_device, u32 itf_num);
#endif /*USBD_MSD_H*/