.\" $Id$ .TH ARCH 5 "$Revision$" .ad .SH NAME arch \- archive (library) file format .SH SYNOPSIS .B #include .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.