Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ filehdr(4) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

time(2)

fseek(3S)

a.out(4)



filehdr(4)                FILE FORMATS                 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  fmagic ;   /* magic number */
        unsigned short  fnscns ;   /* number of sections */
        long            ftimdat ;  /* time & date stamp */
        long            fsymptr ;  /* file ptr to symtab */
        long            fnsyms ;   /* number of symtab entries */
        unsigned short  fopthdr ;  /* sizeof(opt and header) */
        unsigned short  fflags ;   /* flags */
     } ;

     fsymptr is the byte offset into the file at which the  sym-
     bol 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 ftimdat is obtained from  the  time(2)  system
     call.  Flag bits currently defined are:

     #define FRELFLG  0000001   /* relocation entries stripped */
     #define FEXEC    0000002   /* file is executable */
     #define FLNNO    0000004   /* line numbers stripped */
     #define FLSYMS   0000010   /* local symbols stripped */
     #define FAR16WR  0000200   /* 16-bit DEC host */
     #define FAR32WR  0000400   /* 32-bit DEC host */
     #define FAR32W   0001000   /* non-DEC host */
     #define FBM32ID  0160000   /* WE32000 family ID field */
     #define FBM32B   0020000   /* file contains WE 32100 code */
     #define FBM32MAU 0040000   /* file reqs MAU to execute */
     #define FBM32RST 0010000   /* this object file contains restore
                                    work around [3B5/3B2 only] */




                                                                1





filehdr(4)                FILE FORMATS                 filehdr(4)



SEE ALSO
     time(2), fseek(3S), a.out(4) The ``Common Object File Format
     (COFF)'' chapter in the Programmer's Guide




















































                                                                2



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