Provided by: manpages-pl-dev_4.21.0-2_all bug

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).
       ┌────────────────────────────────────────────────────────────────────┬────────────────────────┬─────────┐
       │ InterfejsAtrybutWartość │
       ├────────────────────────────────────────────────────────────────────┼────────────────────────┼─────────┤
       │ ftok()                                                             │ Bezpieczeństwo wątkowe │ MT-Safe │
       └────────────────────────────────────────────────────────────────────┴────────────────────────┴─────────┘

STANDARDY

       POSIX.1-2001, POSIX.1-2008.

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

       See semget(2).

ZOBACZ TAKŻE

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

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony   podręcznika   są:    Andrzej    Krzysztofowicz
       <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org>

       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.

Linux man-pages 6.03                           15 grudnia 2022 r.                                        ftok(3)