ack/util/arch/arch.5

56 lines
1.3 KiB
Groff
Raw Normal View History

1987-03-11 15:07:29 +00:00
.\" $Header$
1991-10-01 12:18:39 +00:00
.TH ARCH 5 "$Revision$"
1987-03-11 15:07:29 +00:00
.ad
.SH NAME
arch \- archive (library) file format
.SH SYNOPSIS
.B #include <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(6) or the universal
assembler/linker uni_ass(6).
.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
1991-11-15 14:41:41 +00:00
.so ../../h/arch.h
1987-03-11 15:07:29 +00:00
.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 FILES
~em/h/arch.h
.SH "SEE ALSO"
arch(1), em_ass(6), uni_ass(6)
.SH BUGS
Coding user and group IDs as characters is a botch.