|
1 | | - |
2 | | - |
3 | 1 | # Afslib |
4 | 2 |
|
5 | | -**afslib** is a library for reading Archival File Systems (**AFS**). The **AFS** has unique preservation capabilites, including support for human readable data, file format ids and other types of metadata. A design goal for **AFS** is to provide a completely self contained file system, containing all information needed to decede and understand its content in the near and distant future. The **AFS** file system is primarily intended for **linear tape storage** mediums. |
6 | | - |
7 | | -The key components in the **AFS** is the **zero-reference-mark** indicating the start of the file system, the **control-frame** containing information about how to decode the rest of the reel and the **table-of-content** pointing to all files stored on the reel. The file system is organised into sectors, called **frames**, where a frame occupies a rectangle on the storage medium surface. The frame can contain either visual or digital data. The data on the frame could be encoded using any kind of 2D barcode format. Current instances of AFS uses the boxinglib 2D barcode format. |
| 3 | +**afslib** is a library for reading Archival File Systems (**AFS**). The **AFS** |
| 4 | +has unique preservation capabilites, including support for human readable data, |
| 5 | +file format ids and other types of metadata. A design goal for **AFS** is to |
| 6 | +provide a completely self contained file system, containing all information |
| 7 | +needed to decede and understand its content in the near and distant future. The |
| 8 | +**AFS** file system is primarily intended for **linear tape storage** mediums. |
| 9 | + |
| 10 | +The key components in the **AFS** is the **zero-reference-mark** indicating the |
| 11 | +start of the file system, the **control-frame** containing information about how |
| 12 | +to decode the rest of the reel and the **table-of-content** pointing to all |
| 13 | +files stored on the reel. The file system is organised into sectors, called |
| 14 | +**frames**, where a frame occupies a rectangle on the storage medium surface. |
| 15 | +The frame can contain either visual or digital data. The data on the frame could |
| 16 | +be encoded using any kind of 2D barcode format. Current instances of AFS uses |
| 17 | +the boxinglib 2D barcode format. |
8 | 18 |
|
9 | 19 | See [LICENSE for software licensing.](./LICENSE) |
10 | 20 |
|
11 | | -This library contains a version of the third party library Mini-XML, which is Copyright 2003-2016 by Michael R Sweet. |
12 | | - |
| 21 | +This library contains a version of the third party library Mini-XML, which is |
| 22 | +Copyright 2003-2016 by Michael R Sweet. |
13 | 23 |
|
14 | 24 | # Table of Contents |
15 | 25 |
|
16 | | -1. [Afslib](#afslib) |
17 | | -2. [Features](#features) |
18 | | -3. [Requirements](#requirements) |
19 | | -4. [Installation](#installation) |
20 | | - 1. [iVM](#ivm) |
21 | | - |
| 26 | +1. [Afslib](#afslib) |
| 27 | +2. [Features](#features) |
| 28 | +3. [Requirements](#requirements) |
| 29 | +4. [Installation](#installation) |
| 30 | + 1. [iVM](#ivm) |
22 | 31 |
|
23 | 32 | # Features |
24 | 33 |
|
25 | | -- Simple file system with unique preservation capabilities |
26 | | -- Portable |
27 | | -- TOC supports both digital and visual data |
28 | | -- TOC supports file metadata in any format |
29 | | -- TOC supports file format identification |
30 | | -- Control frame supports self contained bootstrap for decoding rest of the reel |
31 | | - |
| 34 | +- Simple file system with unique preservation capabilities |
| 35 | +- Portable |
| 36 | +- TOC supports both digital and visual data |
| 37 | +- TOC supports file metadata in any format |
| 38 | +- TOC supports file format identification |
| 39 | +- Control frame supports self contained bootstrap for decoding rest of the reel |
32 | 40 |
|
33 | 41 | # Requirements |
34 | 42 |
|
35 | 43 | C language compiler supporting C99 (ISO/IEC 9899:1999). |
36 | 44 |
|
37 | 45 | A design goal is to have as few dependencies as possible. |
38 | 46 |
|
39 | | - |
40 | 47 | # Installation |
41 | 48 |
|
42 | | - git clone https://github.com/piql/afs |
43 | | - cd afs |
44 | | - ./autogen.sh |
45 | | - ./configure LIBUNBOXING_DIR=<absolute path to unboxing> |
46 | | - make |
47 | | - |
| 49 | +```sh |
| 50 | +git clone https://github.com/piql/afs --recurse-submodules |
| 51 | +cd afs |
| 52 | +cmake -Bbuild |
| 53 | +cmake --build build -j |
| 54 | +pushd build |
| 55 | +./afstest |
| 56 | +popd |
| 57 | +``` |
48 | 58 |
|
49 | 59 | ## iVM |
50 | 60 |
|
51 | | -The iVM virtual machine is a minimal execution environment for file format decoders. Its design goal is to minimize future implementation effort by providing an unambiguous and compact implementation description. |
| 61 | +The iVM virtual machine is a minimal execution environment for file format |
| 62 | +decoders. Its design goal is to minimize future implementation effort by |
| 63 | +providing an unambiguous and compact implementation description. |
52 | 64 |
|
53 | 65 | The afs library is one of the formats the iVM natively supports. |
54 | 66 |
|
55 | | -To target the iVM and use the ivm64 compiler: |
56 | | - |
57 | | - CC=ivm64-gcc ./configure --host=ivm64 LIBUNBOXING_DIR=<absolute path to unboxing> |
58 | | - |
|
0 commit comments