Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, IAI, Vorlesungen, SS 2010 Systemnahe Software II
Vorlesungsbibliothek zu Systemnahe Software II
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.