PDB (Palm OS)
Encyclopedia
PDB is a container format for record database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

s in Palm OS
Palm OS
Palm OS is a mobile operating system initially developed by Palm, Inc., for personal digital assistants in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management...

, Garnet OS and Access Linux Platform
Access Linux Platform
The Access Linux Platform , once referred to as a "next-generation version of the Palm OS" is an open source-based operating system for mobile devices developed and marketed by Access Co., of Tokyo, Japan. The platform includes execution environments for Java, classic Palm OS, and GTK+-based native...

. Its structure is similar to PRC
PRC (Palm OS)
PRC is a container format for code databases in Palm OS, Garnet OS and Access Linux Platform. Its structure is similar to PDB databases. Usually, a PRC file is a flat representation of a Palm OS application that is stored as forked database on the PDA....

 resource databases. The PalmDOC eBook format is a special version of the PDB format.

Structure of PDB file

A PDB file contains a PDB header, PDB record headers and records
Record (computer science)
In computer science, a record is an instance of a product of primitive data types called a tuple. In C it is the compound data in a struct. Records are among the simplest data structures. A record is a value that contains other values, typically in fixed number and sequence and typically indexed...

.
PDB Header
PDB Record Header
PDB Records

PDB Header

The PDB header is located at the beginning of the file and contains meta-information on the file :
Offset Name Type Size
0x00 name char 32 Bytes
0x20 file attributes integer 2 Bytes
0x22 version integer 2 Bytes
0x24 creation time Macintosh time 4 Bytes
0x28 modification time Macintosh time 4 Bytes
0x2c backup time Macintosh time 4 Bytes
0x30 modification number integer 4 Bytes
0x34 app_info integer 4 Bytes
0x38 sort_info integer 4 Bytes
0x3c type integer 4 Bytes
0x40 creator integer 4 Bytes
0x44 unique_id_seed integer 4 Bytes
0x48 next_record_list integer 4 Bytes
0x4c num_records integer 2 Bytes

PDB Record Header

For every record, there is an eight byte record header, containing:
name type size notes
offset integer 4 bytes Byte number in the PDB file (counting from zero), where the record is located
attributes byte 1 byte Attributes of the record (delete/dirty/busy/secret/category)
UniqueID integer 3 bytes Always 0

PDB Records

Now the records themselves follow. The usual order is AppInfoArea, SortInfoArea and records, sequentially.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK