Annotation of researchv10dc/man/man5/ar.5, revision 1.1.1.1

1.1       root        1: .TH AR 5
                      2: .CT 1 lib_obj
                      3: .SH NAME
                      4: ar \- archive (library) file format
                      5: .SH SYNOPSIS
                      6: .B #include <ar.h>
                      7: .SH DESCRIPTION
                      8: The archive command
                      9: .IR ar (1)
                     10: is used to combine several files into
                     11: one.
                     12: Archives are used mainly as libraries to be searched
                     13: by the link-editor
                     14: .I ld.
                     15: .PP
                     16: A file produced by
                     17: .I ar
                     18: has a magic string at the start,
                     19: followed by the constituent files, each preceded by a file header.
                     20: The magic number and header layout as described in the
                     21: include file are:
                     22: .PP
                     23: .EX
                     24: .ta \w'#define 'u +\w'SAR_HDR 'u
                     25: .ec %
                     26: #define        ARMAG   "!<arch>\n"
                     27: #define        SARMAG  8
                     28: 
                     29: #define        ARFMAG  "`\n"
                     30: 
                     31: struct ar_hdr {
                     32:        char    ar_name[16];
                     33:        char    ar_date[12];
                     34:        char    ar_uid[6];
                     35:        char    ar_gid[6];
                     36:        char    ar_mode[8];
                     37:        char    ar_size[10];
                     38:        char    ar_fmag[2];
                     39: };
                     40: #define        SAR_HDR 60
                     41: .ec \
                     42: .EE
                     43: .LP
                     44: The name is a blank-padded string.
                     45: The
                     46: .L ar_fmag
                     47: field contains
                     48: .L ARFMAG
                     49: to help verify the presence of a header.
                     50: The other fields are left-adjusted, blank-padded numbers.
                     51: They are decimal except for
                     52: .LR ar_mode ,
                     53: which is octal.
                     54: The date is the modification date of the file
                     55: at the time of its insertion into the archive.
                     56: The length of the header is
                     57: .LR SAR_HDR .
                     58: Because
                     59: .L struct ar_hdr
                     60: may be padded on some machines,
                     61: .L SAR_HDR
                     62: should be used in preference to
                     63: .L sizeof(struct ar_hdr)
                     64: when reading and writing file headers.
                     65: .PP
                     66: Each file begins on an even (0 mod 2) boundary;
                     67: a newline is inserted between files if necessary.
                     68: Nevertheless 
                     69: .B ar_size
                     70: reflects the
                     71: actual size of the file exclusive of padding.
                     72: .PP
                     73: There is no provision for empty areas in an archive
                     74: file.
                     75: .PP
                     76: If an archive contains only printable files, the archive itself
                     77: is printable.
                     78: .SH "SEE ALSO"
                     79: .IR ar (1), 
                     80: .IR ld (1), 
                     81: .IR nm (1)
                     82: .SH BUGS
                     83: File names lose trailing blanks.
                     84: .br
                     85: Most software that deals with archives takes 
                     86: an embedded blank as a name terminator.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.