NAME
lif — logical interchange format description
DESCRIPTION
LIF
(Logical Interchange Format)
is a Hewlett-Packard standard mass-storage format
that can be used for interchange of files among various
HP
computer systems.
A
LIF
volume contains a header (identifying it as a
LIF
volume) and a directory that defines the contents
(i.e. files) of the volume.
The size of the directory is fixed when the volume is initialized (see
lifinit(1))
and sets an upper bound on the number of files
that can be created on the volume.
HP-UX
contains a set of utilities (referred to as
lif*(1))
that can be used to:
Initialize a
LIF
volume (i.e. create a header and an empty directory),
Copy files to and from
LIF
volumes,
List the contents of
LIF
volumes,
The
lif*(1)
utilities are the only utilities within
HP-UX
where the internal structure of a
LIF
volume is known.
To the rest of
HP-UX,
a
LIF
volume is simply a file containing some unspecified data.
The term
LIF
volume
should in no way be confused with the
HP-UX
notion of a file system volume or mountable volume.
LIF
utilities on
HP-UX
currently support three file types,
ASCII
(1),
BINARY
(-2)
and
BIN
(-23951).
Three copying modes are associated with these file types:
- ASCII
If the copying mode is
ASCII
and an
HP-UX
file is being copied to a
LIF
volume, the utility strips the trailing
LF
(line-feed) character,
and inserts two bytes of record length in front of each record.
These records are then written to a
LIF-formatted medium.
When copying a
LIF ASCII
file to
HP-UX
the two-byte record length is stripped and a trailing
LF
is appended.
These records are then written to the destination.
In this mode of copying, the length of the file is preserved.
The default file type for this mode of copying is
ASCII
(1).
- BINARY
If the copying mode is
BINARY,
and an
HP-UX
file is being copied to a
LIF
volume, the utility simply inserts two bytes for record length
in front of each 1-Kbyte record.
A trailing fractional block has a count
reflecting the number of bytes in that block.
No interpretation is placed on the content of the records.
These records are then written to a
LIF-format medium.
When copying a
LIF
file to an
HP-UX
file in
BINARY
copying mode,
the record lengths are stripped
and the content of records is directly written to the destination.
In this mode of copying, the length of the binary file is preserved.
The default file type for this mode of copying is
BINARY
(-2).
- RAW
If the copying mode is
RAW,
and an
HP-UX
file is being copied to a
LIF
volume, the utility simply copies the raw data to the destination.
File sizes that are not integer multiples of 256 bytes
are padded with nulls to the next higher multiple.
Therefore,
file sizes are not preserved.
When copying a
LIF
file to an
HP-UX
file in
RAW
mode, the information is copied directly without
any interpretation placed on the content of the source.
The default file type for this mode of copying is
BIN
(-23951).
A
LIF
volume can be created on any
HP-UX
file (either regular disk file or device special file)
that supports random access via
lseek()
(see
lseek(2)).
Do not mount the special file before using
lif*(1)
utilities.
See
lifinit(1)
for details.
Within a
LIF
volume, individual files are identified by 1- to 10-character file names.
File names can consist of uppercase alphanumeric characters
(A through Z, 0 through 9)
and the underscore character (_).
The first character of a
LIF
file name must be a letter (A through Z).
The
lif*(1)
utilities accept any file name
(including illegal file names generated on other systems),
but can only create legal names.
This means that files whose names contain lowercase letters
can be read but not created.
LIF
file names are specified to the
lif*(1)
utilities by concatenating the
HP-UX
path name for the
LIF
volume followed by the
LIF
file name, separating the two with a colon
(:).
For example:
- /dev/fd.0:ABC
specifies
LIF
file
ABC
accessed via
HP-UX
device special file
/dev/fd.0.
- myfile:ABC
specifies
LIF
file
ABC
within
HP-UX
disk file
myfile.
Note that this file-naming convention is applicable
only for use as arguments to the
lif*(1)
utilities, and does not constitute valid path naming
for any other use within the
HP-UX
operating system.
Do not mount the special file while using
lif*(1)
utilities.