msc.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019-2021 Mesotic SAS
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser General
5  * Public License v2.1. See the file LICENSE in the top level directory for
6  * more details.
7  *
8  *
9  */
10 
23 #ifndef USB_MSC_H
24 #define USB_MSC_H
25 
26 #include <stdint.h>
27 #include "usb/usbus.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
40 #define USB_MSC_SUBCLASS_SCSI 0x00
41 #define USB_MSC_SUBCLASS_RBC 0x01
42 #define USB_MSC_SUBCLASS_MMC5 0x02
43 #define USB_MSC_SUBCLASS_UFI 0x04
44 #define USB_MSC_SUBCLASS_SCSI_TCS 0x06
45 #define USB_MSC_SUBCLASS_LSDFS 0x07
46 #define USB_MSC_SUBCLASS_IEEE1667 0x08
47 #define USB_MSC_SUBCLASS_VENDOR 0xFF
57 #define USB_MSC_PROTOCOL_CBI_CCI 0x00
58 #define USB_MSC_PROTOCOL_CBI_NO_CCI 0x01
60 #define USB_MSC_PROTOCOL_BBB 0x50
61 #define USB_MSC_PROTOCOL_UAS 0x62
62 #define USB_MSC_PROTOCOL_VENDOR 0xFF
71 #define USB_MSC_CBW_FLAG_IN 0x80
80 #define USB_MSC_SETUP_REQ_ADSC 0x01
81 #define USB_MSC_SETUP_REQ_GET_REQ 0xFC
82 #define USB_MSC_SETUP_REQ_PUT_REQ 0xFD
83 #define USB_MSC_SETUP_REQ_GML 0xFE
84 #define USB_MSC_SETUP_REQ_BOMSR 0xFF
94 #define USB_MSC_CSW_STATUS_COMMAND_PASSED 0x00
95 #define USB_MSC_CSW_STATUS_COMMAND_FAILED 0x01
96 #define USB_MSC_CSW_STATUS_COMMAND_PHASE_ERROR 0x02
99 #ifdef __cplusplus
100 }
101 #endif
102 
103 #endif /* USB_MSC_H */
USBUS basic interface.