fcntl(2)

NAZWA
fcntl - manipuluje deskryptorem pliku

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <fcntl.h>

int fcntl(int fd, int op, ...);

OPIS
fcntl dokonuje jednej z operacji opisanych poniżej na otwartym deskryptorze pliku fd. Wykonywana operacja jest określona przez op.

Niektóre z poniższych operacji są obsługiwane jedynie w określonej wersji jądra Linux. Preferowaną metodą sprawdzenia, czy działające aktualnie jądro obsługuje daną operację, jest przywołanie fcntl() z daną wartością op i sprawdzenie, czy wywołanie zawiedzie z błędem EINVAL wskazując, że jądro nie rozpoznało tej wartości.

  Duplikowanie deskryptora pliku

F_DUPFD(2const)
F_DUPFD_CLOEXEC(2const)

  Znaczniki deskryptora pliku

F_GETFD(2const)
F_SETFD(2const)

  Znaczniki stanu pliku

F_GETFL(2const)
F_SETFL(2const)

  Blokowanie doradcze rekordów

F_SETLK(2const)
F_SETLKW(2const)
F_GETLK(2const)

  Blokady opisu otwartego pliku (spoza POSIX)

F_OFD_SETLK(2const)
F_OFD_SETLKW(2const)
F_OFD_GETLK(2const)

  Zarządzanie sygnałami

F_GETOWN(2const)
F_SETOWN(2const)
F_GETOWN_EX(2const)
F_SETOWN_EX(2const)
F_GETSIG(2const)
F_SETSIG(2const)

  Dzierżawy

F_SETLEASE(2const)
F_GETLEASE(2const)

  Powiadamianie o zmianach pliku lub katalogu (dnotify)

F_NOTIFY(2const)

  Zmiana pojemności potoku

F_SETPIPE_SZ(2const)
F_GETPIPE_SZ(2const)

  Pieczętowanie pliku (ang. file sealing)

F_ADD_SEALS(2const)
F_GET_SEALS(2const)

  Wskazówki odczytu/zapisu pliku

F_GET_RW_HINT(2const)
F_SET_RW_HINT(2const)
F_GET_FILE_RW_HINT(2const)
F_SET_FILE_RW_HINT(2const)

WARTOŚĆ ZWRACANA
Wartość zwracana po pomyślnym zakończeniu funkcji zależy od operacji.

W razie wystąpienia błędu zwracane jest -1 i ustawiane errno wskazując błąd.

BŁĘDY

EACCES lub EAGAIN
    Operacja uniemożliwiona przez blokady utrzymywane przez inne procesy.

EAGAIN
    Operacja jest zabroniona, gdyż plik został odwzorowany w pamięci przez inny proces.

EBADF
    fd nie jest deskryptorem otwartego pliku.

EINVAL
    Wartość podana w op nie jest rozpoznawana przez to jądro.

WERSJE
POSIX.1-2024 określa FD_CLOFORK i F_DUPFD_CLOFORK, lecz Linux ich nie obsługuje.

STANDARDY
POSIX.1-2024.

HISTORIA
SVr4, 4.3BSD, POSIX.1-2001.

ZOBACZ TAKŻE
dup2(2), flock(2), open(2), socket(2), lockf(3), capabilities(7), feature_test_macros(7), lslocks(8)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.