DTM database
From OESF
zyxel zywall 100 trans arrapati asus schede madri per amd 64 gioco in 2 nella vecchia meghi mario vargas syndicate auto carnival panepinto filippo photosmart 945 hp j league winning 11 9899 hp zd8156ea portatili hawai intrattenimento panathinaikos versace costumi donna abbigliamento cdx mp3 fame renato zero www playstation com canon ef 2485 usm testi degli aventura scheda allenamento bodybuilding la maledizione del serpente giallo tutta dance 4 borsa compact m giorgio conte sandy marton biography brother fax 1840 porno senza rischi kusbdtii 512 unlocker lg monitor lcd 20 samsung swyx solution partner amd sempron 3100 socket 754 residence le riviere shakira internet puglia mario puzo libri free mail uccisione americano la primera maquina de la computadora videoregistratore dvd samsung letras de reggeton sfondi modelle skateboard ps2 videogiochi forni rex classe a e frankie h energy pensione milano borghetto di vara hdd 2 5 samsung n berg pictures cliphunter il figlio dellamore estratto conto online tiscali antispam teatro napoli adf retro didot canzoni piu vendute forno a micro onde sharp gioiello anello hp all in one bomb defusal tappeto bambino una trilogia di extra lcd tft 15 tv samsung televisori miele w257f duo siemens pergusa culi dilatati la radio nella tempesta av tech manicure elettrico gamle damer gaeta win xp home oem congresso roma phone ring effect alessi porte mda compact dieci spade e dieci denare la clinica della vergogna pissing girl ilaria d amico video sexy inni squadre g u n 48 del 18 6 2004 wd raptor 74gb che c e venditti libri dell orrore locanda gaudemus trieste il gruppo leader cerca figure professionali lexus rx 300 ambassador maxtor 7y250p0 marsa susa netgear wg302 pagine bianche go fax 1170l piscina lecco fabio e graziella ragazzine nude video bollenti gratis great salt lake l era della perdizione givenchy parfum ozoe cd3 cd4 voyeur a torino canon ef 2470mm f 2 8l usm tempo di patch anche per stronghold 2 hotel london pasquato snc cdv sas miss erd video sailor mars aol uk lcd 1600x1200 tutto sul computer mangio troppa cioccolata caricatori cd clarion hdd iomega 80 gb lexmark p6250 ostelli in padova baby park pub roma lizziemcguire com valbormida stoddard richard henry helen svedin luis fulmine santa rita la differenza mg zr 105 dragon din tea midi e adesso la pubblicita ronco minchia patrizia de blanc nuda mercedes e classe e deuxs cd the essential michael jackson insieme scarica le puntate di zelig guida di quake 3 arena knickerbocker diedrich prenotazione hotel napoli viaggio ecuador fotocamera pentax 6 1 marmittoni al fronte www aprilia com dumas alexandre (scrittore f cimitero mp3 philips hdd060 non mi dir adriano celentano rexton 290 chayenne siver coppie con recapito telefonico lotti di magic regina della notte dragoste din tey auricolari in ear transformers armada disco 09 membri grossi vietnamnet vn l n 241 del 7 7 1990 telecomando ps2 sony foto di sposate mutuo banca roma via citi max giusti sodimm 400mhz creazione sito gratis francesca schiavo side by side special il padrino ii volontariato amd turion mt30 fabbri firenze dive degli anni 80 sensa cravata peran sveglie oregon scientific quisiera poder olvidarme de ti kalinka mp3 rasaerba motore scoppio ipermercato auchan singole x singoli lombardia omega vibes collegiodeigeometri shakira te dejo madrid williams robbie verbatim dvd r 25 test dintel magia nuda we are free enya libri bambini ragazzi barcarola offenbach rendite internet camera ip obiettivo canon 70200 usm ostaggio usa decapitato DTM HowTo:
original by: Dr. Stefan C. Kremer
Note: Dr. Kremer expresses the wish to no longer been contacted directly about any issues with the DTM database and programming. I received from him all the documents he has, he no longer develops for the Zaurus. As soon as I have a hint on how to transfer these documents on this site, I will update the page and put all the links to the documents. In the mean time, you may contact me: Daniel Savard
This document describes how to write code that interfaces with DTM (the PIM storage format)
The DTM is a simple database that runs on the Zaurus SL-5600 (and the v3.10 ROM for the SL-5500) and the SL-6000 (probably also on all Zaurii newer than the SL-5600). The new PIM applications use DTM for all data storage where the old PIM applications used XML files. DTM is faster, XML is easier to interface with other code (until now).
Contents |
What you need to develop on the desktop:
1.Development tools
- need to set up your complier as described here
- probably don't really need qpe if you are not writing code with a GUI
- don't need qvfp
2.The specs and header files for the DTM access
- The files you need are here
- index-req-getit-lid-197.phtml dtm.zip
- index-req-getit-lid-198.phtml headers.zip
The headers and library are in the development image you can found on the ELSI for development on the Zaurus.
I haven't yet figure-out how to upload documents which are not images or sound files on this site for the benefit of everyone. I have two PDF documents on the DTM and PIM specifications I wish to make available here. E-mail me if you know how to upload them here (Daniel Savard).
3.libzdtm.so
- This is the actual shared library that you need to link against. It is found on the Zaurus in the /home/!QtPalmtop/lib/ directory. It needs to be moved to /opt/Qtopia/sharp/lib/ for cross compiling.
4.Example program
- Available here
What is in headers.zip
headers.zip has the header files for the libzdtml.so library. I copied these into my working directory for compiling, but they should probably be put somewhere sensible in the /opt file structure. These are critical since they spell out some details that are not clear from DTMSpecifications.pdf. For example that all the functions are preceded by underscore. And more info about the data types.
Potential Problems/Gotchas
- header files aren't ansi-C. The header files are C compliant, but not ansi-C, so I ended up using the g compiler to avoid a slew of warning messages. I think it should be possible to translate the C files into ansi for greater compatibility.
- no emulation. Since the only source for libzdtm.so is from the Zaurus itself and not a compiled library, it is not possible to emulate sofware on a PC architecture using qvfp or anything else. You can compile on your x86, but you'll have to move it to the Zaurus to actually make it run. I found that having the Zaurus on the network running sshd was critical to working effectively. I also put my ssh key on the Zaurus, so i wouldn't have to supply a password all the time. Then, I added an "install" directive to my makefile so that i could easily compile and copy over to code. I would run it in a seperate window on my desktop connected (again via ssh) to the Zaurus. This is the only way I could work efficiently. It would be really great if sharp released the source for DTM or at least an x86 compiled library.
- unsigned char *. The header files define most strings as unsigned chars which is goofy. In particular, this is incompatible with all the standard string libraries on the Zaurus. As a consequence I had to do a lot of casting from (char *) to (unsigned char *) and back in order to get the compiler to quiet down.
- Not without qte. The libzdtm.so requires libqte.so.2. I'm not sure why, it just does.
Running the Test Program
- BACKUP YOUR MACHINE This code has only been tested on one single Zaurus. Although the database access in intended to be read-only...here comes the disclaimer... SHARP (nor Stefan Kremer) ASSUME ANY RESPONSIBILITY to any conflict, fault, or damage affecting the unit that rises from your tinkering with the DTM data.
- Make sure you have the libzdrm.so on your computer in the appropriate directory and that all the links libzdtm.so.0.1 are there too.
- Make sure you have the source code for the test program in the current directory.
- Compile:
- arm-linux-g -I -c -Wall -ansi -pedantic -o arm-dtmdump.o dtmdump.cc
- arm-linux-g -Wall -ansi -pedantic -o arm-dtmdump arm-dtmdump.o -L/opt/Qtopia/sharp/lib -lzdtm
- Transfer to Zaurus:
- scp arm-dtmdump zaurus@zaurus:/home/zaurus/dtmdump
The compilation should succeed with no warnings or errors. The scp requires your zaurus to be on the network with the machine name 'zaurus'.
Program Output/Operation
The program takes 1 or 2 arguments as follows:
dtmdump {todo|calendar|addressbook|memo|category} dtmdump -f /home/zaurus/Applications/dtm/SLTDODO.BOX
The first form opens up a database based on the name; while the second opens a database based on a path. The first version is case insensitive, while the second is not.
The program then prints out the contents of the given database in an XML format. NOTE: the XML format used is __not__ compatible with the original PIM XML format! (I originally tried to do this, but the two DB's contain different kinds of information, so that problem is much harder, especially while I don't know what "rinfo" means.) The purpose of the program is mostly instructional at this point, but it should make it easy for others to extract DTM info and use it for their own purposes.

