Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ filehdr(4) — Atari System V 1.1-06

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

time(2)

fseek(3S)





   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  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 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 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] */



   8/91                                                                 Page 1









   filehdr(4)                                                       filehdr(4)


   SEE ALSO
         time(2), fseek(3S).

         The Programmer's Guide: ANSI C and Programming Support Tools

















































   Page 2                                                                 8/91





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