Manual pages › File formats and configuration files (4)
filehdr(4)
file header for common object files
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
NAME
filehdr - file header for common object files
SYNOPSIS
#include <filehdr.h>
DESCRIPTION
Every common object file begins with a 20-byte header. The following C struct declaration is used:
struct filehdr
{
unsigned short f_magic ; /* magic number */
unsigned short f_nscns ; /* number of sections */
long f_timdat ; /* time & date stamp */
long f_symptr ; /* file ptr to symtab */
long f_nsyms ; /* number of symtab entries */
unsigned short f_opthdr ; /* sizeof(opt and header) */
unsigned short f_flags ; /* flags */
} ;
f_symptr is the byte offset into the file at which the symbol table can be found. Its value can be used as the offset in fseek(3S) to position an I/O stream to the symbol table. The UNIX system optional header is 28 bytes. The valid magic numbers are given below:
#define I386MAGIC 0514 /* i386 Computer */
#define WE32MAGIC 0560 /* 3B2, 3B5, and 3B15 computers */
#define N3BMAGIC 0550 /* 3B20 computer */
#define NTVMAGIC 0551 /* 3B20 computer */
#define VAXWRMAGIC 0570 /* VAX writable text segments */
#define VAXROMAGIC 0575 /* VAX read only sharable
text segments */
The value in f_timdat is obtained from the time(2) system call. Flag bits currently defined are:
#define F_RELFLG 0000001 /* relocation entries stripped */
#define F_EXEC 0000002 /* file is executable */
#define F_LNNO 0000004 /* line numbers stripped */
#define F_LSYMS 0000010 /* local symbols stripped */
#define F_AR16WR 0000200 /* 16-bit DEC host */
#define F_AR32WR 0000400 /* 32-bit DEC host */
#define F_AR32W 0001000 /* non-DEC host */
#define F_BM32ID 0160000 /* WE32000 family ID field */
#define F_BM32B 0020000 /* file contains WE 32100 code */
#define F_BM32MAU 0040000 /* file reqs MAU to execute */
#define F_BM32RST 0010000 /* this object file contains restore
work around [3B5/3B2 only] */
SEE ALSO
time(2), fseek(3S), a.out(4) The ``Common Object File Format (COFF)'' chapter in the Programmer's Guide