USB_Host_Shield_2.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Macros
masstorage.h File Reference
#include <inttypes.h>
#include <avr/pgmspace.h>
#include "avrpins.h"
#include "max3421e.h"
#include "usbhost.h"
#include "usb_ch9.h"
#include "Usb.h"
#include <WProgram.h>
#include "printhex.h"
#include "hexdump.h"
#include "message.h"
#include "confdescparser.h"
Include dependency graph for masstorage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Capacity
 
struct  InquiryResponse
 
struct  CommandBlockWrapper
 
struct  CommandStatusWrapper
 
struct  RequestSenseResponce
 
class  BulkOnly
 

Macros

#define SWAP(a, b)   (((a) ^= (b)), ((b) ^= (a)), ((a) ^= (b)))
 
#define bmREQ_MASSOUT   USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
 
#define bmREQ_MASSIN   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
 
#define MASS_SUBCLASS_SCSI_NOT_REPORTED   0x00
 
#define MASS_SUBCLASS_RBC   0x01
 
#define MASS_SUBCLASS_ATAPI   0x02
 
#define MASS_SUBCLASS_OBSOLETE1   0x03
 
#define MASS_SUBCLASS_UFI   0x04
 
#define MASS_SUBCLASS_OBSOLETE2   0x05
 
#define MASS_SUBCLASS_SCSI   0x06
 
#define MASS_SUBCLASS_LSDFS   0x07
 
#define MASS_SUBCLASS_IEEE1667   0x08
 
#define MASS_PROTO_CBI   0x00
 
#define MASS_PROTO_CBI_NO_INT   0x01
 
#define MASS_PROTO_OBSOLETE   0x02
 
#define MASS_PROTO_BBB   0x50
 
#define MASS_PROTO_UAS   0x62
 
#define MASS_REQ_ADSC   0x00
 
#define MASS_REQ_GET   0xFC
 
#define MASS_REQ_PUT   0xFD
 
#define MASS_REQ_GET_MAX_LUN   0xFE
 
#define MASS_REQ_BOMSR   0xFF
 
#define MASS_CBW_SIGNATURE   0x43425355
 
#define MASS_CSW_SIGNATURE   0x53425355
 
#define MASS_CMD_DIR_OUT   (0 << 7)
 
#define MASS_CMD_DIR_IN   (1 << 7)
 
#define SCSI_CMD_INQUIRY   0x12
 
#define SCSI_CMD_REPORT_LUNS   0xA0
 
#define SCSI_CMD_REQUEST_SENSE   0x03
 
#define SCSI_CMD_FORMAT_UNIT   0x04
 
#define SCSI_CMD_READ_6   0x08
 
#define SCSI_CMD_READ_10   0x28
 
#define SCSI_CMD_READ_CAPACITY_10   0x25
 
#define SCSI_CMD_TEST_UNIT_READY   0x00
 
#define SCSI_CMD_WRITE_6   0x0A
 
#define SCSI_CMD_WRITE_10   0x2A
 
#define SCSI_CMD_MODE_SENSE_6   0x1A
 
#define SCSI_CMD_MODE_SENSE_10   0x5A
 
#define MASS_ERR_SUCCESS   0x00
 
#define MASS_ERR_PHASE_ERROR   0x01
 
#define MASS_ERR_DEVICE_DISCONNECTED   0x11
 
#define MASS_ERR_UNABLE_TO_RECOVER   0x12
 
#define MASS_ERR_GENERAL_USB_ERROR   0xFF
 
#define MASS_TRANS_FLG_CALLBACK   0x01
 
#define MASS_TRANS_FLG_NO_STALL_CHECK   0x02
 
#define MASS_TRANS_FLG_NO_PHASE_CHECK   0x04
 
#define MASS_MAX_ENDPOINTS   3
 

Macro Definition Documentation

#define MASS_CBW_SIGNATURE   0x43425355
#define MASS_CMD_DIR_IN   (1 << 7)
#define MASS_CMD_DIR_OUT   (0 << 7)
#define MASS_CSW_SIGNATURE   0x53425355
#define MASS_ERR_DEVICE_DISCONNECTED   0x11
#define MASS_ERR_GENERAL_USB_ERROR   0xFF
#define MASS_ERR_PHASE_ERROR   0x01
#define MASS_ERR_SUCCESS   0x00
#define MASS_ERR_UNABLE_TO_RECOVER   0x12
#define MASS_MAX_ENDPOINTS   3
#define MASS_PROTO_BBB   0x50
#define MASS_PROTO_CBI   0x00
#define MASS_PROTO_CBI_NO_INT   0x01
#define MASS_PROTO_OBSOLETE   0x02
#define MASS_PROTO_UAS   0x62
#define MASS_REQ_ADSC   0x00
#define MASS_REQ_BOMSR   0xFF
#define MASS_REQ_GET   0xFC
#define MASS_REQ_GET_MAX_LUN   0xFE
#define MASS_REQ_PUT   0xFD
#define MASS_SUBCLASS_ATAPI   0x02
#define MASS_SUBCLASS_IEEE1667   0x08
#define MASS_SUBCLASS_LSDFS   0x07
#define MASS_SUBCLASS_OBSOLETE1   0x03
#define MASS_SUBCLASS_OBSOLETE2   0x05
#define MASS_SUBCLASS_RBC   0x01
#define MASS_SUBCLASS_SCSI   0x06
#define MASS_SUBCLASS_SCSI_NOT_REPORTED   0x00
#define MASS_SUBCLASS_UFI   0x04
#define MASS_TRANS_FLG_CALLBACK   0x01
#define MASS_TRANS_FLG_NO_PHASE_CHECK   0x04
#define MASS_TRANS_FLG_NO_STALL_CHECK   0x02
#define SCSI_CMD_FORMAT_UNIT   0x04
#define SCSI_CMD_INQUIRY   0x12
#define SCSI_CMD_MODE_SENSE_10   0x5A
#define SCSI_CMD_MODE_SENSE_6   0x1A
#define SCSI_CMD_READ_10   0x28
#define SCSI_CMD_READ_6   0x08
#define SCSI_CMD_READ_CAPACITY_10   0x25
#define SCSI_CMD_REPORT_LUNS   0xA0
#define SCSI_CMD_REQUEST_SENSE   0x03
#define SCSI_CMD_TEST_UNIT_READY   0x00
#define SCSI_CMD_WRITE_10   0x2A
#define SCSI_CMD_WRITE_6   0x0A
#define SWAP (   a,
 
)    (((a) ^= (b)), ((b) ^= (a)), ((a) ^= (b)))