DTM database

From OESF

Revision as of 16:59, 20 September 2007 by ZnsQgi (Talk | contribs)
Jump to: navigation, search

Cazzo Video incestuosi Interhome Sexy toons Tatuaggio delfino Casino online slot macchina Adecco it prestito pesaro Autoricambi renault Test divertenti Stokke variable Ventaglio Ombrelloni da giardino Missoni Aixam 400 sicilia Unopiu it Scheda gsm per palmare Passito di pantelleria Riassunto promessi sposi Sms buffi Segnaposti carta Melita a lucignolo Temi svolti razzismo Fitav Troie africane Links sanpaolo Youporno com Inculate animali Cambiare password di msn messenger Sunia veneto Borsa donna Venere e marte botticelli Vesti bratz Anteprime troiette Bruce springsteen devils and dust Londra albergo Www mania porno it Figa grasse Porno live Austria ristorante Fetish sex Pornostar famose foto gratis Coldiretti foggia Rimjob Hentai bulma Altroconsumo com Ib cim italia it bpb Fotocamera fujifilm Ufficio stampa pubblica relazione Sedia ergonomica roma Film sexi gratis Dolce disegno pasqua Rapporto anali Azienda smaltimento rifiuto amianto Dolomiti vacanza Solo fighe pelose gratis Scacchi online gratis Programma scaricare film dvd Jade hsu 3 scenes Gioia del colle Cartoni sexy Cradle of filth Corso comunicazione pnl ipnosi Albergo imola Identikit Roatan fotogallery Chiocciola Verdena tabs Merluzzo Sex granny Francoforte ristorante Forum foto amatoriali Incontri sentimentali Albergo artesina Donne nude ciccione cucine classiche legno Cassandra lynn Toscana relax campagna Casetta legno pircher Viaggio tesina Calcolo pensione segretario comunale Babelfish altavista com tr Sabrina salerno foto Foto stefano bettarini Etnapolis lavoro Vienna hotel Biglietto invito Vendita consumabile Pesca sportiva Aste immobiliare giudiziaria Videoporno anteprime gratis Chatt Motociclismo it Usata renault Ati radeon Gratis antivirus Video pornomature gratis Piumino Vendita microspia digitale Amerie accessori in pelle videochiamata moduli ram ddr pocketnotepad athlon 64 mobile misunderstoood mp3 e autoradio regolamento e sanzioni vetture pubbliche dvp320 philips elefant www webasto com los angeles attorney body verde il castello dei gatti verona lamezia terme biglietti aerei utility gestione sistema too bad batteria 350d nife temi di maturita love story a bangkok www cerca con arianna casa veneto easyshare ls753 brigitta kocsis heliopora all tel divx foot jobs mailbox verifier soraya daisy dukes la canzone del bosco fotocopiatrice stampante formato a3 mandello al lario papa nero cool skin gioco cinese piedi famosi immagini the first on the moon dvd cam hitachi videocamere maajong www negro gay video hard com supereroi megabook s260 moto storica garelli bowmen arte amare km0 peugeot diesel auto km 0 joyce romeo just away immagini ragazze steel reign dual layer esterno bertran de born giochi it elenco distributori di energia plextor 52x napoli midi pdf vp 6311 immagini sulla guerra in iraq portogallo vacanze sasso (roma) sesso sesso sesso nuova volvo diesel auto nuove intel dual mondial ferrari testo there are you ll be faith hill augurio buon compleanno zorritas mercedes sw classe e la bella addormentata danza symantec norton antivirus 2005 ita nicole kidman colin mcrae rally 4 volkswagen golf 14 film eva henger ossession pump ti up traduzione italiano eamon ding ding dong hard disk eide 300 gb i cacciatori di saigon ati radeon sapphire x800 256 mb ddr iraq nepal hostages sl 1210 grupo mania hub usb autoalimentato le tre sorelle happy tree friend russian women roma londra mp3 plugin renault twingo 12 spring filatura video hard gratuiti mp3 con usb nome barbara i temerari hamilton cartina toscana 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 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

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

  1. 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.
  2. 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.
  3. 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.
  4. Not without qte. The libzdtm.so requires libqte.so.2. I'm not sure why, it just does.

Running the Test Program

  1. 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.
  2. 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.
  3. Make sure you have the source code for the test program in the current directory.
  4. Compile:
    1. arm-linux-g -I -c -Wall -ansi -pedantic -o arm-dtmdump.o dtmdump.cc
    2. arm-linux-g -Wall -ansi -pedantic -o arm-dtmdump arm-dtmdump.o -L/opt/Qtopia/sharp/lib -lzdtm
  5. 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.

Personal tools