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