Browse Source

Initial revision

ceriel 37 years ago
parent
commit
32fa870855
1 changed files with 55 additions and 0 deletions
  1. 55 0
      util/arch/arch.5

+ 55 - 0
util/arch/arch.5

@@ -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.