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)