| |
afblib |
Im Laufe der Vorlesungen wurden einige kleine Funktionen vorgestellt,
die in mehreren Beispielen Verwendung fanden und bei Gelegenheit auch
in den Übungen oder dem Projekt nützlich sein können. Damit diese
etwas einfacher zugänglich sind, wurden sie in einer kleinen Bibliothek
zusammengefasst, die in Ermangelung eines besseren Namens die Initialien
ihres Autors übernommen hat.
|
| |
Benutzung |
Die Vorlesungsbibliothek, kurz afblib genannt, steht auf all
unseren Suns zur Verfügung. Da nicht wenige ihrer Funktionen die
stralloc-Bibliothek (in
der Implementierung von fefe) übernehmen,
sollte sie mit dieser zusammen bei der Übersetzung angegeben werden.
So könnten etwa die passenden Makefile-Parameter aussehen:
CC := gcc
CPPFLAGS := -I/usr/local/diet/include
CFLAGS := -std=gnu99 -Wall -g
LDFLAGS := -L/usr/local/diet/lib
LDLIBS := -lafb -lowfat -lsocket -lnsl
Oder, alles in einer einfachen Übersetzungszeile:
gcc -g -std=gnu99 -I/usr/local/diet/include main.c \
-L/usr/local/diet/lib -lafb -lowfat -lsocket -lnsl
|
| |
Manualseiten |
Für alle Funktionen gibt es zugehörige Manualseiten:
- inbuf
(Gepufferte Eingabe)
- inbuf_readline
(Einlesen einer Zeile aus einem gepufferten Eingabekanal)
- inbuf_sareadline
(Einlesen einer Zeile in ein stralloc-Objekt aus einem
gepufferten Eingabekanal)
- hostport
(Unterstützung von Hostport-Spezifikationen nach RFC 2396)
- mpx_session
(Netzwerkdienst mit mehrfachen Sitzungen auf Basis eines
Anfragenbehandlers)
- multiplexor
(Sehr systemnahe Funktion für mehrfache Sitzungen auf
der Basis von Eingabepaketbehandlern)
- outbuf
(Gepufferte Ausgabe)
- pconnect
(Pipeline zu einem Kommando eröffnen, Alternative zu popen())
- service
(Einfacher Netzwerkdienst, bei dem jede Sitzung von einem
separaten Prozess behandelt wird)
- ssystem
(Aufruf externer Kommandos, Alternative zu system())
- strhash
(Einfache Hash-Tabelle für Zeichenketten)
- strlist
(Liste von Zeichenketten, ideal in Verbindung mit execvp(2))
- tokenizer
(Zerlegung eines stralloc-Objekts in Wörter)
|
| |
Herunterladen der Quellen |
Alle Quellen dieses Pakets unterliegen
der GPL
und können daher im Rahmen dieser Lizenz frei kopiert, verändert
und weiterverbreitet werden. Die Manualseiten befinden sich innerhalb
der Quellen im POD-Format
und können daher mit Werkzeugen wie beispielsweise pod2man oder
pod2html in passende Formate konvertiert werden.
|
| |