PDB (Palm OS)

PDB adalah format wadah untuk database rekaman di Palm OS, Garnet OS, dan Access Linux Platform. Strukturnya mirip dengan basis data sumber daya RRT. Format eBook PalmDOC adalah versi khusus dari format PDB.

Struktur file PDB

File PDB berisi header PDB, header catatan PDB, dan catatan.

PDB Header
PDB Record Header
PDB Records

Judul PDB

Header PDB terletak di awal file dan berisi informasi meta pada file

OffsetNameTypeSize
0x00namechar (Modified ISO-8859-1)32 Bytes
0x20file attributesinteger2 Bytes
0x22versioninteger2 Bytes
0x24creation time32bit integer – PDB Datetime4 Bytes
0x28modification time32bit integer – PDB Datetime4 Bytes
0x2cbackup time32bit integer – PDB Datetime4 Bytes
0x30modification numberinteger4 Bytes
0x34app_infointeger4 Bytes
0x38sort_infointeger4 Bytes
0x3ctypeinteger4 Bytes
0x40creatorinteger4 Bytes
0x44unique_id_seedinteger4 Bytes
0x48next_record_listinteger4 Bytes
0x4cnum_recordsinteger2 Bytes

Tajuk Rekam PDB

Untuk setiap catatan, ada header catatan delapan byte, yang berisi:

nametypesizenotes
offsetinteger4 bytesByte number in the PDB file (counting from zero), where the record is located
attributesbyte1 byteAttributes of the record (delete/dirty/busy/secret/category)
UniqueIDinteger3 bytesAlways 0

Catatan PDB
Sekarang catatan itu sendiri mengikuti. Urutan yang biasa adalah AppInfoArea, SortInfoArea dan record, secara berurutan.

Waktu Tanggal PDB
Banyak file format PDB menggunakan penghitungan waktu dalam hitungan detik dari 1904-01-01T00:00:00. Ini adalah waktu dasar yang digunakan oleh Macintosh asli (hingga Mac OS 9). Dapat dicatat bahwa ada hubungan erat antara Palm OS dan Mac OS selama pengembangan awal. Menggunakan integer 32-bit yang tidak ditandatangani dan zaman 1904, integer overflow akan terjadi sekitar tahun 2040.

Orang lain dapat diamati menghitung dari 1970-01-01T00:00:00 (waktu dasar zaman Unix), dan menggunakan bilangan bulat 32-bit bertanda tangan yang akan meluap sekitar tahun 2038.

Palm OS Protein C/C++ Compiler Language & Library Reference, Hak Cipta 2004 Palm Source menyebut tanggal yang dihitung dari tahun 1904 sebagai “zaman Palm lama”, dan tanggal yang dihitung dari tahun 1970 “zaman UNIX”. Protein C juga menyediakan fungsi (palm_seconds_to_time_t(), dan time_t_to_palm_seconds() ) untuk mengonversi keduanya.

Beberapa sumber bahkan menyarankan beberapa file yang sangat lama mungkin menggunakan penghitungan waktu dari tahun 1900 (yang akan konsisten dengan zaman Excel).

Sayangnya, konflik antara era Palm (Mac OS 9) lama dan era UNIX ini, heuristik berikut mungkin berguna saat memeriksa file yang disalin dari perangkat Palm OS:

  • Jika waktu telah menetapkan bit atas, itu adalah nomor 32-bit yang tidak ditandatangani yang dihitung dari 1 Januari 1904
  • Jika waktunya jelas, itu adalah angka 32-bit bertanda yang dihitung dari 1 Januari 1970.
    Ini didasarkan pada gagasan bahwa, jika tidak, waktunya akan sebelum tahun 1972 atau sebelum tahun 1970 (tergantung pada interpretasi) dan format PDB belum ada.

Utilitas palmdump dan perangkat lunak lain menggunakan aturan praktis ini saat membaca file.

This entry was posted in . Bookmark the permalink.
Table of Contents
This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies.