mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
Added extra documentation.
This commit is contained in:
122
CODING.md
Normal file
122
CODING.md
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
Coding
|
||||||
|
======
|
||||||
|
|
||||||
|
Contributing with code to DiscImageChef has three very simple rules:
|
||||||
|
|
||||||
|
- Use same style as currently used. In a nutshell:
|
||||||
|
- Tabs instead of spaces
|
||||||
|
- Brackets in separate lines
|
||||||
|
- UNIX line endings
|
||||||
|
- Do not separate parenthesis,
|
||||||
|
- Indent every code block (for, foreach, while, if, switch, case)
|
||||||
|
- Do not modify the interfaces. If you need or want to, comment in an issue how and why you want to change it and we'll discuss it.
|
||||||
|
Same applies for creating new interfaces.
|
||||||
|
- Everything has a place, a module and an interface. Following is the list of interfaces.
|
||||||
|
|
||||||
|
|
||||||
|
[Claunia.RsrcFork](https://github.com/claunia/Claunia.RsrcFork)
|
||||||
|
---------------------------------------------------------------
|
||||||
|
- License: MIT
|
||||||
|
|
||||||
|
This library includes code for handling Mac OS resource forks, and decoding them, so any code relating to Mac OS resource forks should be added here.
|
||||||
|
|
||||||
|
[Claunia.Encoding](https://github.com/claunia/Claunia.Encoding)
|
||||||
|
---------------------------------------------------------------
|
||||||
|
- License: MIT
|
||||||
|
|
||||||
|
This library includes code for converting codepages not supported by .NET, like those used by ancient operating systems, to/from UTF-8.
|
||||||
|
|
||||||
|
[plist-cil](https://github.com/claunia/plist-cil)
|
||||||
|
-------------------------------------------------
|
||||||
|
- License: MIT
|
||||||
|
|
||||||
|
This library includes code for handling Apple property lists.
|
||||||
|
|
||||||
|
[SharpCompress](https://github.com/adamhathcock/sharpcompress)
|
||||||
|
--------------------------------------------------------------
|
||||||
|
- License: MIT
|
||||||
|
|
||||||
|
This library includes code for handling compression algorithms and compressed archives.
|
||||||
|
Any need you have of compression or decompression should be handled with this library, and any new algorithm should be added here.
|
||||||
|
|
||||||
|
[DiscImageChef](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef)
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
- License: GPL
|
||||||
|
|
||||||
|
This module contains the command line interface and core code.
|
||||||
|
In the future the core code will be separated from the CLI and a GUI will be added.
|
||||||
|
|
||||||
|
[DiscImageChef.Checksums](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Checksums)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module contains the checksum, hashing and error correction algorithms.
|
||||||
|
|
||||||
|
[DiscImageChef.Checksums](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.CommonTypes)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module contains structs and enumerations needed by more than one of the other modules.
|
||||||
|
|
||||||
|
[DiscImageChef.Decoders](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Decoders)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module contains internal disk, drive and protocol structures as well as code to marshal, decode and print them.
|
||||||
|
|
||||||
|
[DiscImageChef.Devices](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Devices)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module contains code to talk with hardware devices in different platforms.
|
||||||
|
|
||||||
|
Each platform has lowlevel calls in its own folder, and each device protocol has highlevel calls in its own folder.
|
||||||
|
Device commands are separated by protocol standard, or vendor name.
|
||||||
|
|
||||||
|
[DiscImageChef.DiscImages](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.DiscImages)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module provides reading capabilities for the disk/disc images, one per file.
|
||||||
|
|
||||||
|
[DiscImageChef.Filesystems](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Filesystems)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module provides the filesystem support. If only identification is implemented a single file should be used. For full read-only support, a folder should be used.
|
||||||
|
|
||||||
|
[DiscImageChef.Filters](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Filters)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
A filter is a modification of the data before it can be passed to the disk image module (compression, fork union, etc), and this module provides support for them.
|
||||||
|
|
||||||
|
[DiscImageChef.Helpers](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Helpers)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module contains a collection of helpers for array manipulation, big-endian marshalling, datetime conversion, hexadecimal printing, string manipulation and byte swapping.
|
||||||
|
|
||||||
|
[DiscImageChef.Interop](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Interop)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: MIT
|
||||||
|
|
||||||
|
This module contains calls to the underlying operating system. Currently only OS detection is needed.
|
||||||
|
|
||||||
|
[DiscImageChef.Metadata](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Metadata)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module contains handling of CICM XML metadata, media types and dimensions.
|
||||||
|
|
||||||
|
[DiscImageChef.Partitions](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Partitions)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module contains code for reading partition schemes.
|
||||||
|
|
||||||
|
[DiscImageChef.Settings](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Settings)
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
- License: LGPL
|
||||||
|
|
||||||
|
This module contains code for handling DiscImageChef settings.
|
||||||
7
CONTRIBUTING.md
Normal file
7
CONTRIBUTING.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
So, if you're reading this file it meants you are interested on helping DiscImageChef somehow.
|
||||||
|
There are basically four ways to help. Click on each one for details.
|
||||||
|
|
||||||
|
- [Testing and bug reporting](TESTING.md)
|
||||||
|
- [Information and test data](NEEDINFO.md)
|
||||||
|
- [Coding](CODING.md)
|
||||||
|
- [Hardware donations](DONATING.md)
|
||||||
59
DONATING.md
Normal file
59
DONATING.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
Hardware donations
|
||||||
|
==================
|
||||||
|
|
||||||
|
This is a list of hardware that I'm searching but is too rare or too expensive for me to get them.
|
||||||
|
The reason I want this hardware is because having it is the only way to add enhanced support for them (e.g. media detection, ECC support, raw dumping, etc.).
|
||||||
|
After adding enhanced support all drives will be given to the Canary Islands Computer Museum.
|
||||||
|
|
||||||
|
- Matsushita LS-240 and media
|
||||||
|
- Iomega ZIP750 and media
|
||||||
|
- Sony MD-DATA and media
|
||||||
|
- Sony Hi-MD and media
|
||||||
|
- SCSI floppy drive (e.g. Teac FD235JS806-U)
|
||||||
|
- Apple twiggy and media
|
||||||
|
- 8" shugart drive
|
||||||
|
- DiscFerret
|
||||||
|
- Caleb UHD144
|
||||||
|
- Sony HiFD
|
||||||
|
- Insite floptical
|
||||||
|
- 5.25" magneto-optical drive and media
|
||||||
|
- 3.5" magneto-optical media: 128MiB, 540MiB, 630MiB, 1.3GiB
|
||||||
|
- PD-650 drives (e.g. Panasonic LF-D111) and media
|
||||||
|
- Plasmon UDO and UDO2 drives and media
|
||||||
|
- Sony Professional Disc for DATA
|
||||||
|
- HD-DVD recorder and media
|
||||||
|
- Panasonic Blu-ray recorder
|
||||||
|
- Plextor DVD recorder
|
||||||
|
- Stringy floppy
|
||||||
|
- Iomega Bernoulli
|
||||||
|
- Iomega JAZ and JAZ 2
|
||||||
|
- Iomega REV
|
||||||
|
- Castlewood Orb 2.2 and 5.7
|
||||||
|
- Syquest SQ306RD drive and SQ100 media
|
||||||
|
- Syquest SQ312RD drive and SQ200 media
|
||||||
|
- Syquest SQ319RD drive and SQ300 media
|
||||||
|
- Syquest SQ2542 drive and media
|
||||||
|
- Syquest SQ555 drive and SQ400 media
|
||||||
|
- Syquest SQ5110 drive and SQ800 media
|
||||||
|
- Syquest SQ5200C drive and SQ2000 media
|
||||||
|
- Syquest SQ3105 drive and SQ310 media
|
||||||
|
- Syquest SQ3270 drive and SQ327 media
|
||||||
|
- Syquest EZ135 drive and media
|
||||||
|
- Syquest EZFlyer drive and media
|
||||||
|
- Syquest SyJet drive and media
|
||||||
|
- Syquest SparQ drive and media
|
||||||
|
- Syquest Quest drive and media
|
||||||
|
- Triton drive and media
|
||||||
|
- LV-ROM drive and media
|
||||||
|
- LD-ROM drive and media
|
||||||
|
- Iomega Ditto drive and tapes
|
||||||
|
- DLT drive and tapes
|
||||||
|
- Travan drive and tapes
|
||||||
|
- SLR drive and tapes
|
||||||
|
- T9840, T9940, T10000 drive and tapes
|
||||||
|
- ADR drive and tapes
|
||||||
|
- AIT drive and tapes
|
||||||
|
- LTO drive and tapes
|
||||||
|
- VXA drive and tapes
|
||||||
|
- Mammoth drive and tapes
|
||||||
|
- Host-aware and host-controller SAS and SATA zoned hard disks
|
||||||
11
NEEDINFO.md
Normal file
11
NEEDINFO.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Information and test data
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This is a list of information I need, including test disk images.
|
||||||
|
|
||||||
|
- DiscFerret stream images
|
||||||
|
- KryoFlux stream images
|
||||||
|
- NetWare 286 license and installation media for adding support to its filesystem
|
||||||
|
- NetWare 386 license and installation media for adding support to its filesystem
|
||||||
|
- Information about the structure and compression algorithm for XPACK disk images, or an implementation in C
|
||||||
|
- Information about the KenCode compression algorithm, or an implementation in C or Pascal
|
||||||
22
TESTING.md
Normal file
22
TESTING.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
How to test and bug report
|
||||||
|
==========================
|
||||||
|
|
||||||
|
First of all take in account that DiscImageChef master from git is unstable, prone to crashing and not working as expected, so don't suppose anything will work at all.
|
||||||
|
Specially compiling.
|
||||||
|
|
||||||
|
Once you've taken that in account normal testing procedures apply.
|
||||||
|
|
||||||
|
You must report bugs using GitHub issues facilities.
|
||||||
|
|
||||||
|
Sending an email telling the bug is the perfect way to get it forgotten in oblivion.
|
||||||
|
|
||||||
|
In the bug report you must indicate the following:
|
||||||
|
- Your operating system exact version, release and distribution
|
||||||
|
- The .NET Framework or Mono version you used to run DiscImageChef
|
||||||
|
- The exact command line used
|
||||||
|
- Expected results
|
||||||
|
- If DiscImageChef was used against a disk image you may need to provide us a copy
|
||||||
|
- If DiscImageChef was used against a device or physical media you may need to retest it several times
|
||||||
|
|
||||||
|
When you create the issue I'll check it as soon as I can and provide feedback.
|
||||||
|
However, solving it, will enter in the current queue of things to do.
|
||||||
Reference in New Issue
Block a user