Commit | Line | Data |
---|---|---|
11a514e8 C |
1 | .TH AR 5 "15 January 1983" |
2 | .SH NAME | |
3 | ar \- archive (library) file format | |
4 | .SH SYNOPSIS | |
5 | .B #include <ar.h> | |
6 | .SH DESCRIPTION | |
7 | .PP | |
8 | The archive command | |
9 | .I ar | |
10 | combines several files into one. | |
11 | Archives are used mainly as libraries to be searched by the link-editor | |
12 | .I ld. | |
13 | .PP | |
14 | A file produced by | |
15 | .I ar | |
16 | has a magic string at the start, | |
17 | followed by the constituent files, each preceded by a file header. | |
18 | The magic number and header layout as described in the include file are: | |
19 | .RS | |
20 | .PP | |
21 | .nf | |
22 | .ta \w'#define 'u +\w'SARMAG 'u | |
23 | .ec % | |
24 | .so /usr/include/ar.h | |
25 | .ec \ | |
26 | .fi | |
27 | .RE | |
28 | .LP | |
29 | The name is a blank-padded string. | |
30 | The | |
31 | .I ar_fmag | |
32 | field contains ARFMAG to help verify the presence of a header. | |
33 | The other fields are left-adjusted, blank-padded numbers. | |
34 | They are decimal except for | |
35 | .IR ar_mode , | |
36 | which is octal. | |
37 | The date is the modification date of the file | |
38 | at the time of its insertion into the archive. | |
39 | .PP | |
40 | Each file begins on a even (0 mod 2) boundary; | |
41 | a new-line is inserted between files if necessary. | |
42 | Nevertheless the size given reflects the | |
43 | actual size of the file exclusive of padding. | |
44 | .PP | |
45 | There is no provision for empty areas in an archive file. | |
46 | .PP | |
47 | The encoding of the header is portable across machines. | |
48 | If an archive contains printable files, the archive itself is printable. | |
49 | .SH "SEE ALSO" | |
50 | ar(1), ld(1), nm(1) | |
51 | .SH BUGS | |
52 | File names lose trailing blanks. | |
53 | Most software dealing with archives takes even | |
54 | an included blank as a name terminator. |