55 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" $Header$
 | 
						|
.TH ARCH 5 "$Revision$"
 | 
						|
.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.
 |