1984-07-12 15:18:13 +00:00
|
|
|
.\" $Header$
|
1984-07-12 14:14:54 +00:00
|
|
|
.TH ARCH 5
|
|
|
|
.SH NAME
|
|
|
|
arch \- archive (library) file format
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.B #include "/usr/em/h/arch.h"
|
|
|
|
.SH DESCRIPTION
|
|
|
|
The archive command
|
|
|
|
.I arch
|
|
|
|
is used to combine several files into
|
|
|
|
one.
|
|
|
|
Archives are used mainly as libraries to be searched
|
|
|
|
by the EM assembler/linker em_ass(VI) or the universal
|
|
|
|
assembler/linker em_unias(VI).
|
|
|
|
.PP
|
|
|
|
A file produced by
|
|
|
|
.I arch
|
|
|
|
has a magic number at the start,
|
|
|
|
followed by the constituent files, each preceded by a file header.
|
|
|
|
The magic number and header layout as described in the
|
|
|
|
include file are:
|
|
|
|
.RS
|
|
|
|
.PP
|
|
|
|
.nf
|
|
|
|
.ta \w'#define 'u +\w'ARMAG 'u
|
|
|
|
.so ../h/arch.h
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
The name is a null-terminated string;
|
|
|
|
The sizes of the other entries are determined as follows:
|
|
|
|
long's are 4 bytes in PDP-11 order, int are 2 bytes, low order
|
|
|
|
byte first, char's are 1 byte.
|
|
|
|
The date is in the
|
|
|
|
form of
|
|
|
|
.IR time (2);
|
|
|
|
the user ID and group ID are numbers; the mode is a bit pattern
|
|
|
|
per
|
|
|
|
.IR chmod (2);
|
|
|
|
the size is counted in bytes.
|
|
|
|
.PP
|
|
|
|
Each file begins on a even offset;
|
|
|
|
a null byte is inserted between files if necessary.
|
|
|
|
Nevertheless the size given reflects the
|
|
|
|
actual size of the file exclusive of padding.
|
|
|
|
.PP
|
|
|
|
Notice there is no provision for empty areas in an archive
|
|
|
|
file.
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
arch(I), em_ass(VI), em_unias(VI)
|
|
|
|
.SH BUGS
|
|
|
|
Coding user and group IDs as characters is a botch.
|