1
0
mirror of https://github.com/gryf/ADFlib.git synced 2026-02-07 16:55:48 +01:00

Initial import

This commit is contained in:
Toni G
2013-02-21 22:36:30 +01:00
parent 113fdf2a9e
commit f3af9e019f
72 changed files with 18613 additions and 0 deletions

146
README Normal file
View File

@@ -0,0 +1,146 @@
The ADFlib is a free, portable and open implementation of the Amiga filesystem.
It supports :
- floppy dumps
- multiple partitions harddisk dumps
- UAE hardfiles
- WinNT devices with the 'native driver' written by Dan Sutherland
- mount/unmount/create a device (real one or a dump file),
- mount/unmount/create a volume (partition),
- create/open/close/delete/rename/undel a file,
- read/write bytes from/to a file,
- create/delete/rename/move/undel a directory,
- get directory contents, change current directory, get parent directory
- use dir cache to get directory contents.
It is written in portable C, and support the WinNT platform to access
real drives.
---
unADF is a unzip like for .ADF files :
unadf [-lrcsp -v n] dumpname.adf [files-with-path] [-d extractdir]
-l : lists root directory contents
-r : lists directory tree contents
-c : use dircache data (must be used with -l)
-s : display entries logical block pointer (must be used with -l)
-v n : mount volume #n instead of default #0 volume
-p : send extracted files to pipe (unadf -p dump.adf Pics/pic1.gif | xv -)
-d dir : extract to 'dir' directory
Credits:
--------
main design and code Laurent Clevy
Bug fixes and C++ wrapper Bjarke Viksoe (adfwrapper.h)
WinNT native driver Dan Sutherland and Gary Harris
New versions and contact e-mail can be found at :
http://lclevy.free.fr/adflib
COMPILATION
-----------
It had been tested on Intel/Linux with gcc 2.7.2, Solaris 2.6, and
Win32.
Update (march 2006):
Makefiles has been modified to compile under Cygwin and gcc 3.4.4. (still 6 ISO C warning : normal)
The size of long must be 4, the size of short 2.
The library reads disk sectors written with the big endian (Motorola) byte
ordering.
You have to type :
make clean
make dep
make lib
A 'lidadf.a' should be created.
* Byte ordering
'make clean' remove the temporary files and the 'defendian.h'. In this file,
LITT_ENDIAN must be defined if the target machine uses the little endian
byte ordering, like this :
#ifndef LITT_ENDIAN
#define LITT_ENDIAN 1
#endif /* LITT_ENDIAN */
This should be done automatically by the 'myconf' shell script. myconf
autocompiles a C file which detects the byte ordering. The 'defendian.h'
is generated in 'myconf'. 'defendian.h' should be included in every .c file
which uses the LITT_ENDIAN define is used, otherwise the compiler could think
it is not defined, and the target machine is (always) using the big endian
byte ordering.
'myconf' is launched by 'make depend'.
* Native driver
The NATIV_DIR variable is used to choose the (only one) target platform
of the native driver. The default is :
NATIV_DIR = ./Generic
This one do not give access to any real device. The other one available is
Win32, to access real devices under WinNT.
* Win32DLL
The 'prefix.h' is used to create the Win32 DLL version of the library.
If the WIN32DLL variable is defined in the library code, public functions
are preceded by the '__declspec(dllexport)' directive. If this same
variable is defined, the '__declspec(dllimport)' is put before the functions
prototypes in the 'adflib.h' library include file.
FILES
-----
AUTHORS Contributors
README The file you are reading
TODO Future improvements and bugfixes
CHANGES Detailed changes
src/ main library files
src/win32/ WinNT native driver
src/generic/ native files templates
boot/ Bootblocks that might by used to put on floppy disks
doc/ The library developpers documentation
doc/FAQ/ The Amiga Filesystem explained
examples/ unadf.c
Possible bugs
-------------
- in dircache updates
- when a volume is becoming full
- lost memory releases
Please report any bugs or mistakes in the documentation !
Have fun anyway !