PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
Format PFP-Files Version 2

Ein PFP-File in der Version 2 beginnt immer mit einem Header, gefolgt von individuellen Nutzdaten

Alle Größenangaben mit 2 oder mehr Byte sind im Little Endian-Format!

Header

Der Header einer Version 2 Datei sieht so aus:

Byte 0: String "PFP-File" 8 Bytes
Byte 8: PFP-File-Version (2) 1 Byte
Byte 9: Länge des PFP-Header (40) 1 Byte
Byte 10: File-ID ("xxxx") 4 Bytes
Byte 14: Unterversion (x) 1 Byte
Byte 15: Hauptversion (x) 1 Byte
Byte 16: Zeiger auf Name 2 Byte
Byte 18: Zeiger auf Autor 2 Byte
Byte 20: Erstelldatum 4 Byte
Byte 24: Erstellzeit in Sekunden 4 Byte
Byte 28: Datum letzte Änderung 4 Byte
Byte 32: Zeit letzte Änderung in Sekunden 4 Byte
Byte 36: Komprimierung 2 Byte
Byte 38: unbenutzt 2 Byte

Beschreibung:

  • Länge des PFP-Header
    Der Header ist in der Regel 38 (ältere Formate) oder 40 (neuere Formate) Byte lang
  • File-ID
    Diese 4 Byte enthalten einen eindeutigen String, der Aufschluß über den Inhalt der Datei gibt. Dies kann z.B. "FONT", "PICT", "LANG", usw. sein.
  • Haupt- und Unterversuin
    Diese beiden Bytes enthalten die Version für die jewwilige File-ID.
  • Zeiger auf Name
    Enthält die Datei einen Namensstring, wird hier ein 2-Byte-Pointer darauf gespeichert. Der Namensstring muß daher innerhalb der ersten 64 KByte der Datei stehen. In der Regel steht der Name direkt im Anschluss an den Header. Der String muss mit einem 0-Byte terminiert sein.
  • Zeiger auf Autor
    Wie beim Namensstring. Der Autor steht in der Regel direkt nach Header und Name, und muß ebenfalls mit einem 0-Byte terminiert sein.
  • Erstelldatum
    Ein 4-Byte-Wert der das Datum der Erstellung der Datei im Format "yyyymmdd" enthält. Eine Datei, die am 1. November 2007 erstellt wurde, enthält also den Wert 20071101.
  • Erstellzeit
    Dieser 4-Byte-Wert enthält die Uhrzeit der Erstellung, gerechnet in Sekunden seit Mitternacht. In Kombination mit dem Erstelldatum erhält man so einen Sekundengenauen Zeitpunkt der Erstellung. Der Wert errechnet sich folgendermassen:
    Sekunden + Minuten * 60 + Stunden * 3600
  • Datum letzte Änderung
    Ein 4-Byte-Wert der das Datum der letzten Änderung im Format "yyyymmdd" enthält.
  • Zeit letzte Änderung
    Dieser 4-Byte-Wert enthält die Uhrzeit der letzten Änderung, gerechnet in Sekunden seit Mitternacht.
  • Komprimierung
    Dieser Wert ist leider nicht genau definiert. Einizig der Wert "0" bedeutet "unkomprimiert".

Name und Autor
Im Anschluss an den Header folgen nun optional Name und Autor der Datei, sofern die Zeiger in Byte 16 und 18 dafür gesetzt wurden. Beide Angaben müssen mit einem 0-Byte terminiert werden.
Nutzdaten
Danach folgen die Nutzdaten. Deren Aufbau ist durch das PFP-Format Version 2 nicht vorgegeben.
Nutzung
Zum Lesen und schreiben eines PFP-Headers gibt es folgende Funktionen: