Man page - ftok(3)

Packages contains this manual

Available languages:

en fr pt_BR es pl ja ru ro de

Manual

ftok

NAZWA
BIBLIOTEKA
SKŁADNIA
OPIS
WARTOŚĆ ZWRACANA
ATRYBUTY
STANDARDY
HISTORIA
UWAGI
PRZYKŁADY
ZOBACZ TAKŻE
TŁUMACZENIE

NAZWA

ftok - przekształca ścieżkę i identyfikator projektu na klucz komunikacji międzyprocesowej (IPC) Systemu V

BIBLIOTEKA

Standardowa biblioteka C ( libc , -lc )

SKŁADNIA

#include <sys/ipc.h>

key_t ftok(const char * pathname , int proj_id );

OPIS

Funkcja ftok () wykorzystuje tożsamość pliku o nazwie podanej w pathname (która musi odnosić się do istniejącego, dostępnego pliku) oraz 8 najmniej znaczących bitów proj_id (które muszą stanowić wartość niezerową) do wygenerowania klucza komunikacji międzyprocesowej Systemu V typu key_t odpowiedniego do używania w msgget (2), semget (2) lub shmget (2).

Wartość wynikowa jest taka sama dla wszystkich ścieżek określających nazwy tego samego pliku, o ile użyje się tej samej wartości proj_id . Zwracane wartości powinny się różnić, gdy różnią się (istniejące jednocześnie) pliki lub identyfikatory projektu.

WARTOŚĆ ZWRACANA

W przypadku powodzenia zwracana jest wygenerowana wartość key_t . W przypadku błędu zwracane jest -1, a errno wskazuje błąd taki sam, jak dla funkcji systemowej stat (2).

ATRYBUTY

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes (7).

Image grohtml-3987245-1.png

STANDARDY

POSIX.1-2008.

HISTORIA

POSIX.1-2001.

UWAGI

Niektóre historyczne systemy używały następującego prototypu:

key_t ftok(char * pathname , char proj_id );

Obecnie proj_id jest typu int , ale nadal używanych jest tylko 8 bitów. Typowe zastosowanie polega na umieszczeniu znaku ASCII w proj_id i dlatego mówi się, że zachowanie jest nieokreślone, gdy proj_id jest zerem.

Oczywiście nie można dać gwarancji, że otrzymany key_t jest niepowtarzalny. Zazwyczaj dla uzyskania najlepszego wyniku w 32-bitową liczbę łączone są: podany bajt proj_id , 16 mniej znaczących bitów numeru i-węzła oraz 8 niższych bitów numeru urządzenia. Kolizje mogą łatwo wystąpić, na przykład pomiędzy plikami na /dev/hda1 i plikami na /dev/sda1 .

PRZYKŁADY

Zob. semget (2).

ZOBACZ TAKŻE

msgget (2), semget (2), shmget (2), stat (2), sysvipc (7)

TŁUMACZENIE

Tłumaczenie niniejszej strony podręcznika: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> 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 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 .