linux-l: Telefon-Cd
Frank Conrad
frank at Berlin.Adviser.com
Fr Jun 26 12:09:31 CEST 1998
Hallo,
verwenden von glimpse:
> So in der Art arbeitet glimpse - denke ich.
Nur habt ihr das Ausgangs-Datenformat vergessen zu beruecksichtigen,
dort stehen die Daten ohne Trenner in einem Block. Nachfolgend kommt eine
Tabelle mit Offsets zu den Daten. Diese Tebellen haben ein vielen
Blockgrenzen auch noch Fehler.
Wegen der Nutzungsbedingungen sollten die eingentlichen Daten auf der CD
bleiben. Ein ggf. neu erstellter Index kann auf die lokale
Festplatte.
Den Index koennte man mit db.h(btree) bauen, da man dort die
compare-Routine setzeten kann. Somit muessen keine Daten in die
Indexverwaltung. Der Key koennte wie folgt aussehen:
typedef struct BeT_CDKey
{
#define BeT_CDKeyType_CD 1
#define BeT_CDKeyType_Str 2
u_char type;
union
{
struct
{
u_long fileoffset; /* Zeiger zum Datensatz */
u_short dataoffset; /* Offset zu den eigentlichen Daten */
u_short datalen; /* Datenlaenge */
} cd
char str[];
}x;
} BeT_CDKey;
oder aehnlich
Das Speichern von dataoffset, datalen hat Performancegruende.
Gruss Frank
Frank Conrad / Voice: +49 30 326 939 - 0
Technische Beratung / Wireless: +49 171 80 70 164 and SMS
Kaiserdamm 114 / Fax: +49 30 326 939 - 14
D-14057 Berlin / Internet: frank at Technical.Adviser.com
Germany / PGP Key: http://www.adviser.com/~frank/pgp.html
/ PGP Fingerprint: CBF9E0EDCCD18091 B0736D9F927DBF59
Do not feed the Keas -:) D.O.C.
Mehr Informationen über die Mailingliste linux-l