Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ttysrch(4) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ttyname(3C)

clone(7)

ttysrch(4)                                                       ttysrch(4)

NAME
     ttysrch - Verzeichnis-Suchliste für ttyname

BESCHREIBUNG
     ttysrch ist eine optionale Datei, die von der Bibliotheksfunktion
     ttyname(3C) benutzt wird. In dieser Datei sind die Namen derjenigen
     Dateien und Verzeichnisse in /dev enthalten, in denen sich die
     Terminal- und Terminal-relevanten Gerätedateien befinden. Diese Datei
     enthält Informationen darüber, welche Dateien beziehungsweise Unter-
     verzeichnisse von /dev welche terminal-relevanten Gerätedateien ent-
     halten und welche Datei beziehungsweise welches Verzeichnis als erstes
     durchsucht werden soll; dadurch soll die Ausführungsgeschwindigkeit
     von ttyname erhöht werden. Die Datei- und Unterverzeichnisnamen müssen
     in separaten Zeilen enthalten sein und mit /dev beginnen. Pfadnamen,
     die nicht mit /dev beginnen, werden ignoriert; in diesem Fall wird an
     die Konsole eine Warnung geschickt. Leerzeilen (d. h. Leerzeilen, die
     nur Zwischenraumzeichen enthalten), sowie Zeilen, die mit dem Kommen-
     tarzeichen (#) beginnen, werden ignoriert. Mit Ausnahme des speziellen
     Eintrags /dev durchsucht ttyname die Unterverzeichnisse rekursiv nach
     einer passenden Datei. Wenn /dev in der Datei ttysrch enthalten ist,
     wird das Verzeichnis /dev selbst durchsucht; seine Unterverzeichnisse
     werden allerdings nicht rekursiv durchsucht.

     ttyname sucht unter den Gerätedateien nach einer Datei, deren Geräte-
     /Geräteklassennummer, Dateisystemkennung sowie I-Node-Nummer zu dem
     Dateideskriptor passen, der als Argument angegeben war. Wird keine
     passende Datei gefunden, begnügt es sich mit einer Datei mit einer
     passenden Geräte-/Geräteklassennummer und Dateisystemkennung (falls
     vorhanden). Dieser Algorithmus ist jedoch nicht besonders effizient,
     wenn der Dateideskriptor einem Clone-Gerät [siehe clone(7)] zugeordnet
     ist: Die I-Node-Nummer der Gerätedatei, die einem clonebaren Gerät
     zugeordnet ist, paßt in keinem Fall zur I-Node-Nummer des Dateide-
     skriptors, der durch den open-Systemaufruf für dieses clonebare Gerät
     zurückgegeben wird. Für derartige Fälle können Einträge in die Datei
     /etc/ttysrch eingebracht werden, mit der seine Ausführungsgeschwindig-
     keit auch bei Clone-Geräten, die in einem System als Terminals benutzt
     werden (z. B. für ein Remote-Login), gesteigert werden kann. Dies ist
     jedoch nur von Nutzen, wenn die Geräte (minor devices), die einem
     Clone-Gerät zugeordnet sind, in ein Unterverzeichnis gesetzt werden
     (beachten Sie bitte, daß es für Clone-Geräte nicht in jedem Fall Gerä-
     tedateien gibt; ttyname kann dann nicht ausgeführt werden). Wenn
     /dev/tcp beispielsweise ein Clone-Gerät ist, könnte es ein Unterver-
     zeichnis /dev/tcp geben, das die Dateien 0, 1, 2 usw. enthält, die den
     Gerätenummern des starlan-Treibers zugeordnet sind. In einem optiona-
     len zweiten Feld können in der Datei /etc/ttysrch die Vergleichskrite-
     rien angegeben werden. Dieses Feld wird durch Zwischenraumzeichen
     (eine beliebige Kombination aus Leer- oder Tabulatorzeichen) begrenzt.
     Der Buchstabe M steht für Geräte-/Geräteklassennummer, F für Dateisy-
     stemkennung und I für I-Node-Nummer.

     Die folgenden Optionen (Buchstaben) sind kein Standard auf V5.4-
     Systemen, können aber verwendet werden, um die



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

ttysrch(4)                                                       ttysrch(4)

     Ausführungsgeschwindigkeit von ttyname zu erhöhen.

     Mit der Option f ist ein schneller Zugriff auf I-Nodes möglich. Sie
     kann dazu benutzt werden, die Geschwindigkeit für die Suche nach einem
     I-Node zu erhöhen, und sollte auf Systemen mit einer großen Anzahl
     Terminals oder Pseudo-TTY-Geräten benutzt werden. Achtung: Mit der
     Option f werden Unterverzeichnisse nicht rekursiv durchsucht.

     Der Buchstabe X gibt an, daß das angegebene Dateiverzeichnis nicht
     durchsucht werden soll.

     Der Buchstabe N gibt an, daß eine Gerätenummer als Argument folgt.
     Dadurch kann angegeben werden, welche Gerätenummern in einem bestimm-
     ten Dateiverzeichnis vorkommen. Der Buchstabe N und die folgende Gerä-
     tenummer dürfen in der Zeile mehrmals vorkommen. Wenn die zu ttyname
     angegebenen Gerätenummern mit einer durch den Buchstabe N angegebenen
     Gerätenummer übereinstimmen, wird dieses Dateiverzeichnis zuerst
     durchsucht.

     Der Buchstabe P gibt an, daß ein Gerätenamensmuster als Argument
     folgt. Dadurch kann angegeben werden, wie die Dateinamen eines Datei-
     verzeichnisses im Falle einer Überprüfung zusammengesetzt werden sol-
     len.

     Um zu vermeiden, daß ttyname alle Einträge eines Dateiverzeichnisses
     einfach nacheinander testet, wird versucht, den Eintrag des Dateiver-
     zeichnisses zu testen, der die Geräteklassennummer des zu ttyname
     angegebenen Dateideskriptors hat. Dazu muß ttyname wissen, wie die
     Dateinamen eines Dateiverzeichnisses heißen. ttyname hat zwar intern
     voreingestellte Namensmuster, es können aber auch der Buchstabe P und
     das folgende Musterargument verwendet werden. Die angegebenen Muster
     müssen irgendwo %d enthalten. %d wird durch die Geräeteklassennummer
     ersetzt. Wie bei der printf-Funktion kann man auch eine Feldgröße für
     die Geräteklassennummer angeben, z. B. %3d. Bei dem /etc/ttysrch-
     Eintrag

          /dev/term P tty%3d

     und einer Geräteklassennummer 20 wird für Tests der Dateiname
     /dev/term/tty020 verwendet.

     Der Buchstabe E gibt an, daß der Eintrag eine Datei und kein Dateiver-
     zeichnis ist.

     Wenn für einen Eintrag keine Option angegeben ist, wird standardmäßig
     die Buchstabenkombination MFI benutzt, d. h., es werden alle drei Ver-
     gleichskriterien angewandt. Für Clone-Geräte sollte das Feld den Ein-
     trag MF enthalten; die I-Node-Nummer kann dann als Vergleichskriterium
     entfallen.

     Wenn die Datei /etc/ttysrch nicht vorhanden ist, durchsucht ttyname
     zunächst die /dev-Unterverzeichnisse /dev/term, /dev/pts und /dev/xt.


Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

ttysrch(4)                                                       ttysrch(4)

     Wenn die Terminal-Geräte in einem System nicht in einem der aufgeführ-
     ten Verzeichnisse installiert sind, kann die Datei ttysrch mit dieser
     Verzeichnisliste zur Steigerung der Ausführungsgeschwindigkeit ange-
     legt werden.

BEISPIELE
     Das nachfolgende Beispiel zeigt eine /etc/ttysrch-Datei:

          /dev/term/ttyc0 MFE
          /dev/inet  MFN 29 P %d N 30
          /dev/term  fIP tty%3d
          /dev/pts   MFI
          /dev/xt    MFI
          /dev/slan  MF

     Mit dieser Datei durchsucht ttyname zundchst die aufgelisteten Ver-
     zeichnisse; wenn es beim Durchsuchen des Verzeichnisses /dev/slan eine
     Datei findet, deren Geräte-/Geräteklassennummer und Dateisystemkennung
     zum Dateideskriptor-Argument von ttyname passen, sollte dieser Geräte-
     name als passend betrachtet werden.

     Beim Durchsuchen von /dev/term vergleicht ttyname nur die I-Nodes. Die
     Unterverzeichnisse von /dev/term werden nicht rekursiv durchsucht.

DATEIEN
     /etc/ttysrch

SIEHE AUCH
     ttyname(3C), clone(7).

























Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026