FAD(5) File Formats Manual FAD(5)
NAME
FAD - File Attribute Database
DESCRIPTION
A FAD file is a file describing the attributes of a set of filesystem
objects in a format processable by the FAD tools, mkfad(1), faddiff(1),
fadcat(1), fadfixperms(1) and fadscan(1).
A FAD file consists of a header section and a body section.
The header section consists of lines separated by Unix newlines (octal
012). Each line consists of words separated by spaces (octal 040). The
order of lines is as follows:
magicnumber
version-dependent-headers
EOH
which are:
magicnumber literal text FaDFiLe
version-dependent-headers
a mixture of mandatory and optional
header lines (described in detail
below)
EOH literal text marking the end of the
FAD header
The mandatory headers lines are:
FAD-Version fad-version literal text FAD-Version followed by
the ASCII representation of the FAD
version number with which the file
is compliant (this should be 4)
Unix-Time unix-time literal text Unix-Time followed by
the number of seconds after 1 Janu-
ary 1970 00:00 at which the FAD file
was created (see time(2)).
Any other header line is considered optional and is ignored. The FAD
tools mentioned above do not write optional headers.
The body section consists of a single perl(1) assignment produced by
the Data::Dumper(3perl) module.
CAVEATS
Field and record separators in both the header and body of a FAD file
are not currently variable. There should be no need for this anyway.
FAD files should not be parsed by anything except FAD tools or other
tools based on the FAD library; no guarantee is made that the format
will be kept backwardly compatible.
STANDARDS
This manual page documents the FAD file format level 4 only.
SEE ALSO
mkfad(1), faddiff(1), fadscan(1), fadcat(1), fadfixperms(1), perl(1),
file(1), find(1), ls(1), URI::Escape(3perl), Data::Dumper(3perl),
sort(1), fad-config(1)
CHANGE HISTORY
FAD file format level 1 was not eight-bit clean, used a single line FAD
header (#F1), and used character 034 as a field separator.
FAD file format level 2.00 was eight-bit clean, used a multi-line FAD
header, and used magic number sequence 0106 0106.
FAD file format level 2.01 used a fixed format header.
FAD file format level 2.02 introduced Unix-Time header and variable or-
der header lines.
FAD file format level 3 introduced empty inode and device number
fields, and reverted to integer FAD format levels.
FAD file format level 4 switched to Data::Dumper(1) format in order to
automatically handle escaping of filenames.
AUTHOR
Alexis Huxley <alexishuxley@gmail.com>
COPYRIGHT & DISTRIBUTION POLICY
Copyright (C) 1995-2024 Alexis Huxley
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
675 Mass Ave, Cambridge, MA 02139, USA.
30 Jul 2024 FAD(5)