usbhscsi.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. //*****************************************************************************
  2. //
  3. // usbhscsi.h - Definitions for the USB host SCSI layer.
  4. //
  5. // Copyright (c) 2008-2010 Texas Instruments Incorporated. All rights reserved.
  6. // Software License Agreement
  7. //
  8. // Texas Instruments (TI) is supplying this software for use solely and
  9. // exclusively on TI's microcontroller products. The software is owned by
  10. // TI and/or its suppliers, and is protected under applicable copyright
  11. // laws. You may not combine this software with "viral" open-source
  12. // software in order to form a larger program.
  13. //
  14. // THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
  15. // NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
  16. // NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  17. // A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
  18. // CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
  19. // DAMAGES, FOR ANY REASON WHATSOEVER.
  20. //
  21. // This is part of AM1808 StarterWare USB Library, resused from revision 6288 of the
  22. // stellaris USB Library.
  23. //
  24. //*****************************************************************************
  25. #ifndef __USBHSCSI_H__
  26. #define __USBHSCSI_H__
  27. //*****************************************************************************
  28. //
  29. // If building with a C++ compiler, make all of the definitions in this header
  30. // have a C binding.
  31. //
  32. //*****************************************************************************
  33. #ifdef __cplusplus
  34. extern "C"
  35. {
  36. #endif
  37. //*****************************************************************************
  38. //
  39. //! \addtogroup usblib_host_class
  40. //! @{
  41. //
  42. //*****************************************************************************
  43. //*****************************************************************************
  44. //
  45. // Prototypes for the APIs exported by the USB SCSI layer.
  46. //
  47. //*****************************************************************************
  48. extern unsigned int USBHSCSIInquiry(unsigned int ulIndex,
  49. unsigned int ulInPipe,
  50. unsigned int ulOutPipe,
  51. unsigned char *pucBuffer,
  52. unsigned int *pulSize);
  53. extern unsigned int USBHSCSIReadCapacity(unsigned int ulIndex,
  54. unsigned int ulInPipe,
  55. unsigned int ulOutPipe,
  56. unsigned char *pData,
  57. unsigned int *pulSize);
  58. extern unsigned int USBHSCSIReadCapacities(unsigned int ulIndex,
  59. unsigned int ulInPipe,
  60. unsigned int ulOutPipe,
  61. unsigned char *pData,
  62. unsigned int *pulSize);
  63. extern unsigned int USBHSCSIModeSense6(unsigned int ulIndex,
  64. unsigned int ulInPipe,
  65. unsigned int ulOutPipe,
  66. unsigned int ulFlags,
  67. unsigned char *pData,
  68. unsigned int *pulSize);
  69. extern unsigned int USBHSCSITestUnitReady(unsigned int ulIndex,
  70. unsigned int ulInPipe,
  71. unsigned int ulOutPipe);
  72. extern unsigned int USBHSCSIRequestSense(unsigned int ulIndex,
  73. unsigned int ulInPipe,
  74. unsigned int ulOutPipe,
  75. unsigned char *pucData,
  76. unsigned int *pulSize);
  77. extern unsigned int USBHSCSIRead10(unsigned int ulIndex,
  78. unsigned int ulInPipe,
  79. unsigned int ulOutPipe,
  80. unsigned int ulLBA,
  81. unsigned char *pucData,
  82. unsigned int *pulSize,
  83. unsigned int ulNumBlocks);
  84. extern unsigned int USBHSCSIWrite10(unsigned int ulIndex,
  85. unsigned int ulInPipe,
  86. unsigned int ulOutPipe,
  87. unsigned int ulLBA,
  88. unsigned char *pucData,
  89. unsigned int *pulSize,
  90. unsigned int ulNumBlocks);
  91. //*****************************************************************************
  92. //
  93. //! @}
  94. //
  95. //*****************************************************************************
  96. //*****************************************************************************
  97. //
  98. // Mark the end of the C bindings section for C++ compilers.
  99. //
  100. //*****************************************************************************
  101. #ifdef __cplusplus
  102. }
  103. #endif
  104. #endif // __USBHSCSI_H__