Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ link(2) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

unlink(2)

unistd(4)

link(2)                                                             link(2)

NAME
     link - Link auf eine Datei einrichten

SYNTAX
     #include <unistd.h>

     int link(const char *path1, const char *path2);

BESCHREIBUNG
     path1 weist auf einen Pfadnamen, der eine vorhandene Datei benennt.
     path2 weist auf einen Pfadnamen, der den neu zu erstellenden Verzeich-
     niseintrag benennt. link() erstellt einen neuen Link (Verzeichnisein-
     trag) auf die vorhandene Datei und erhöht den Zähler für die Links um
     1.

     Bei erfolgreicher Ausführung markiert link() das Feld stctime der
     Datei zum Aktualisieren. Auch die Felder stctime und stmtime des
     Verzeichnisses, die die neuen Einträge enthalten, werden zur Aktuali-
     sierung markiert.

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).

     link() ist erfolglos, und es wird kein Link erstellt, wenn einer oder
     mehrere der nachstehenden Punkte zutreffen:

     EACCES        Entweder darf eine Komponente in einer der beiden Pfad-
                   angaben nicht durchsucht werden, oder für den angefor-
                   derten Link muß mit einem Modus in ein Verzeichnis
                   geschrieben werden, bei dem der Schreibzugriff verwei-
                   gert wird, oder der aufrufende Prozeß verfügt nicht über
                   die Berechtigung zum Zugriff auf die vorhandene Datei,
                   dies ist bei dieser Implementierung jedoch erforderlich.

     EEXIST        Der durch path2 angegebene Link ist bereits vorhanden.

     EFAULT        path1 oder path2 weist über den zugewiesenen Adreßraum
                   des Prozesses hinaus.

     EINTR         Ein Signal wurde während des Systemaufrufs link() abge-
                   fangen.

     ELOOP         Zu viele symbolische Links wurden bei der Auflösung von
                   path1 oder path2 angetroffen.

     EMLINK        Die Höchstzahl der Links auf eine Datei würde LINKMAX
                   überschreiten.






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

link(2)                                                             link(2)

     EMULTIHOP     Komponenten von path1 oder path2 erfordern den Sprung
                   auf mehrere ferne Rechner, und der Dateisystemtyp läßt
                   dies jedoch nicht zu.

     ENAMETOOLONG  Die Länge des Arguments path1 oder path2 überschreitet
                   PATHMAX, oder eine Komponente von path1 oder path2 ist
                   länger als NAMEMAX.

     ENOTDIR       Eine Komponente in einer der beiden Pfadangaben ist kein
                   Verzeichnis.

     ENOENT        path1 oder path2 ist ein leerer Pfadname.

     ENOENT        Eine Komponente in einer der beiden Pfadangaben ist
                   nicht vorhanden.

     ENOENT        Die durch path1 angegebene Datei ist nicht vorhanden.

     ENOLINK       path1 oder path2 weist auf einen fernen Rechner, und die
                   Verbindung zu diesem Rechner ist nicht mehr aktiv.

     ENOSPC        Das Verzeichnis, das den Link enthalten soll, kann nicht
                   erweitert werden.

     EPERM         Die durch path1 angegebene Datei ist ein Verzeichnis,
                   und die effektive Benutzer-ID ist nicht diejenige des
                   Systemverwalters.

     EROFS         Der gewünschte Link erfordert das Schreiben in ein Ver-
                   zeichnis, dessen Dateisystem schreibgeschützt ist.

     EXDEV         Der durch path2 angegebene Link und die durch path1
                   angegebene Datei befinden sich auf verschiedenen logi-
                   schen Geräten (Dateisystemen), und die Implementierung
                   unterstützt keine Links zwischen Dateisystemen, oder
                   path1 verweist auf einen angegebenen STREAM.

     Die Funktion link() kann bei folgender Bedingung fehlschlagen:

     ENAMETOOLONG  Die Auflösung des Pfadnamens eines symbolischen Links
                   hat ein Zwischenergebnis erzeugt, dessen Länge PATHMAX
                   überschreitet.

ERGEBNIS
     Nach erfolgreicher Ausführung wird 0 zurückgegeben. Andernfalls wird
     -1 zurückgegeben und errno zur Anzeige des Fehlers gesetzt.

SIEHE AUCH
     unlink(2), unistd(4).





Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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