mirror of
https://github.com/akuker/RASCSI.git
synced 2024-06-26 07:29:31 +00:00
0e8d89e827
16 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
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 |
||
Uwe Seimet
|
2beb78727f
|
Added support for new interfaces syntax (#684)
* Added support for new interfaces syntax * rasctl output update * Added operation parameters * Fixed typo * Manpage update * Added deprecation warning * Moved parser * Updated parser * Updated parameter override * Removed debug code * Made netmask handling more flexible * Updated logging * Logging update * Logging update * Comment update * Removed unused field * Replaced BOOL by bool * Moved code * Logging update * Removed useless comments * Added TODZ * Logging update * Logging update * Logging update * No need to report that an error is an error twice * Removed duplicate logging * Updated error handling * Updated error handling * Fixed typo * Removed magic constant * Fixed 32 bit platform issue * Signature update * Fixed message string * Comment update * Fixed SCSI command opcode * Updated StopPrint * Logging update * Removed obsolete casts * Renaming * Removed duplicate logging * Updated flushing caches * Added FlushCache() method * Reduced visibility * Reduced visibility * Reduced visibility * Code cleanup, removed useless comments * Removed useless comments * Updated error handling * Removed duplicate code * Manpage update |
||
Uwe Seimet
|
81ca3c0ce8
|
Added filename placeholder, execute print command as lp, fixed memory leaks (#677)
* Added filename placeholder * Comment update * Execute print command as lp user * Comment update * Comment update * Added operaton parameters * Sort parameter output by name * Removed assertion * Revert "Removed assertion" This reverts commit |
||
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
|
||
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 |
||
Uwe Seimet
|
cb2553a9eb
|
Permit LUNs > 0 for SCDP and SCBR (#641) | ||
Uwe Seimet
|
89d66ef02b
|
Support for multiple SCSI LUNs (#318)
* Updated logging * Updated logging * Updated logging * Updated ID/LUN parsing * Updated handling of max_id * The -HD option sets type to SAHD * Replaced is_sasi by device type * Updated logging * Logging update * Improved LUN evaluation * Check LUN against UnitMax * Comment update * LUN parsing update * Logging update * Logging update * Updated ReportLuns * Updated REPORT LUNS * Cleanup * Updated REPORT LUNS * Updated Execute() * Updated LUN handling * Check for consecutive LUNs * Added LUN check for remotely attached devices * Remember LUN selected by IDENTIFY * Evaluate LUN from IDENTIFY message * Added comment * Updated REPORT LUNS * Initlize LUN * Logging update * Support 32 LUNs * rasctl display update * Updated LUN check for LUNSs > 7 * Simplified LUN validation * Fixed wrong ID/LUN handling with values > 9 * Log level update * Manpage update * rascsi parser update * Updated error handling * Updated error handling * Updated LUN setup validation * Updated logging * Improved validation of consecutive LUNs * Renaming * Detach all LUNs equal to or higher than the one specified * Add support for LUN in the device list * Add ability to show device info for LUNs * Make it possible to detach and eject LUNs * Show full path to prop file * Show only LUN columns when non-0 LUNs present * Support for attaching LUNs * Add helptext * Fix handling of removable media * Retain the previous behavior of recommending the next unoccupied id * SCSI ID validation no longer needed due to changed logic * Make use of recommended id everywhere * Docstring Co-authored-by: Daniel Markstedt <markstedt@gmail.com> |
||
Uwe Seimet
|
c581c12d33
|
Set SADI product name to SASI HD (#291) | ||
Uwe Seimet
|
682d35f1e6
|
Improve MO support by removing capacity restrictions (#284)
* Improve MO support by removing capacity restrictions, resolves #283 * Updated geometry handling |
||
Uwe Seimet
|
97c2a11329
|
MAPPING_INFO command, returning the mapping of extensions to types (#275)
* Added MAPPING_INFO command, returning the mapping of extensions to types * Updated help message * Set explicit vendor/product/revision for .hda extension * Added leading blanks to vendor and product for .hda * Product string update * Fixed typo in help string * Manpage update * Spoof hda as a Quantum Fireball Co-authored-by: Daniel Markstedt <markstedt@gmail.com> |
||
Uwe Seimet
|
829356a32c
|
protobuf interface returns assumed device type (#259)
* Added device type to PbImageFile * Comment update * Code cleanup * More code cleanup * Extraced methods * Extracted methods * Renaming * Moved code * Visility update * Updated error handling * Removed duplicate error handling * Removed duplicate code * Code cleanup * Moved code * Moved code |
||
Uwe Seimet
|
fdee57e421
|
Issues 245 & 247, improved symlink handling (#252)
* Extensions are case-insensitive * Made options case-sensitive, synchronized rasctl and rascsi options * Manpage and help update * Added comment * Updated log message * Warn about invalid files in image folder * Updated handling of block devices * Updated symlink handling * Fixed wrong handle being closed * Copy links as links * Logging update * Added -D_FILE_OFFSET_BITS=64 for better support of huge files * Logging update * Added comment * Use readdir instead of directory_iterator (issue with outdated C++ libs) * Updated symlink handling * Updated link handling * Updated logging * Updated error logging * Fixed condition * Updated setting default image folder * Comment update |
||
Uwe Seimet
|
f782156e51
|
Added INFO_IMAGE_FILES and INFO_NETWORK_INTERFACES (#243)
* Added GET_IMAGE_FILES * Added default folder to GET_IMAGE_FILES * Renaming * Updated setting image folder * Fixed default image folder handling * Added NETWORK_INTERFACES_INFO * Filter "lo" * Use PF_INET in favor of PF_INET6 * Added network interfaces to server info * Filter rascsi_bridge * Use list of available network interfaces as default parameters |
||
Uwe Seimet
|
8629dea87f | Replaced parameter lists by map with named parameters | ||
Uwe Seimet
|
3e7f317c49
|
Configurable block size, controller/device cleanup, dispatchers per device, bridge setup (#203)
* Use foreach * Renaming * Revert "Renaming" This reverts commit |
||
Uwe Seimet
|
0bd12e93f5
|
Refactoring, device handling extensions, additional settings, improved error handling, 64 bit OS support, fixed issues (#184)
* Device type unification, support of removable media
* Added support for .hdr extension
* Removable flag cleanup
* Manpage update
* Enriched PbOperation with PbDevice
* Added file size to PbImageFile
* Added device list support
* Set image_file
* Make remote interface more robust by ignoring SIGPIPE
* Return status only once
* Fixed typo
* Error handling update
* When starting rascsi parse everything before attaching devices
* Added dry run mode
* Comment update
* Updated logging
* Added Device base class, Disk class inherits from it
* Renaming
* Use vectors for controllers and disks, as preparation for using maps
* Updated file support handling
* Comment update
* DaynaPort and Bridge inherit from Device instead of Disk
* ProcessCmd() now works with devices instead of disks
* Renaming
* Added DeviceFactory
* Improved factory
* Comment update
* protected disk_t
* Code cleanup, added translations
* Device name can be set for rascsi
* rasctl can set device name
* Manpage update
* Manpage update
* Formatting update
* Check for missing name
* Initialize fd
* Initialize type
* Fixed string length issue
* Updated capacity formatting
* Fixed typo
* Split PbDevice into device and device definition
* Added TODO
* Renaming
* Renaming
* Device types can be explicitly specified with -t (no FILE:TYPE syntax anymore)
* Fixed compile-time issue
* Removed unused Append mode, updated read-only handling
* Type handling and manpage update
* Cleanup
* rasctl parser cleanup
* Review
* Constructor update
* Added .hdr (SCRM) support to web interface, tested web interface
* Default folder can be set remotely
* Removed deprecated operation
* DETACH supports all parameters in order to detach all devices
* include cleanup
* Logging should not depend on NDEBUG, for RaSCSI it is not peformance-critical
* INFO is default log level
* Exception renaming
* Updated GetPaddedName()
* Inheritance update
* Added BlockDevice class
* Removed unused code
* Updated typedefs
* Revert "Updated typedefs"
This reverts commit
|