Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  FILEHDR(4)                                             FILEHDR(4)



  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 ;   /* # symtab entries */
               unsigned short  f_opthdr ;  /* sizeof(opt hdr) */
               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 Baker system optional header is 28-bytes.  The
       valid magic numbers are given below:

       #define FBOMAGIC   0560   /* 3B2 and 3B5 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 */


  Page 1                                                   May 1989


















  FILEHDR(4)                                             FILEHDR(4)



       #define F_LNNO    0000004   /* line numbers stripped */
       #define F_LSYMS   0000010   /* local symbols stripped */
       #define F_MINMAL  0000020   /* minimal object file */
       #define F_UPDATE  0000040   /* update file, ogen produced */
       #define F_SWABD   0000100   /* file is "pre-swabbed" */
       #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_PATCH   0002000   /* "patch" list in opt hdr */
       #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).

























  Page 2                                                   May 1989
















Typewritten Software • bear@typewritten.org • Edmonds, WA 98026