filehdr(4) filehdr(4)
NAME
filehdr - Dateikopf für gemeinsame Objektdateien
SYNTAX
#include <filehdr.h>
BESCHREIBUNG
Jede gemeinsame Objektdatei beginnt mit einem Dateikopf mit einer
Länge von 20 Byte. Dabei wird die folgende C-struct-Deklaration
benutzt:
struct filehdr
{
unsigned short fmagic ; /* Dateiformatkennung */
unsigned short fnscns ; /* Anzahl der Abschnitte */
long ftimdat ; /* Zeit- und Datumsstempel */
long fsymptr ; /* Dateizeiger auf Symboltabelle */
long fnsyms ; /* Anzahl der Einträge in symtab */
unsigned short fopthdr ; /* Größe von opt und header */
unsigned short fflags ; /* Flags */
};
fsymptr ist der Zeiger auf den Datensatz in der Datei, in dem die
Symboltabelle beginnt. Der Wert dieses Flags kann in fseek(3S) als
Offset zur Positionierung eines E/A-Stroms in der Tabelle benutzt wer-
den. Der optionale Dateikopf von Reliant UNIX hat eine Länge von 28
Byte. Die zulässigen Dateiformatkennungen ("magic numbers") sind nach-
folgend aufgeführt:
#define I386MAGIC 0514 /* i386-Rechner */
#define WE32MAGIC 0560 /* 3B2-, 3B5- und 3B15-Rechner */
#define N3BMAGIC 0550 /* 3B20-Rechner */
#define NTVMAGIC 0551 /* 3B20-Rechner */
#define VAXWRMAGIC 0570 /* Durch VAX änderbare Textsegmente */
#define VAXROMAGIC 0575 /* Für VAX schreibgeschützte, gemeinsam
nutzbare Textsegmente */
#define MIPSEBMAGIC 0x0160
#define MIPSELMAGIC 0x0162
#define SMIPSEBMAGIC 0x6001
#define SMIPSELMAGIC 0x6201
#define MIPSEBUMAGIC 0x0180
#define MIPSELUMAGIC 0x0182
Der Wert von ftimdat ist das Ergebnis des Systemaufrufs time(2). Der-
zeit sind folgende Flag-Bits für F-Flags definiert:
#define FRELFLG 0000001 /* Relokations-Einträge gestrichen */
#define FEXEC 0000002 /* Datei ist ausführbar */
#define FLNNO 0000004 /* Zeilennummern gestrichen */
#define FLSYMS 0000010 /* Lokale Symbole gestrichen */
#define FMINIMAL 0000020
#define FUPDATE 0000040
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
filehdr(4) filehdr(4)
#define FSWABD 0000100
#define FPATCH 0002000
#define FNODF 0002000
#define FCPIC 0004000
#define FPIX 0010000
SIEHE AUCH
time(2), fseek(3S), a.out(4).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98