diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-10-22 16:20:18 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-10-22 16:20:18 +0000 |
commit | 87bf23596937f76ca7910cfd01d84e7b7226ec62 (patch) | |
tree | ed7aa5d74929fef1ce1cdca15feeea71f0da5222 | |
parent | 4261a7a4b966c391b88c4e9c6b9df4141ae93430 (diff) | |
download | px4-nuttx-87bf23596937f76ca7910cfd01d84e7b7226ec62.tar.gz px4-nuttx-87bf23596937f76ca7910cfd01d84e7b7226ec62.tar.bz2 px4-nuttx-87bf23596937f76ca7910cfd01d84e7b7226ec62.zip |
Building environment for USB storage
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1061 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r-- | nuttx/ChangeLog | 1 | ||||
-rw-r--r-- | nuttx/Documentation/NuttX.html | 3 | ||||
-rw-r--r-- | nuttx/configs/mcu123-lpc214x/nsh/defconfig | 1 | ||||
-rw-r--r-- | nuttx/configs/mcu123-lpc214x/ostest/defconfig | 1 | ||||
-rw-r--r-- | nuttx/configs/mcu123-lpc214x/usbserial/defconfig | 3 | ||||
-rw-r--r-- | nuttx/drivers/Makefile | 2 | ||||
-rw-r--r-- | nuttx/drivers/usbdev/Make.defs | 2 | ||||
-rw-r--r-- | nuttx/include/nuttx/scsi.h (renamed from nuttx/drivers/usbdev/usbdev_scsi.h) | 35 | ||||
-rw-r--r-- | nuttx/include/nuttx/usb_bulk.h | 139 | ||||
-rw-r--r-- | nuttx/include/nuttx/usbdev.h | 97 | ||||
-rw-r--r-- | nuttx/include/nuttx/usbdev_trace.h | 229 |
11 files changed, 378 insertions, 135 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index eca0ebe49..63e136be0 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -507,4 +507,5 @@ * NSH: Add LPC214x-specific support to NSH; NSH now mounts any SD cards in the slot. * FAT: Fix access to unaligned 32-bit values in partion table (start sector & size) * Fixed a problem with a un-initialized variable in the USB serial driver. + * Added USB storage NXP LPC214x configuration diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html index ec77f0cf3..d151f208f 100644 --- a/nuttx/Documentation/NuttX.html +++ b/nuttx/Documentation/NuttX.html @@ -8,7 +8,7 @@ <tr align="center" bgcolor="#e4e4e4"> <td> <h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1> - <p>Last Updated: October 17, 2008</p> + <p>Last Updated: October 22, 2008</p> </td> </tr> </table> @@ -1139,6 +1139,7 @@ nuttx-0.3.17 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> * NSH: Add LPC214x-specific support to NSH; NSH now mounts any SD cards in the slot. * FAT: Fix access to unaligned 32-bit values in partion table (start sector & size) * Fixed a problem with a un-initialized variable in the USB serial driver. + * Added USB storage NXP LPC214x configuration pascal-0.1.3 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/nuttx/configs/mcu123-lpc214x/nsh/defconfig b/nuttx/configs/mcu123-lpc214x/nsh/defconfig index 55c716249..488b5834e 100644 --- a/nuttx/configs/mcu123-lpc214x/nsh/defconfig +++ b/nuttx/configs/mcu123-lpc214x/nsh/defconfig @@ -367,6 +367,7 @@ CONFIG_USBDEV=n CONFIG_USBDEV_ISOCHRONOUS=n CONFIG_USBDEV_DUALSPEED=n CONFIG_USBDEV_SELFPOWERED=y +CONFIG_USBDEV_REMOTEWAKEUP=n CONFIG_USBDEV_MAXPOWER=100 CONFIG_USBDEV_TRACE=n CONFIG_USBDEV_TRACE_NRECORDS=128 diff --git a/nuttx/configs/mcu123-lpc214x/ostest/defconfig b/nuttx/configs/mcu123-lpc214x/ostest/defconfig index c3e197e69..78b705820 100644 --- a/nuttx/configs/mcu123-lpc214x/ostest/defconfig +++ b/nuttx/configs/mcu123-lpc214x/ostest/defconfig @@ -362,6 +362,7 @@ CONFIG_USBDEV=n CONFIG_USBDEV_ISOCHRONOUS=n CONFIG_USBDEV_DUALSPEED=n CONFIG_USBDEV_SELFPOWERED=y +CONFIG_USBDEV_REMOTEWAKEUP=n CONFIG_USBDEV_MAXPOWER=100 CONFIG_USBDEV_TRACE=n CONFIG_USBDEV_TRACE_NRECORDS=128 diff --git a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig index aae1c468f..e66b5bb78 100644 --- a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig +++ b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig @@ -363,7 +363,8 @@ CONFIG_USBDEV=y CONFIG_USBDEV_ISOCHRONOUS=n CONFIG_USBDEV_DUALSPEED=n CONFIG_USBDEV_SELFPOWERED=y -CONFIG_USBDEV_MAXPOWER=100 +CCONFIG_USBDEV_REMOTEWAKEUP=n +ONFIG_USBDEV_MAXPOWER=100 CONFIG_USBDEV_TRACE=n CONFIG_USBDEV_TRACE_NRECORDS=128 diff --git a/nuttx/drivers/Makefile b/nuttx/drivers/Makefile index 846a4208b..70f10d19d 100644 --- a/nuttx/drivers/Makefile +++ b/nuttx/drivers/Makefile @@ -45,12 +45,14 @@ ifeq ($(CONFIG_USBDEV),y) include usbdev/Make.defs ROOTDEPPATH = --dep-path . USBDEVDEPPATH = --dep-path usbdev +CFLAGS += -I$(TOPDIR)/drivers/usbdev endif ifneq ($(CONFIG_DISABLE_MOUNTPOINT),y) include mmcsd/Make.defs ROOTDEPPATH = --dep-path . MMCSDDEPPATH = --dep-path mmcsd +CFLAGS += -I$(TOPDIR)/drivers/mmcsd endif ASRCS = $(NET_ASRCS) $(USBDEV_ASRCS) $(MMCSD_ASRCS) diff --git a/nuttx/drivers/usbdev/Make.defs b/nuttx/drivers/usbdev/Make.defs index dd2149ffa..1a79570e4 100644 --- a/nuttx/drivers/usbdev/Make.defs +++ b/nuttx/drivers/usbdev/Make.defs @@ -37,6 +37,6 @@ USBDEV_ASRCS = USBDEV_CSRCS = ifeq ($(CONFIG_USBDEV),y) -USBDEV_CSRCS += usbdev_serial.c usbdev_trace.c +USBDEV_CSRCS += usbdev_serial.c usbdev_storage.c usbdev_trace.c endif diff --git a/nuttx/drivers/usbdev/usbdev_scsi.h b/nuttx/include/nuttx/scsi.h index c4e4a766e..bea42866f 100644 --- a/nuttx/drivers/usbdev/usbdev_scsi.h +++ b/nuttx/include/nuttx/scsi.h @@ -1,5 +1,5 @@ /**************************************************************************** - * drivers/usbdev/usbdev_scsi.h + * include/nuttx/scsi.h * * Copyright (C) 2008 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> @@ -43,8 +43,8 @@ * ****************************************************************************/ -#ifndef __DRIVERS_USBDV_USBDEV_SCSI_H -#define __DRIVERS_USBDV_USBDEV_SCSI_H +#ifndef __INCLUDE_NUTTX_SCSI_H +#define __INCLUDE_NUTTX_SCSI_H /**************************************************************************** * Included Files @@ -450,7 +450,7 @@ #define SCSIRESP_INQUIRYFLAGS3_SCCS 0x80 /* Bit 8: SCCS */ #define SCSIRESP_INQUIRYFLAGS3_ACC 0x40 /* Bit 7: ACC */ -#define SCSIRESP_INQUIRYFLAGS3_TPGSMASK 0x30 /* Bits 4-5: TPGS +#define SCSIRESP_INQUIRYFLAGS3_TPGSMASK 0x30 /* Bits 4-5: TPGS */ #define SCSIRESP_INQUIRYFLAGS3_3PC 0x08 /* Bit 3: 3PC */ #define SCSIRESP_INQUIRYFLAGS3_PROTECT 0x01 /* Bit 0: Protect */ @@ -604,9 +604,9 @@ /* Read 12 */ #define SCSICMD_READ12FLAGS_RDPROTECTMASK 0xe0 -#define SCSICMD_READ13FLAGS_DPO 0x10 /* Disable Page Out */ -#define SCSICMD_READ14FLAGS_FUA 0x08 -#define SCSICMD_READ15FLAGS_FUANV 0x02 +#define SCSICMD_READ12FLAGS_DPO 0x10 /* Disable Page Out */ +#define SCSICMD_READ12FLAGS_FUA 0x08 +#define SCSICMD_READ12FLAGS_FUANV 0x02 /* Write 12 */ @@ -667,9 +667,9 @@ struct scsiresp_inquiry_s { /* Mandatory */ - ubyte qualtype /* 0: Bits 5-7: Peripheral qualifier; Bits 0-4: Peripheral device type */ + ubyte qualtype; /* 0: Bits 5-7: Peripheral qualifier; Bits 0-4: Peripheral device type */ ubyte flags1; /* 1: See SCSIRESP_INQUIRY_FLAGS1_* */ - ubyre version; /* 2: Version */ + ubyte version; /* 2: Version */ ubyte flags2; /* 3: See SCSIRESP_INQUIRY_FLAGS2_* */ ubyte len; /* 4: Additional length */ ubyte flags3; /* 5: See SCSIRESP_INQUIRY_FLAGS3_* */ @@ -694,7 +694,7 @@ struct scsiresp_inquiry_s ubyte version8[2]; /* 72-73: Version Descriptor 8 */ ubyte reserved2[22]; /* 74-95: Reserved */ /* 96-: Vendor-specific parameters may follow */ -} +}; #define SCSIRESP_INQUIRY_SIZEOF 36 /* Minimum size */ struct scsicmd_modeselect6_s @@ -775,7 +775,7 @@ struct scsicmd_read6_s ubyte opcode; /* 0: 0x08 */ ubyte mslba; /* 1: Bits 5-7: reserved; Bits 0-6: MS Logical Block Address (LBA) */ ubyte lslba[2]; /* 2-3: LS Logical Block Address (LBA) */ - ubyte xferlen; /* 4: Transfer length */ + ubyte xfrlen; /* 4: Transfer length */ ubyte control; /* 5: Control */ }; #define SCSICMD_READ6_SIZEOF 6 @@ -785,7 +785,7 @@ struct scsicmd_write6_s ubyte opcode; /* 0: 0x0a */ ubyte mslba; /* 1: Bits 5-7: reserved; Bits 0-6: MS Logical Block Address (LBA) */ ubyte lslba[2]; /* 2-3: LS Logical Block Address (LBA) */ - ubyte xferlen; /* 4: Transfer length */ + ubyte xfrlen; /* 4: Transfer length */ ubyte control; /* 5: Control */ }; #define SCSICMD_WRITE6_SIZEOF 6 @@ -804,7 +804,7 @@ struct scsicmd_startstopunit_s struct scsicmd_preventmediumremoval_s { ubyte opcode; /* 0: 0x1e */ - ubyte reserved[3]: /* 1-3: Reserved */ + ubyte reserved[3]; /* 1-3: Reserved */ ubyte prevent; /* 4: Bits 2-7: Reserved, Bits 0:1: prevent */ ubyte control; /* 5: Control */ }; @@ -813,9 +813,9 @@ struct scsicmd_preventmediumremoval_s struct scsicmd_readcapacity10_s { ubyte opcode; /* 0: 0x25 */ - ubyte reserved; /* 1: Bits 1-7: Reserved, Bit 0: Obsolete */ + ubyte reserved1; /* 1: Bits 1-7: Reserved, Bit 0: Obsolete */ ubyte lba[4]; /* 2-5: Logical block address (LBA) */ - ubyte reserved[2; /* 6-7: Reserved */ + ubyte reserved2[2]; /* 6-7: Reserved */ ubyte pmi; /* 8: Bits 1-7 Reserved; Bit 0: PMI */ ubyte control; /* 9: Control */ }; @@ -933,7 +933,7 @@ struct scsicmd_write12_s ubyte lba[4]; /* Logical Block Address (LBA) */ ubyte xfrlen[4]; /* Transfer length */ ubyte groupno; /* Bit 7: restricted; Bits 5-6: reserved; Bits 0-6: group number */ - ubyte control; /* Control */ + ubyte control; /* Control */ }; #define SCSICMD_WRITE12_SIZEOF 12 @@ -964,4 +964,5 @@ extern "C" { #if defined(__cplusplus) } #endif -#endif /* __DRIVERS_USBDV_USBDEV_SCSI_H */ + +#endif /* __INCLUDE_NUTTX_SCSI_H */ diff --git a/nuttx/include/nuttx/usb_bulk.h b/nuttx/include/nuttx/usb_bulk.h new file mode 100644 index 000000000..2bd99a4d3 --- /dev/null +++ b/nuttx/include/nuttx/usb_bulk.h @@ -0,0 +1,139 @@ +/************************************************************************************ + * include/nuttx/usb_bulk.h + * + * Copyright (C) 2008 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * + * References: + * "Universal Serial Bus Mass Storage Class, Specification Overview," + * Revision 1.2, USB Implementer's Forum, June 23, 2003. + * + * "Universal Serial Bus Mass Storage Class, Bulk-Only Transport," + * Revision 1.0, USB Implementer's Forum, September 31, 1999. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __NUTTX_USB_BULK_H +#define __NUTTX_USB_BULK_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include <nuttx/config.h> +#include <sys/types.h> + +/************************************************************************************ + * Definitions + ************************************************************************************/ + +/* Mass storage requests */ + +#define USBSTRG_TYPE_SETUPIN (USB_DIR_IN|USB_REQ_TYPE_CLASS|USB_REQ_RECIPIENT_INTERFACE) +#define USBSTRG_TYPE_SETUPOUT (USB_DIR_OUT|USB_REQ_TYPE_CLASS|USB_REQ_RECIPIENT_INTERFACE) + +#define USBSTRG_REQ_MSRESET (0xff) /* Reset mass storage device and interface */ +#define USBSTRG_REQ_GETMAXLUN (0xfe) /* Return number LUNs supported */ + +/* Mass storage subclass codes */ + +#define USBSTRG_SUBCLASS_RBC (0x01) /* Reduced block commands (e.g., flash devices) */ +#define SUBSTRG_SUBCLASS_SFF1 (0x02) /* SFF-8020i/MMC-2 (ATAPI) (e.g., C/DVD) */ +#define SUBSTRG_SUBCLASS_QIC (0x03) /* QIC-157 (e.g., tape device) */ +#define SUBSTRG_SUBCLASS_UFI (0x04) /* e.g. floppy device */ +#define SUBSTRG_SUBCLASS_SFF2 (0x05) /* SFF-8070i (e.g. floppy disk) */ +#define SUBSTRG_SUBCLASS_SCSI (0x06) /* SCSI transparent */ + +/* Mass storage transport protocols */ + +#define USBSTRG_PROTO_CBI0 (0x00) /* CBI transport with command completion interrupt */ +#define USBSTRG_PROTO_CBI1 (0x01) /* CBI transport without command completion interrupt */ +#define USBSTRG_PROTO_BULKONLY (0x50) /* Bulk only transport */ + +/* Common Block Wrapper (CBW) */ + +#define USBSTRG_CBW_SIZEOF (31) +#define USBSTRG_CBW_SIGNATURE (0x43425355) /* Little endian USBC */ +#define USBSTRG_CBWFLAG_IN (0x80) /* Bit 7=1: Direction = IN */ + +#define USBSTRG_MAXCDBLEN (16) /* Max length of SCSI Command Data Block */ + +/* Command Status Wrapper (CSW) */ + +#define USBSTRG_CSW_SIZEOF (13) +#define USBSTRG_CSW_SIGNATURE (0x53425355) /* Little endian 'USBS' */ +#define USBSTRG_CSWSTATUS_PASS (0) +#define USBSTRG_CSWSTATUS_FAIL (1) +#define USBSTRG_CSWSTATUS_PHASEERROR (2) + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/* Command Block Wrapper (CBW) */ + +struct usbstrg_cbw_s +{ + ubyte signature[4]; /* 'USBC' = 0x43425355 */ + ubyte tag[4]; /* Depends on command id */ + ubyte datlen[4]; /* Number of bytes that host expects to transfer */ + ubyte flags; /* Bit 7: Direction=IN (other obsolete or reserved) */ + ubyte lun; /* LUN (normally 0) */ + ubyte cdblen; /* len of cdb[] */ + ubyte cdb[USBSTRG_MAXCDBLEN]; /* Command Data Block */ +}; + +/* Command Status Wrapper (CSW) */ + +struct usbstrg_csw_s +{ + ubyte signature[4]; /* 'USBS' = 0x53425355 */ + ubyte tag[4]; /* Same tag as original command */ + ubyte residue[4]; /* Amount not transferred */ + ubyte status; /* Status of transfer */ +}; + +/************************************************************************************ + * Private Data + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Private Functions + ************************************************************************************/ + +/************************************************************************************ + * Public Functions + ************************************************************************************/ + +#endif // __NUTTX_USB_BULK_H diff --git a/nuttx/include/nuttx/usbdev.h b/nuttx/include/nuttx/usbdev.h index b3e19b00e..d0af5aef8 100644 --- a/nuttx/include/nuttx/usbdev.h +++ b/nuttx/include/nuttx/usbdev.h @@ -341,6 +341,103 @@ EXTERN int usbdev_unregister(FAR struct usbdevclass_driver_s *driver); EXTERN int usbdev_serialinitialize(int minor); +/**************************************************************************** + * Name: usbstrg_configure + * + * Description: + * One-time initialization of the USB storage driver. The initialization + * sequence is as follows: + * + * 1. Call usbstrg_configure to perform one-time initialization specifying + * the number of luns. + * 2. Call usbstrg_bindlun to configure each supported LUN + * 3. Call usbstrg_exportluns when all LUNs are configured + * + * Input Parameters: + * nluns - the number of LUNs that will be registered + * handle - Location to return a handle that is used in other API calls. + * + * Returned Value: + * 0 on success; a negated errno on failure + * + ****************************************************************************/ + +EXTERN int usbstrg_configure(unsigned int nluns, void **handle); + +/**************************************************************************** + * Name: usbstrg_bindlun + * + * Description: + * Bind the block driver specified by drvrpath to a USB storage LUN. + * + * Input Parameters: + * handle - The handle returned by a previous call to usbstrg_configure(). + * drvrpath - the full path to the block driver + * startsector - A sector offset into the block driver to the start of the + * partition on drvrpath (0 if no partitions) + * nsectors - The number of sectors in the partition (if 0, all sectors + * to the end of the media will be exported). + * lunno - the LUN to bind to + * + * Returned Value: + * 0 on success; a negated errno on failure. + * + ****************************************************************************/ + +EXTERN int usbstrg_bindlun(FAR void *handle, FAR const char *drvrpath, + unsigned int lunno, off_t startsector, size_t nsectors, + boolean readonly); + +/**************************************************************************** + * Name: usbstrg_unbindlun + * + * Description: + * Un-bind the block driver for the specified LUN + * + * Input Parameters: + * handle - The handle returned by a previous call to usbstrg_configure(). + * lun - the LUN to unbind from + * + * Returned Value: + * 0 on success; a negated errno on failure. + * + ****************************************************************************/ + +EXTERN int usbstrg_unbindlun(FAR void *handle, unsigned int lunno); + +/**************************************************************************** + * Name: usbstrg_exportluns + * + * Description: + * After all of the LUNs have been bound, this function may be called + * in order to export those LUNs in the USB storage device. + * + * Input Parameters: + * handle - The handle returned by a previous call to usbstrg_configure(). + * + * Returned Value: + * 0 on success; a negated errno on failure + * + ****************************************************************************/ + +EXTERN int usbstrg_exportluns(FAR void *handle); + +/**************************************************************************** + * Name: usbstrg_uninitialize + * + * Description: + * Un-initialize the USB storage class driver + * + * Input Parameters: + * handle - The handle returned by a previous call to usbstrg_configure(). + * + * Returned Value: + * None + * + ****************************************************************************/ + +EXTERN void usbstrg_uninitialize(FAR void *handle); + #undef EXTERN #if defined(__cplusplus) } diff --git a/nuttx/include/nuttx/usbdev_trace.h b/nuttx/include/nuttx/usbdev_trace.h index 7ba401c4a..7eee7bf6c 100644 --- a/nuttx/include/nuttx/usbdev_trace.h +++ b/nuttx/include/nuttx/usbdev_trace.h @@ -226,121 +226,120 @@ #define USBSTRG_TRACEERR_ALLOCDEVSTRUCT 0x0002 #define USBSTRG_TRACEERR_ALLOCIOBUFFER 0x0003 #define USBSTRG_TRACEERR_ALREADYCONFIGURED 0x0004 -#define USBSTRG_TRACEERR_ALREADYINIT 0x0005 -#define USBSTRG_TRACEERR_ALREADYUNINIT 0x0006 -#define USBSTRG_TRACEERR_BADREQUEST 0x0007 -#define USBSTRG_TRACEERR_BINDLUNINVALIDARGS2 0x0008 -#define USBSTRG_TRACEERR_BINDLUNINVALIDARGS3 0x0009 -#define USBSTRG_TRACEERR_BINDLUNINVALIDARGS4 0x000a -#define USBSTRG_TRACEERR_BINLUNINVALIDARGS1 0x000b -#define USBSTRG_TRACEERR_BLKDRVEOPEN 0x000c -#define USBSTRG_TRACEERR_CMDBADLUN 0x000d -#define USBSTRG_TRACEERR_CMDFINISHRESIDUE 0x000e -#define USBSTRG_TRACEERR_CMDFINISHRQEMPTY 0x000f -#define USBSTRG_TRACEERR_CMDFINISHSHORTPKT 0x0010 -#define USBSTRG_TRACEERR_CMDFINISHSUBMIT 0x0011 -#define USBSTRG_TRACEERR_CMDFINSHDIR 0x0012 -#define USBSTRG_TRACEERR_CMDFINSHSUBMIT 0x0013 -#define USBSTRG_TRACEERR_CMDPARSEWRREQLISTEMPTY 0x0014 -#define USBSTRG_TRACEERR_CMDREADREADFAIL 0x0015 -#define USBSTRG_TRACEERR_CMDREADSUBMIT 0x0016 -#define USBSTRG_TRACEERR_CMDREADWRRQEMPTY 0x0017 -#define USBSTRG_TRACEERR_CMDSTATUSRDREQLISTEMPTY 0x0018 -#define USBSTRG_TRACEERR_CMDUNEVIOLATION 0x0019 -#define USBSTRG_TRACEERR_CMDWRITERDSUBMIT 0x001a -#define USBSTRG_TRACEERR_CMDWRITERDRQEMPTY 0x001b -#define USBSTRG_TRACEERR_CMDWRITEWRITEFAIL 0x001c -#define USBSTRG_TRACEERR_CONFIGIDBAD 0x001d -#define USBSTRG_TRACEERR_CONFIGNONE 0x001e -#define USBSTRG_TRACEERR_DEVREGISTER 0x001f -#define USBSTRG_TRACEERR_DISCONNECTINVALIDARGS 0x0020 -#define USBSTRG_TRACEERR_EP0NOTBOUND1 0x0021 -#define USBSTRG_TRACEERR_EP0NOTBOUND2 0x0022 -#define USBSTRG_TRACEERR_EP0NOTBOUND3 0x0023 -#define USBSTRG_TRACEERR_EPBULKINALLOCFAIL 0x0024 -#define USBSTRG_TRACEERR_EPBULKINCONFIGFAIL 0x0025 -#define USBSTRG_TRACEERR_EPBULKOUTALLOCFAIL 0x0026 -#define USBSTRG_TRACEERR_EPBULKOUTCONFIGFAIL 0x0027 -#define USBSTRG_TRACEERR_EPRESPQ 0x0028 -#define USBSTRG_TRACEERR_EXPORTLUNSINVALIDARGS 0x0029 -#define USBSTRG_TRACEERR_GETMAXLUNNDX 0x002a -#define USBSTRG_TRACEERR_GETUNKNOWNDESC 0x002b -#define USBSTRG_TRACEERR_IDLERDREQLISTEMPTY 0x002c -#define USBSTRG_TRACEERR_IDLERDSUBMIT 0x002d -#define USBSTRG_TRACEERR_INQUIRYFLAGS 0x002e -#define USBSTRG_TRACEERR_INTERNALCONFUSION1 0x002f -#define USBSTRG_TRACEERR_INTERNALCONFUSION2 0x0030 -#define USBSTRG_TRACEERR_INVALIDCBWCONTENT 0x0031 -#define USBSTRG_TRACEERR_INVALIDCBWSIGNATURE 0x0032 -#define USBSTRG_TRACEERR_INVALIDSTATE 0x0033 -#define USBSTRG_TRACEERR_LUNALREADYBOUND 0x0034 -#define USBSTRG_TRACEERR_LUNNOTBOUND 0x0035 -#define USBSTRG_TRACEERR_MODEPAGEFLAGS 0x0036 -#define USBSTRG_TRACEERR_MODESENSE10FLAGS 0x0037 -#define USBSTRG_TRACEERR_MODESENSE6FLAGS 0x0038 -#define USBSTRG_TRACEERR_MSRESETNDX 0x0039 -#define USBSTRG_TRACEERR_NOGEOMETRY 0x003a -#define USBSTRG_TRACEERR_NOTCONFIGURED 0x003b -#define USBSTRG_TRACEERR_NOTREMOVABLE 0x003c -#define USBSTRG_TRACEERR_PCSAVED 0x003d -#define USBSTRG_TRACEERR_PHASEERROR1 0x003e -#define USBSTRG_TRACEERR_PHASEERROR2 0x003f -#define USBSTRG_TRACEERR_PHASEERROR3 0x0040 -#define USBSTRG_TRACEERR_PREVENTMEDIUMREMOVALFLAGS 0x0041 -#define USBSTRG_TRACEERR_PREVENTMEDIUMREMOVALPREVENT 0x0042 -#define USBSTRG_TRACEERR_RDALLOCREQ 0x0043 -#define USBSTRG_TRACEERR_RDCOMPLETEINVALIDARGS 0x0044 -#define USBSTRG_TRACEERR_RDCOMPLETERDSUBMIT 0x0045 -#define USBSTRG_TRACEERR_RDSHUTDOWN 0x0046 -#define USBSTRG_TRACEERR_RDSUBMIT 0x0047 -#define USBSTRG_TRACEERR_RDUNEXPECTED 0x0048 -#define USBSTRG_TRACEERR_READ10FLAGS 0x0049 -#define USBSTRG_TRACEERR_READ10LBARANGE 0x004a -#define USBSTRG_TRACEERR_READ10MEDIANOTPRESENT 0x004b -#define USBSTRG_TRACEERR_READ12FLAGS 0x004c -#define USBSTRG_TRACEERR_READ12LBARANGE 0x004d -#define USBSTRG_TRACEERR_READ12MEDIANOTPRESENT 0x004e -#define USBSTRG_TRACEERR_READ6FLAGS 0x004f -#define USBSTRG_TRACEERR_READ6LBARANGE 0x0050 -#define USBSTRG_TRACEERR_READ6MEDIANOTPRESENT 0x0051 -#define USBSTRG_TRACEERR_READCAPACITYFLAGS 0x0052 -#define USBSTRG_TRACEERR_REALLOCIOBUFFER 0x0053 -#define USBSTRG_TRACEERR_REQRESULT 0x0054 -#define USBSTRG_TRACEERR_SETCONFIGINVALIDARGS 0x0055 -#define USBSTRG_TRACEERR_SETUPINVALIDARGS 0x0056 -#define USBSTRG_TRACEERR_SNDCSWFAIL 0x0057 -#define USBSTRG_TRACEERR_SNDPHERROR 0x0058 -#define USBSTRG_TRACEERR_SNDSTATUSSUBMIT 0x0059 -#define USBSTRG_TRACEERR_SYNCCACHEMEDIANOTPRESENT 0x005a -#define USBSTRG_TRACEERR_THREADCREATE 0x005b -#define USBSTRG_TRACEERR_TOOMANYLUNS 0x005c -#define USBSTRG_TRACEERR_UNBINDINVALIDARGS 0x005d -#define USBSTRG_TRACEERR_UNBINDLUNINVALIDARGS1 0x005e -#define USBSTRG_TRACEERR_UNBINDLUNINVALIDARGS2 0x005f -#define USBSTRG_TRACEERR_UNINITIALIZEINVALIDARGS 0x0060 -#define USBSTRG_TRACEERR_UNSUPPORTEDSTDREQ 0x0061 -#define USBSTRG_TRACEERR_VERIFY10FLAGS 0x0062 -#define USBSTRG_TRACEERR_VERIFY10LBARANGE 0x0063 -#define USBSTRG_TRACEERR_VERIFY10MEDIANOTPRESENT 0x0064 -#define USBSTRG_TRACEERR_VERIFY10NOBLOCKS 0x0065 -#define USBSTRG_TRACEERR_VERIFY10READFAIL 0x0066 -#define USBSTRG_TRACEERR_WRALLOCREQ 0x0067 -#define USBSTRG_TRACEERR_SNDPHERROR 0x0068 -#define USBSTRG_TRACEERR_WRCOMPLETEINVALIDARGS 0x0069 -#define USBSTRG_TRACEERR_WRITE10FLAGS 0x006a -#define USBSTRG_TRACEERR_WRITE10LBARANGE 0x006b -#define USBSTRG_TRACEERR_WRITE10MEDIANOTPRESENT 0x006c -#define USBSTRG_TRACEERR_WRITE10READONLY 0x006d -#define USBSTRG_TRACEERR_WRITE12FLAGS 0x006e -#define USBSTRG_TRACEERR_WRITE12LBARANGE 0x006f -#define USBSTRG_TRACEERR_WRITE12MEDIANOTPRESENT 0x0070 -#define USBSTRG_TRACEERR_WRITE12READONLY 0x0071 -#define USBSTRG_TRACEERR_WRITE6FLAGS 0x0072 -#define USBSTRG_TRACEERR_WRITE6LBARANGE 0x0073 -#define USBSTRG_TRACEERR_WRITE6MEDIANOTPRESENT 0x0074 -#define USBSTRG_TRACEERR_WRITE6READONLY 0x0075 -#define USBSTRG_TRACEERR_WRSHUTDOWN 0x0076 -#define USBSTRG_TRACEERR_WRUNEXPECTED 0x0077 +#define USBSTRG_TRACEERR_ALREADYUNINIT 0x0005 +#define USBSTRG_TRACEERR_BADREQUEST 0x0006 +#define USBSTRG_TRACEERR_BINDLUNINVALIDARGS2 0x0007 +#define USBSTRG_TRACEERR_BINDLUNINVALIDARGS3 0x0008 +#define USBSTRG_TRACEERR_BINDLUNINVALIDARGS4 0x0009 +#define USBSTRG_TRACEERR_BINLUNINVALIDARGS1 0x000a +#define USBSTRG_TRACEERR_BLKDRVEOPEN 0x000b +#define USBSTRG_TRACEERR_CMDBADLUN 0x000c +#define USBSTRG_TRACEERR_CMDFINISHRESIDUE 0x000d +#define USBSTRG_TRACEERR_CMDFINISHRQEMPTY 0x000e +#define USBSTRG_TRACEERR_CMDFINISHSHORTPKT 0x000f +#define USBSTRG_TRACEERR_CMDFINISHSUBMIT 0x0010 +#define USBSTRG_TRACEERR_CMDFINSHDIR 0x0011 +#define USBSTRG_TRACEERR_CMDFINSHSUBMIT 0x0012 +#define USBSTRG_TRACEERR_CMDPARSEWRREQLISTEMPTY 0x0013 +#define USBSTRG_TRACEERR_CMDREADREADFAIL 0x0014 +#define USBSTRG_TRACEERR_CMDREADSUBMIT 0x0015 +#define USBSTRG_TRACEERR_CMDREADWRRQEMPTY 0x0016 +#define USBSTRG_TRACEERR_CMDSTATUSRDREQLISTEMPTY 0x0017 +#define USBSTRG_TRACEERR_CMDUNEVIOLATION 0x0018 +#define USBSTRG_TRACEERR_CMDWRITERDSUBMIT 0x0019 +#define USBSTRG_TRACEERR_CMDWRITERDRQEMPTY 0x001a +#define USBSTRG_TRACEERR_CMDWRITEWRITEFAIL 0x001b +#define USBSTRG_TRACEERR_CONFIGIDBAD 0x001c +#define USBSTRG_TRACEERR_CONFIGNONE 0x001d +#define USBSTRG_TRACEERR_DEVREGISTER 0x001e +#define USBSTRG_TRACEERR_DISCONNECTINVALIDARGS 0x001f +#define USBSTRG_TRACEERR_EP0NOTBOUND1 0x0020 +#define USBSTRG_TRACEERR_EP0NOTBOUND2 0x0021 +#define USBSTRG_TRACEERR_EP0NOTBOUND3 0x0022 +#define USBSTRG_TRACEERR_EPBULKINALLOCFAIL 0x0023 +#define USBSTRG_TRACEERR_EPBULKINCONFIGFAIL 0x0024 +#define USBSTRG_TRACEERR_EPBULKOUTALLOCFAIL 0x0025 +#define USBSTRG_TRACEERR_EPBULKOUTCONFIGFAIL 0x0026 +#define USBSTRG_TRACEERR_EPRESPQ 0x0027 +#define USBSTRG_TRACEERR_EXPORTLUNSINVALIDARGS 0x0028 +#define USBSTRG_TRACEERR_GETMAXLUNNDX 0x0029 +#define USBSTRG_TRACEERR_GETUNKNOWNDESC 0x002a +#define USBSTRG_TRACEERR_IDLERDREQLISTEMPTY 0x002b +#define USBSTRG_TRACEERR_IDLERDSUBMIT 0x002c +#define USBSTRG_TRACEERR_INQUIRYFLAGS 0x002d +#define USBSTRG_TRACEERR_INTERNALCONFUSION1 0x002e +#define USBSTRG_TRACEERR_INTERNALCONFUSION2 0x002f +#define USBSTRG_TRACEERR_INVALIDCBWCONTENT 0x0030 +#define USBSTRG_TRACEERR_INVALIDCBWSIGNATURE 0x0031 +#define USBSTRG_TRACEERR_INVALIDSTATE 0x0032 +#define USBSTRG_TRACEERR_LUNALREADYBOUND 0x0033 +#define USBSTRG_TRACEERR_LUNNOTBOUND 0x0034 +#define USBSTRG_TRACEERR_MODEPAGEFLAGS 0x0035 +#define USBSTRG_TRACEERR_MODESENSE10FLAGS 0x0036 +#define USBSTRG_TRACEERR_MODESENSE6FLAGS 0x0037 +#define USBSTRG_TRACEERR_MSRESETNDX 0x0038 +#define USBSTRG_TRACEERR_NOGEOMETRY 0x0039 +#define USBSTRG_TRACEERR_NOTCONFIGURED 0x003a +#define USBSTRG_TRACEERR_NOTREMOVABLE 0x003b +#define USBSTRG_TRACEERR_PCSAVED 0x003c +#define USBSTRG_TRACEERR_PHASEERROR1 0x003d +#define USBSTRG_TRACEERR_PHASEERROR2 0x003e +#define USBSTRG_TRACEERR_PHASEERROR3 0x003f +#define USBSTRG_TRACEERR_PREVENTMEDIUMREMOVALFLAGS 0x0040 +#define USBSTRG_TRACEERR_PREVENTMEDIUMREMOVALPREVENT 0x0041 +#define USBSTRG_TRACEERR_RDALLOCREQ 0x0042 +#define USBSTRG_TRACEERR_RDCOMPLETEINVALIDARGS 0x0043 +#define USBSTRG_TRACEERR_RDCOMPLETERDSUBMIT 0x0044 +#define USBSTRG_TRACEERR_RDSHUTDOWN 0x0045 +#define USBSTRG_TRACEERR_RDSUBMIT 0x0046 +#define USBSTRG_TRACEERR_RDUNEXPECTED 0x0047 +#define USBSTRG_TRACEERR_READ10FLAGS 0x0048 +#define USBSTRG_TRACEERR_READ10LBARANGE 0x0049 +#define USBSTRG_TRACEERR_READ10MEDIANOTPRESENT 0x004a +#define USBSTRG_TRACEERR_READ12FLAGS 0x004b +#define USBSTRG_TRACEERR_READ12LBARANGE 0x004c +#define USBSTRG_TRACEERR_READ12MEDIANOTPRESENT 0x004d +#define USBSTRG_TRACEERR_READ6FLAGS 0x004e +#define USBSTRG_TRACEERR_READ6LBARANGE 0x004f +#define USBSTRG_TRACEERR_READ6MEDIANOTPRESENT 0x0050 +#define USBSTRG_TRACEERR_READCAPACITYFLAGS 0x0051 +#define USBSTRG_TRACEERR_REALLOCIOBUFFER 0x0052 +#define USBSTRG_TRACEERR_REQRESULT 0x0053 +#define USBSTRG_TRACEERR_SETCONFIGINVALIDARGS 0x0054 +#define USBSTRG_TRACEERR_SETUPINVALIDARGS 0x0055 +#define USBSTRG_TRACEERR_SNDCSWFAIL 0x0056 +#define USBSTRG_TRACEERR_SNDPHERROR 0x0057 +#define USBSTRG_TRACEERR_SNDSTATUSSUBMIT 0x0058 +#define USBSTRG_TRACEERR_SYNCCACHEMEDIANOTPRESENT 0x0059 +#define USBSTRG_TRACEERR_THREADCREATE 0x005a +#define USBSTRG_TRACEERR_TOOMANYLUNS 0x005b +#define USBSTRG_TRACEERR_UNBINDINVALIDARGS 0x005c +#define USBSTRG_TRACEERR_UNBINDLUNINVALIDARGS1 0x005d +#define USBSTRG_TRACEERR_UNBINDLUNINVALIDARGS2 0x005e +#define USBSTRG_TRACEERR_UNINITIALIZEINVALIDARGS 0x005f +#define USBSTRG_TRACEERR_UNSUPPORTEDSTDREQ 0x0060 +#define USBSTRG_TRACEERR_VERIFY10FLAGS 0x0061 +#define USBSTRG_TRACEERR_VERIFY10LBARANGE 0x0062 +#define USBSTRG_TRACEERR_VERIFY10MEDIANOTPRESENT 0x0063 +#define USBSTRG_TRACEERR_VERIFY10NOBLOCKS 0x0064 +#define USBSTRG_TRACEERR_VERIFY10READFAIL 0x0065 +#define USBSTRG_TRACEERR_WRALLOCREQ 0x0066 +#define USBSTRG_TRACEERR_SNDPHERROR 0x0067 +#define USBSTRG_TRACEERR_WRCOMPLETEINVALIDARGS 0x0068 +#define USBSTRG_TRACEERR_WRITE10FLAGS 0x0069 +#define USBSTRG_TRACEERR_WRITE10LBARANGE 0x006a +#define USBSTRG_TRACEERR_WRITE10MEDIANOTPRESENT 0x006b +#define USBSTRG_TRACEERR_WRITE10READONLY 0x006c +#define USBSTRG_TRACEERR_WRITE12FLAGS 0x006d +#define USBSTRG_TRACEERR_WRITE12LBARANGE 0x006e +#define USBSTRG_TRACEERR_WRITE12MEDIANOTPRESENT 0x006f +#define USBSTRG_TRACEERR_WRITE12READONLY 0x0070 +#define USBSTRG_TRACEERR_WRITE6FLAGS 0x0071 +#define USBSTRG_TRACEERR_WRITE6LBARANGE 0x0072 +#define USBSTRG_TRACEERR_WRITE6MEDIANOTPRESENT 0x0073 +#define USBSTRG_TRACEERR_WRITE6READONLY 0x0074 +#define USBSTRG_TRACEERR_WRSHUTDOWN 0x0075 +#define USBSTRG_TRACEERR_WRUNEXPECTED 0x0076 /**************************************************************************** * Public Types |