Provided by: manpages-pl-dev_20051117-1_all bug

NAZWA

       link - utworzenie nowej nazwy dla pliku

SKŁADNIA

       #include <unistd.h>

       int link(const char *oldpath, const char *newpath);

OPIS

       link  tworzy  nowe  dowiązanie  (nazywane  też  dowiązaniem twardym) do
       istniejącego pliku.

       Jeśli plik newpath już istnieje, to nie będzie nadpisany.

       Ta nowa  nazwa  może  być  używana  dokłądnie  tak  samo  jak  stara  w
       dowolnychoperacjach;  obie  nazwy odnoszą się do tego samego pliku (i w
       związku z tym mają te same  prawa  i  właścicielstwo).  Nie  można  też
       powiedzieć, która nazwa jest `oryginalna'.

WARTOŚĆ ZWRACANA

       Po  pomyślnym  zakończeniu zwracane jest zero. Po błędzie zwracane jest
       -1 i odpowiednio ustawiane errno.

BŁĘDY

       EXDEV  oldpath i newpath nie leżą na tym samym systemie plików.

       EPERM  system  plików  zawierający  oldpath  i  newpath  nie  obsługuje
              tworzenia twardych dowiązań.

       EFAULT oldpath  lub  newpath  wskazuje  poza  dostępną  dla użyrkownika
              przestrzeń adresową.

       EACCES Zapis do katalogu zawierającego newpath nie jest  dozwolony  dla
              efekywnego  UID  procesu,  lub  jeden  z katalogów w oldpath lub
              newpath nie daje uprawnień przeszukiwania (wykonania).

       ENAMETOOLONG
              oldpath lub newpath było zbyt długie.

       ENOENT Składnik katalogu w oldpath  lub  newpath nie istnieje, lub jest
              wiszącym dowiązaniem symbolicznym.

       ENOTDIR
              Składnik  oldpath  lub  newpath  używany jako katalog nie jest w
              rzeczywistości katalogiem.

       ENOMEM Brak dostępnej pamięci jądra.

       EROFS  Plik leży na systemie plików tylko dla odczytu.

       EEXIST newpath już istnieje.

       EMLINK Plik wskazywany przez oldpath ma już maksymalną ilość  dowiązań.

       ELOOP  Podczas  rozwiązywania  oldpath lub newpath napotkano zbyt wiele
              dowiązań symbolicznych.

       ENOSPC Na urządzeniu, zawierającym plik nie ma miejsca na nowy  wpis  w
              katalogu.

       EPERM  oldpath jest katalogiem.

       EIO    Wystąpił błąd we/wy.

UWAGI

       Twarde  dowiązania,  tworzone  z  pomocą  link, nie mogą wykraczać poza
       jeden system plików. W takich sytuacjach można użyć funkcji symlink.

ZGODNE Z

       SVr4, SVID, POSIX, BSD 4.3, X/OPEN. SVr4  dokumentuje  dodatkowe  błędy
       ENOLINK   i  EMULTIHOP;  POSIX.1  nie  dokumentuje  ELOOP.  X/OPEN  nie
       dokumentuje EFAULT, ENOMEM ani EIO.

USTERKI

       Na systemach NFS, wartość zwracana może być nieprawidłowa w wypadku gdy
       serwer    NFS    dokonuje   tworzenia   dowiązania   i   umiera   przed
       zakomunikowaniem tego faktu. Można użyć stat(2) aby dowiedzieć się  czy
       dowiązanie zostało utworzone.

ZOBACZ TAKŻE

       symlink(2), unlink(2), rename(2), open(2), stat(2), ln(1)