summaryrefslogtreecommitdiff
path: root/utils/imxtools/scsitools/stmp_scsi.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/imxtools/scsitools/stmp_scsi.h')
-rw-r--r--utils/imxtools/scsitools/stmp_scsi.h43
1 files changed, 31 insertions, 12 deletions
diff --git a/utils/imxtools/scsitools/stmp_scsi.h b/utils/imxtools/scsitools/stmp_scsi.h
index f46bdb14b3..1a035cc649 100644
--- a/utils/imxtools/scsitools/stmp_scsi.h
+++ b/utils/imxtools/scsitools/stmp_scsi.h
@@ -22,6 +22,12 @@
22#define __STMP_SCSI__ 22#define __STMP_SCSI__
23 23
24#include <stdint.h> 24#include <stdint.h>
25#include <stdbool.h>
26#include "rbscsi.h"
27
28/**
29 * Low-Level SCSI stuff
30 */
25 31
26#define SCSI_STMP_READ 0xc0 32#define SCSI_STMP_READ 0xc0
27#define SCSI_STMP_WRITE 0xc1 33#define SCSI_STMP_WRITE 0xc1
@@ -83,18 +89,21 @@ struct scsi_stmp_logical_table_t
83 uint16_t count; /* big-endian */ 89 uint16_t count; /* big-endian */
84} __attribute__((packed)); 90} __attribute__((packed));
85 91
86#define SCSI_STMP_MEDIA_INFO_NR_DRIVES 0 92#define SCSI_STMP_MEDIA_INFO_NR_DRIVES 0 /** Number of drives (obsolete) */
87#define SCSI_STMP_MEDIA_INFO_SIZE 1 /* in bytes */ 93#define SCSI_STMP_MEDIA_INFO_SIZE 1 /** Total size (bytes) */
88#define SCSI_STMP_MEDIA_INFO_ALLOC_UNIT_SIZE 2 /* in bytes */ 94#define SCSI_STMP_MEDIA_INFO_ALLOC_UNIT_SIZE 2 /** Allocation unit size (bytes) */
89#define SCSI_STMP_MEDIA_INFO_IS_INITIALISED 3 95#define SCSI_STMP_MEDIA_INFO_IS_INITIALISED 3 /** Is initialised ? */
90#define SCSI_STMP_MEDIA_INFO_STATE 4 96#define SCSI_STMP_MEDIA_INFO_STATE 4 /** Media state */
91#define SCSI_STMP_MEDIA_INFO_IS_WRITE_PROTECTED 5 97#define SCSI_STMP_MEDIA_INFO_IS_WRITE_PROTECTED 5 /** Is write protected ? */
92#define SCSI_STMP_MEDIA_INFO_TYPE 6 98#define SCSI_STMP_MEDIA_INFO_TYPE 6 /** Physical media type */
93#define SCSI_STMP_MEDIA_INFO_SERIAL_NUMBER_SIZE 7 /* in bytes */ 99#define SCSI_STMP_MEDIA_INFO_SERIAL_NUMBER_SIZE 7 /** Serial number size (bytes) */
94#define SCSI_STMP_MEDIA_INFO_SERIAL_NUMBER 8 100#define SCSI_STMP_MEDIA_INFO_SERIAL_NUMBER 8 /** Serial number */
95#define SCSI_STMP_MEDIA_INFO_IS_SYSTEM_MEDIA 9 101#define SCSI_STMP_MEDIA_INFO_IS_SYSTEM_MEDIA 9 /** Is system media ? */
96#define SCSI_STMP_MEDIA_INFO_IS_MEDIA_PRESENT 10 102#define SCSI_STMP_MEDIA_INFO_IS_MEDIA_PRESENT 10 /** Is media present ? */
97#define SCSI_STMP_MEDIA_INFO_VENDOR 12 103#define SCSI_STMP_MEDIA_INFO_PAGE_SIZE 11 /** Page size (bytes) */
104#define SCSI_STMP_MEDIA_INFO_VENDOR 12 /** Vendor ID */
105#define SCSI_STMP_MEDIA_INFO_NAND_ID 13 /** Full NAND ID */
106#define SCSI_STMP_MEDIA_INFO_NR_DEVICES 14 /** Number of physical devices */
98 107
99#define SCSI_STMP_MEDIA_STATE_UNKNOWN 0 108#define SCSI_STMP_MEDIA_STATE_UNKNOWN 0
100#define SCSI_STMP_MEDIA_STATE_ERASED 1 109#define SCSI_STMP_MEDIA_STATE_ERASED 1
@@ -178,4 +187,14 @@ struct scsi_stmp_logical_drive_info_type_t
178 uint8_t type; 187 uint8_t type;
179} __attribute__((packed)); 188} __attribute__((packed));
180 189
190typedef struct stmp_device_t *stmp_device_t;
191
192typedef void (*stmp_printf_t)(void *user, const char *fmt, ...);
193
194/* open flags */
195#define STMP_DEBUG (1 << 0)
196/* scsi flags */
197#define STMP_READ (1 << 1)
198#define STMP_WRITE (1 << 2)
199
181#endif /* __STMP_SCSI__ */ 200#endif /* __STMP_SCSI__ */