The par utility creates and manipulates PalmOS database (.pdb) and resource (.prc) files. Par is designed to be a Swiss army knife for managing these files. It's a command line tool, and not for the faint of heart, but it's very handy and replaces a bunch of little utilities that you might otherwise use. Please consider the current state as a Beta release.

Version History

The current version is 00.05.01, if you have an earlier version, please update to the latest.

00.05 is a minor update that fixes a couple of minor bugs and resizes some of the libprc APIs. 00.05.01 updates only the ready to run Win32 par.exe. The previous release was a bad build that would not handle wild cards. Sorry about that! The following notes refer to version 00.04:

The focus of this release is improved portability in the source code. I've finally integrated Tomi Kankaanpää's Macintosh changes and Steve Austin's Win32 DLL changes into the core source. You should be able to download the source, and quickly build on Unix with make/gcc, Windows with Visual C++ and Macintosh with CodeWarrior. The source package now includes a Visual C++ project file for building libprc as a DLL. Hopefully this make it easier to integrate libprc into other projects you may be working on. Ports to further platforms should be easier now because the system header file includes have been consolidated in one place.

I've added rudimentary support for Palm stream databases. See the examples in the man page. A number of minor bugs have been fixed: very long database names, parsing of resource filenames and record attributes, other minor bugs.

Thanks to Hallvard Trætteberg for support of PalmOS 4.0 database attributes; Amy Lee, Eric Lincoln, Michael Flanagan and others for bugs found, fixed and feature requests.

Finally, I've updated all the files to include the Mozilla Public License. As the many of you who have written to ask "what is your licensing scheme?", MPL was always my intention, now the files reflect that.

Version 00.05.01 (August 2001)

Version 00.05 (July 2001)

Version 00.04 (June 2001)

Version 00.03 (March 2000)

Version 00.02 (September 1999)

Man Page

Here is a HTML version of the par(1) man page, converted using rman

Screen Shots

$ par h graytoggle.prc
par h graytoggle.prc
name:       GrayToggle
type:       appl
cid:        djwG
attributes: resource
version:    1
ctime:      199605161114
mtime:      199605161114
btime:      190401010000
modnum:     0
szappinfo:  0
nrecords:   7
$ par t graytoggle.prc
par t graytoggle.prc
code 0001 1136 ....NV..H.....Hn..Hn..Hn..NO......J@g..<..NO.4(G
code 0000   24 ...(........... ..?<....
data 0000   48 ................................................
pref 0000   10 ..........
Talt 03e8   29 ........GrayToggle.^1^2^3.Ok.
tAIB 03e8  416 . . .......$....?......<?......(....".Q(".Q.".Q(
tver 0001    6 1.0.0.


Par is actually the test program for a prc manipulation library I am writing (libprc). The source for both is here:


The source has been successfully built on FreeBSD, Linux, Solaris (all using gcc), Win32 (using Visual C++ 6.0), and Macintosh (using CodeWarrior).


If you download and use par, please support me in my efforts to raise money to fight AIDS while running in the Honolulu Marathon. Click here.


Thanks very much to following individuals who have contributed to par and libprc: Steve Austin, Michael Flanagan, Tomi Kankaanpää, Amy Lee, Eric Lincoln, Hallvard Trætteberg, Andrew Trevarrow, Gabriel Weisz, and others I've forgotten.

© 1995-2001 David Williams <>