|
@@ -0,0 +1,55 @@
|
|
|
+.\" $Header$
|
|
|
+.TH ARCH 5ACK
|
|
|
+.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
|
|
|
+.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 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.
|