PDB(팜 OS)

PDB (Palm OS)

PDBPalm OS, Garnet OS 및 Access Linux Platform의 레코드 데이터베이스용 컨테이너 형식입니다.구조는 PRC [1]리소스 데이터베이스와 유사합니다.DOC eBook 형식은 PDB [2]형식의 특수 버전입니다.

PDB 파일 구조

PDB 파일에는 PDB 헤더, PDB 레코드 헤더 및 [3][4]레코드가 포함됩니다.

PDB 헤더
PDB 레코드 헤더
PDB 레코드

PDB 헤더

PDB 헤더는 파일의 시작 부분에 위치하며 파일의 [3]메타 정보를 포함합니다.

오프셋 이름. 유형 크기
0x00 이름. char (변경된 ISO-8859-1) 32 바이트
0x20 파일 속성 정수 2 바이트
0x22 버전 정수 2 바이트
0x24 생성 시간 32비트 정수 - PDB Datetime 4 바이트
0x28 수정 시간 32비트 정수 - PDB Datetime 4 바이트
0x2c 백업 시간 32비트 정수 - PDB Datetime 4 바이트
0x30 수정 번호 정수 4 바이트
0x34 app_info 정수 4 바이트
0x38 sort_info 정수 4 바이트
0x3c 유형 정수 4 바이트
0x40 창조자 정수 4 바이트
0x44 unique_id_seed 정수 4 바이트
0x48 next_record_list 정수 4 바이트
0x4c num_module 정수 2 바이트

PDB 레코드 헤더

각 레코드에 대해 다음 [3]내용을 포함하는 8바이트 레코드 헤더가 있습니다.

이름. 유형 크기 메모들
오프셋 정수 4 바이트 레코드가 있는 PDB 파일의 바이트 번호(0부터 카운트)
특성 바이트 1 바이트 레코드의 속성(삭제/더러움/비지/비밀/카테고리)
유니크 아이디 정수 3바이트 항상 0

PDB 레코드

이제 기록 자체가 따라다닌다.통상적인 순서는 [4]AppInfoArea, SortInfoArea 및 레코드입니다.

PDB 날짜

많은 PDB 형식 파일은 1904-01-01T00:00:00:00초 단위로 시간을 계산하여 사용합니다.이 시간은 원래 Macintosh(Mac OS 9까지)에서 사용된 기본 시간입니다.초기 개발 과정에서 Palm OS와 Mac OS 간의 긴밀한 연계가 있었음을 알 수 있습니다.부호 없는 32비트 정수와 1904에폭을 사용하면 2040년 중에 정수 오버플로가 발생합니다.

1970-01-01T00:00:00(유닉스 에폭 베이스 타임)부터 카운트되고 있는 것을 확인할 수 있는 경우도 있습니다.서명된 32비트 정수는 2038년 중에 오버플로우됩니다.

Palm OS Protein C/C++ 컴파일러 언어 및 라이브러리 레퍼런스, Copyright 2004 Palm Source에서는 1904년부터 계산한 날짜를 "Old Palm Epoch" 및 1970년부터 계산한 날짜를 "UNIX Epoch"라고 부릅니다.또한 단백질 C는 두 가지 함수를 변환하기 위한 함수(palm_seconds_to_time_t() 및 time_t_to_palm_seconds())도 제공합니다.

일부 소스에서는 매우 오래된 파일 중 일부는 1900년 이후의 시간을 사용할 수 있다고 제안하기도 합니다(Excel 시대와 일치합니다).

오래된 Palm(Mac OS 9) epoch와 UNIX epoch의 경합은 유감입니다.다음의 휴리스틱은 Palm OS 디바이스에서 복사된 파일을 조사할 때 도움이 될 수 있습니다.

  • 시각에 상위 비트가 설정되어 있는 경우 1904년 1월 1일부터 부호 없는 32비트 숫자 카운트입니다.
  • 시각의 톱 비트가 클리어 되어 있는 경우는, 1970년 1월 1일부터의 부호 있는 32비트 숫자 카운트입니다.

이는 그렇지 않으면 1972년 이전이나 1970년 이전(해석에 따라 다름)이라는 생각에 기초하고 있으며 PDB 형식은 그 당시가 아니었다.

palmdump 유틸리티 및 기타 소프트웨어는 파일을 읽을 때 이 기본 규칙을 사용합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ N. 로즈, J. 맥키한Palm OS Programming, Second Edition, O'Reilly, 2001, ISBN1-56592-856-3
  2. ^ MobileRead Wiki: 팜 사양DOC 형식
  3. ^ a b c Paul J. Lucas(1998) PDB(파일럿 데이터베이스) 파일 형식.20090308에 접속
  4. ^ a b 마이크로퍼스트 소프트웨어20090308에 접속된 웨이백머신에서 2009-03-15로 아카이브된 파일럿레코드 데이터베이스 형식