Daniel Markstedt
15c14e0404
Rebrand to RaSCSI Reloaded in C++ codebase ( #805 )
2022-08-25 20:01:39 -05:00
Uwe Seimet
1df7cdb1f3
Use vector for INQUIRY data, LUN list can have gaps, made methods const ( #713 )
...
* Use vector for INQUIRY data, Inquiry() is const, moved EVPD check
* Moved code
* Fixed warning
* Updated memcpy
* Set length
* Limit result vector size
* Limit result buffer size
* Inquiry() result buffer handling update
* Logging update
* Inquiry cleanup
* NEC drive can also use PrimaryDevice::Inquiry()
* NEC drive is never removable
* Comment update
* Bridge can also use PrimaryDevice::Inquiry()
* Removed unused method argument
* Comment update
* Updated comment
* Updated REQUEST SENSE buffer handling
* Fixed typo
* Fixed typo
* Re-added comment
* Updated additional length handling
* Check for INQUIRY command support first
* Added assertion
* Size handling update
* Renaming
* Renaming
* Removed obsolete casts
* Cleanup
* Moved error codes to scsi_defs namespace
* Fixed ReadDefectData10
* Comment update
* Updated buffer handling
* Data type update
* SendDiagnostic is now const
* Removed obsolete forward declaration
* removed unused enum
* Reduced method visibility
* Renaming
* GetSendDelay() can be const
* Made method const
* Made method const
* Added TODO
* Use iterator
* Made method const
* Revert "Made method const"
This reverts commit 38412b8ddd
.
* No need to sort all set/maps
* Do not sort all sets
* Removed more unnecessary sorting
* Cleaned up includes
* More include cleanups
* Updated REPORT LUNS
* LUNs must not be consecutive anymore
* Updated detaching of LUN
* Improvements for devices without LUN 0
* Assume LUN 0 is always present
* Enforce presence of LUN 0
* Updated error handling
2022-03-01 20:25:22 -06:00
Uwe Seimet
0e8d89e827
Code cleanup, in particular related to MODE SENSE ( #699 )
...
* Replace member functions
* Fixed TODO
* Added TODOs
* Added TODOs
* Removed duplicate code
* Fixed return value
* CD-ROM mode pages are provided by the CD-ROM implementation
* MO mode pages are provided by the MO implementation
* Comment update
* Removed duplicate code
* Removed more duplicate code
* Optimization
* Updated mode page size handling
* Addec TODO
* Started more flexible mode page handling
* Map mode pages
* Page 0 must be last
* Error handling update
* Updated size handling
* Updated map handling
* Use map references
* Move superclass call
* Added comment
* Host services also support mode page 0x3f (all pages)
* Updated handling of page 0
* Removed duplicate code
* Updated buffer size handling
* Code cleanup
* Removed duplicate code
* Use calloc()
* Removed duplicate code
* Comment update
* Fixed buffer offset
* Fixed TODO
* Added buffer size check
* Comment udpate
* Logging update
* Updated logging
* Avoid potential memory leak
* Updated handling of page 0
* Added TODO
* Comment update
* Fixed error message
* Use vector instead of byte array
* Optimization
* More optimizations
* Removed duplicate code
* Do not try to add more pages when buffer is full
* Updated error message
* Comment update, fixed host services message length handling
* Code cleanup, optimizations
* Updated payload handling for page 0
* Fixed TODO
* Updated handling of PS field
* Fixed offsets
* Updated handling for page 0
* Code cleanup
* More cleanup
* Updated block descriptor handling
* Result of REPORT LUNS must not depend on whether a device is ready or not
* Printer uses a dynamically allocated buffer
* Use realloc
* Updated memory handling
* Added assertion
* Comment update
* Fixed initialization
* Reset byte transfer flag
* Updated usage of realloc
* Reverted some changes
* Re-added buffer size check
* Renaming
* Inquiry for hard disk must also work when drive is not ready
* Primary device checks EVPD
* Added page code check to Inquiry
* Explicitly set response level format
* Added comment
* Removed useless cast
* Fixed inconsistencies in setting the additional length
* Logging uodate
* Updated logging
* Made methods const
* Moved code
* Added TODO
* Added vendor page
* Reduced visibility
* Code cleanup
* Mark override
* Removed duplicate cast
* Synchronized host services mode page handling with other code
* Added TODO
* Signature update
* Moved code
* Removed duplicate code
* Fixed TODO
* Removed duplicate code
* Added buffer size check
* Improved buffer size check
* Code cleanup
* Removed useless assertions
* Cleanup
* Renaming
* Added overrides
* Removed unnecessary casts
* Cleanup
* Added TODO
* Removed obsolete memset
* Removed duplicate code
* Logging update
* Logging update
* Assertion update
* Removed useless comments
* Code cleanup
* Removed obsolete casts
* User super typedef
* Updated log messages
* Fixed #712
* Updated error handling
* Removed useless assertions
* Reduced casts to Disk*
* Updated sector size list argument
* Removed obsolete casts
* Removed comment
2022-02-27 15:58:01 -06:00
Uwe Seimet
419dca3c4c
Added support for SCSI printer device (SCLP) ( #670 )
...
* Fixed buster compile-time issue
* Host services inherit from ModePageDevice
* Call base class
* Visibility update
* Updated includes
* Updated dispatcher
* Added TODOs
* Logging update
* Code cleanup
* Use namespace instead of class for ScsiDefs
* Renaming
* Cleanup
* Use dispatcher template in order to remove duplicate code
* Updated all dispatchers
* Clean up commands
* Removed duplicate code
* Removed duplicate code
* Updated template definition
* Fixed typo
* Fixed warning
* Code cleanup
* Device list must be static
* Cleanup
* Logging update
* Added comments
* Cleanup
* Base class update
* SCSIBR is not a subclass of Disk anymore, but of PrimaryDevice
* Updated includes
* Fixed compile-time issue on the Pi
* Header file cleanup
* Interface cleanup
* Removed wrong override
* include file cleanup
* Removed obsolete usage of streams
* Removed more stream usages
* Stream usage cleanup
* Include cleanup
* Renaming
* Include cleanup
* Interface update
* SCLP device skeleton
* Initial RELEASE/RESERVE UNIT
* Added full set of commands
* Extracted command phase code
* Stripped SCSI controller code
* Removed unused code
* Commented out code
* Initial naive implementation
* Added debug output
* Disable printing for now
* Updated file handling
* Updated DataOut()
* Added comment
* Updated assertion
* Comment update
* Updated assertion
* Code cleanup
* Reset bytes to transfer
* Reverted change
* Refactoring
* Moved assertion
* Updated ReceiveBytes()
* Removed override
* Added interface
* Code cleanup
* Updated TEST UNIT READY
* Added flag for byte-oriented transfer
* Updated TEST UNIT READY
* Length handling update
* Updated bytecount handling
* Fixed warning
* Added TODO
* Updated assertion
* Enabled priting
* Updated error handling
* Code cleanup
* Logging update
* First working version
* Use temporary file
* Logging update
* Handle parameters
* Updated format string
* Updated logging
* File handling update
* Code cleanup
* Fixed buffer size
* Updated file handling
* Manpage update
* Initial reservation handling
* Updated reservation handling
* Initial reservation testing
* Remember initiator ID
* Extract initiator ID
* Updated SCSI initiator ID handling
* Logging update
* Added reservation timeout
* Updated timeout handling
* Code cleanup
* Only pass initiator ID to *SCSI* controller
* Added comments
* Added comment
* Implemented STOP PRINT
* Comment update
* Comment update
* Comment update
* Added comment
* Comment update
* Removed useless comments
* Updated printer parameter handling
* Updated parameter handling
* Manpage update
* Manpage update
* Comment update
* Default printer product name update
* Renaming
* Updated logging
* Logging update
* Logging update
* Comment update
* Code cleanup
* Added printer shortcut
* Comment update
* Comment update
* Output formatting update
* Updated error handling
* Code cleanup
* More cleanup
* Revert "More cleanup"
This reverts commit 05708986ee
.
* Output formatting update
* Output format update
* Sort parameters
* Comment update
* Improved parsing of parameters
* Manpage update
* Updated SCSI level
* Removed magic constants
* Removed magic constant
* Template update
* Template usage update
* Get rid of SASIDEV for printer
* Get rid of SASIDEV for host services
* Moved initiator_id field
* Moved field
* Moved field
* Added comment
* Error handling must use effective LUN
* Removed obsolete casts
* Removed unused method declarations
* Comment update
* Code cleanup
* More code cleanup
* Optimization
* Removed duplicate code
* Logging update
* Fixed warning
* Code cleanup
* Added TODOs
* TODO update
* Backwards compatibility update
* Comment update
2022-02-16 20:04:42 -06:00
Uwe Seimet
45cd5e58d1
Inheritance hierarchy improvements, reduced dependencies to Disk class ( #662 )
...
* Fixed buster compile-time issue
* Host services inherit from ModePageDevice
* Call base class
* Visibility update
* Updated includes
* Updated dispatcher
* Added TODOs
* Logging update
* Code cleanup
* Use namespace instead of class for ScsiDefs
* Renaming
* Cleanup
* Use dispatcher template in order to remove duplicate code
* Updated all dispatchers
* Clean up commands
* Removed duplicate code
* Removed duplicate code
* Updated template definition
* Fixed typo
* Fixed warning
* Code cleanup
* Device list must be static
* Cleanup
* Logging update
* Added comments
* Cleanup
* Base class update
* SCSIBR is not a subclass of Disk anymore, but of PrimaryDevice
* Updated includes
* Fixed compile-time issue on the Pi
* Header file cleanup
* Interface cleanup
* Removed wrong override
* include file cleanup
* Removed obsolete usage of streams
* Removed more stream usages
* Stream usage cleanup
* Include cleanup
* Renaming
* Include cleanup
* Interface update
2022-02-13 13:30:02 -06:00
Uwe Seimet
5622694701
Host services (SCHS) with realtime clock and shutdown, improved device inheritance ( #647 )
...
* Initial RTC skeleton
* Added device info
* Added TEST UNIT READY
* Fixed command dispatcher
* First untested naive implementation
* Comment update
* Code cleanup
* More code cleanup
* Updated date/time encoding
* Updated versioning
* Use standard RaSCSI INQUIRY version for SCRT device
* Manpage update
* Added shortcut for SCRT type
* Added support for rtc "filename"
* RTC supports LUNs > 0
* Fixed LUN count
* Renaming
* Renaming
* Manpage update
* Initial naive implementation
* SCRA is removable
* Updated command list
* Added controller field
* Shut down works, bus free phase is not yet entered
* Clear caches on shutdown
* Expose BusFree()
* Moved code
* Logging update
* Moved code
* Moved code
* Added comment
* Logging update
* Code cleanup
* Service device is not removable anymore (was only needed for testing)
* Manpage update
* Added comment
* Comment update
* Version update
* Renaming
* Comment update
* Comment update
* Renaming
* Fixed typo
* Added convenience method
* Property handling optimization
* Code cleanup
* Code cleanup
* Code cleanup, introduced base class
* Added TODO
* More code cleanup
* Removed unnecessary assignments
* Moved code
* Removed forward declaration
* Added base class
* INclude cleanup
* Moved scsi_command enum
* Fixed warnings
* Addressing circular dependencies
* Removed duplicate enum
* include file cleanup
* Include cleanup
* Reduced dependencies to Disk class (replaced by Device), fixed TODO
* Include cleanup
* PrimaryDevice implements ReportLuns
* Inheritance update
* Removed duplicate code
* Moved code to base class
* Cleanup
* Removed duplicate field
* Updated command dispatchign
* Comment update
* Moved code
* Updated method visibilities
* Moved MODE SENSE/MODE SELECT base code
2022-02-10 12:54:48 -06:00