Ab Version 2.0.0 von vbox enthalten die aufgezeichneten Dateien einen neuen Header, der außer der Kompression und den Verbindungsdaten auch noch Informationen über denjenigen enthält, der die Nachricht erzeugt - sprich gesprochen - hat.
Zur Zeit enthält der Header folgende Informationen:
CALLER ID
,Mit diesen Angaben ist es anderen Programmen (z.B. mam) möglich, ohne zusätzlichen Aufwand (in früheren Versionen mußte die Konfiguration von vbox nach der passenden Telefonnummer durchsucht werden) die Daten einer Nachricht zu ermitteln.
Das genaue Format des Headers ist in der Datei 'libvbox.h
'
als Struktur vaheader_t
definiert.
Die Library 'libvbox.a
' und die dazugehörige
Include-Datei 'libvbox.h
' enthalten kleinere Funktionen, um
es anderen Programmen leichter zu machen, mit vboxd zu
kommunizieren.
Die Funktion stellt eine Verbindung zu machine:port her und liest bei Erfolg die Startup-Message vom Server.
Zeiger auf einen String der den Namen oder die IP-Adresse des Rechners enthält, mit dem eine Verbindung aufgebaut werden soll.
Portnummer, auf der mit der Gegenstelle kommuniziert werden soll.
Bei Erfolg wird der Wert 0, bei einem Fehler ein Wert kleiner 0 zurückgegeben.
Wenn die Verbindung aufgebaut wurde, stehen die externen Variablen
vboxd_r_fd
und vboxd_w_fd
zum Lesen und Schreiben zur
Verfügung.
Sendet dem Server die QUIT
Message und schließt die Verbindung. Die
externen Variablen vboxd_r_fd
und vboxd_w_fd
sind dann nicht
mehr gültig!
Die Funktion meldet sich unter username mit password auf dem Server als Benutzer an. Erst nach einem erfolgreichen Einloggen stehen die erweiterten Funktionen vom Server zur Verfügung.
Benutzername der Benutzt werden soll.
Passwort das benutzt werden soll.
Bei Erfolg wird der Wert 0, bei einem Fehler ein Wert kleiner 0 zurückgegeben.
Sendet eine Nachricht an den Server. Der Zeilenabschluß 'CR
'
und 'NL
' wird von der Funktion gesendet und braucht nicht angegeben zu
werden. Der Aufruf von vboxd_put_message() entspricht der Funktion
printf().
Versucht eine Antwort vom Server einzulesen. Die Funktion benutzt einen
Timeout, der in 'libvbox.h
' mit VBOXD_GET_MSG_TIMEOUT
definiert ist.
Bei Erfolg wird ein Zeiger auf den erhaltenen Text zurückgegeben, bei einem
Fehler NULL
. Die Antwort wird in einen internen Buffer gelesen und bei
einem erneuten Aufruf der Funktion überschrieben!
Vergleicht die Kennung response mit der zuletzt von vboxd_get_message() eingelesenen Antwort.
String mit der Kennung die verglichen werden soll. Die existierenden
Kennungen sind in 'libvbox.h
' definiert.
Die Funktion liefert TRUE
(1) wenn die Kennungen gleich waren, oder
FALSE
(0) falls nicht.
Wer auf seinem Rechner selbst die sgml-tools installiert hat und die Dokumentation in andere Formate wandeln möchte, kann das z.B. wie folgt tun:
$ cd doc/de $ sgml2html -l vbox.sgml