af_archive(5)

af_archive -- format of archive files in the Attribute Filesystem

Section 5 shapetools bookworm source

Description

af_archive

NAME

af_archive -- format of archive files in the Attribute Filesystem

SYNOPSIS

#include <atfs.h>
#include <afsys.h>

DESCRIPTION

AtFS archive files are used to store the data and attributes of non-busy ASOs. Beside these, some attributes (including all user defined attributes) of busy ASOs are stored in AtFS archive files.

AtFS maintains two archive files for each line of development, one to hold the standard- and the user defined attributes and the other to hold the data and change notes. These files are stored either in a subdirectory named AtFS or in a explicitly named directory somewhere in your file system. The two archive files are named

Attr/<filename>

(attributes) and

Data/<filename>

(data).

This manual contains a short, exemplary description of the archive structure. All data in AtFS-archives are stored as ASCII-strings. The archives contain keywords and keyletters. These are set in boldface in the following description. Strings of the form <field> describe the purpose of the appropriate field in the archive.

Here’s the structure (the attributes file first):

The Header, ...

ˆBARHD <archive_format_version> <no_of_revisions> <size_of_data>

... the name ..

ˆBI <hostname> <path> <name> <type> <variant(unused)>

... and the owner ..

ˆBO <owner’s_name> <owner’s_host> <owner’s_domain>

... followed by some attributes for the busy version ...

ˆBP <gen_> <rev_of_physical_predecessor>
ˆBL
<locker’s_name> <locker’s_host> <locker’s_domain> <date_of_last_lock_change>

... and the revision list, that contains all standard
attributes for non-busy versions. ...

ˆBR <generation> <revision> <state> <mode> <variant(unused)>

ˆBA <author’s_name> <_host> <_domain> <locker’s_name> <_host> <_domain>

ˆBT <date_of_last_modification> <_last_access> <_last_status_change> ...

... <_saving> <_locking>

ˆBM <kind_of_representation> <size_of_file> <size_of_delta> ...

... <gen_> <rev_of_phys._successor> <gen_> <rev_of_phys._predecessor>

ˆBR ...
ˆBR ...

... Now follows the list of lists of user defined attributes
("-2 -2" indicates the busy version; "@" stands for a null byte). ...

ˆBUSEG
ˆBU -2 -2

machine=vax@data=fs@@
ˆBU
<gen> <rev>
name=value@@
ˆBU ...

The structure of the datafile:

Data are represented either by deltas or by complete data-chunks...

ˆBDATA <archive_format_version>

ˆBN <gen> <rev> <size_of_note>
--- empty log message ---

ˆBD <gen> <rev> <kind_of_representation> <size_of_data>
A typical delta looks like:
@67723@@@@44@67756@ˆA14@some text@6635@ and so on.
Deltas are indicated by a "1" at the "kind_of_representation" field.

ˆBN <gen> <rev> <size_of_note>
This is a log message

ˆBD <gen> <rev> <kind_of_representation> <size_of_data>
A "0" at the "kind_of_representation" field indicates that this
version is stored completely.

ˆBN ...

ˆBD ...

AUTHOR

Andreas Lampen, Tech. Univ. Berlin (andy@cs.tu-berlin.de)