Pristine Ack-5.5
[Ack-5.5.git] / util / arch / arch.5
1 .\" $Id: arch.5,v 1.5 1995/03/17 14:11:47 ceriel Exp $
2 .TH ARCH 5 "$Revision: 1.5 $"
3 .ad
4 .SH NAME
5 arch \- archive (library) file format
6 .SH SYNOPSIS
7 .B #include <arch.h>
8 .SH DESCRIPTION
9 The archive command
10 .I arch
11 is used to combine several files into
12 one.
13 Archives are used mainly as libraries to be searched
14 by the EM assembler/linker em_ass(6) or the universal
15 assembler/linker uni_ass(6).
16 .PP
17 A file produced by
18 .I arch
19 has a magic number at the start,
20 followed by the constituent files, each preceded by a file header.
21 The magic number and header layout as described in the
22 include file are:
23 .RS
24 .PP
25 .nf
26 .ta \w'#define 'u +\w'ARMAG 'u
27 .so TARGETHOME/h/arch.h
28 .fi
29 .RE
30 .LP
31 The name is a null-terminated string;
32 The sizes of the other entries are determined as follows:
33 long's are 4 bytes in PDP-11 order, int are 2 bytes, low order
34 byte first, char's are 1 byte.
35 The date is in the
36 form of
37 .IR time (2);
38 the user ID and group ID are numbers; the mode is a bit pattern
39 per
40 .IR chmod (2);
41 the size is counted in bytes.
42 .PP
43 Each file begins on a even offset;
44 a null byte is inserted between files if necessary.
45 Nevertheless the size given reflects the
46 actual size of the file exclusive of padding.
47 .PP
48 Notice there is no provision for empty areas in an archive
49 file.
50 .SH FILES
51 ~em/h/arch.h
52 .SH "SEE ALSO"
53 arch(1), em_ass(6), uni_ass(6)
54 .SH BUGS
55 Coding user and group IDs as characters is a botch.