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