.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified 2001-11-28, by Michael Kerrisk, <mtk.manpages@gmail.com>
.\"	Changed data type of proj_id; minor fixes
.\"	aeb: further fixes; added notes.
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH ftok 3 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
ftok \- przekształca ścieżkę i identyfikator projektu na klucz komunikacji
międzyprocesowej (IPC) Systemu V
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/ipc.h>\fP
.fi
.P
\fBkey_t ftok(const char *\fP\fIpathname\fP\fB, int \fP\fIproj_id\fP\fB);\fP
.SH OPIS
Funkcja \fBftok\fP() wykorzystuje tożsamość pliku o nazwie podanej w
\fIpathname\fP (która musi odnosić się do istniejącego, dostępnego pliku) oraz
8 najmniej znaczących bitów \fIproj_id\fP (które muszą stanowić wartość
niezerową) do wygenerowania klucza komunikacji międzyprocesowej Systemu V
typu \fIkey_t\fP odpowiedniego do używania w \fBmsgget\fP(2), \fBsemget\fP(2) lub
\fBshmget\fP(2).
.P
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 \fIproj_id\fP.  Zwracane
wartości powinny się różnić, gdy różnią się (istniejące jednocześnie) pliki
lub identyfikatory projektu.
.SH "WARTOŚĆ ZWRACANA"
W przypadku powodzenia zwracana jest wygenerowana wartość \fIkey_t\fP. W
przypadku błędu zwracane jest \-1, a \fIerrno\fP wskazuje błąd taki sam, jak dla
funkcji systemowej \fBstat\fP(2).
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.TS
allbox;
lbx lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
.na
.nh
\fBftok\fP()
T}	Bezpieczeństwo wątkowe	MT\-bezpieczne
.TE
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
POSIX.1\-2001.
.SH UWAGI
Niektóre historyczne systemy używały następującego prototypu:
.P
.in +4n
.EX
\fBkey_t ftok(char *\fP\fIpathname\fP\fB, char \fP\fIproj_id\fP\fB);\fP
.EE
.in
.P
Obecnie \fIproj_id\fP jest typu \fIint\fP, ale nadal używanych jest tylko 8
bitów. Typowe zastosowanie polega na umieszczeniu znaku ASCII w \fIproj_id\fP i
dlatego mówi się, że zachowanie jest nieokreślone, gdy \fIproj_id\fP jest
zerem.
.P
Oczywiście nie można dać gwarancji, że otrzymany \fIkey_t\fP jest
niepowtarzalny. Zazwyczaj dla uzyskania najlepszego wyniku w 32\-bitową
liczbę łączone są: podany bajt \fIproj_id\fP, 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 \fI/dev/hda1\fP i plikami na
\fI/dev/sda1\fP.
.SH PRZYKŁADY
Zob. \fBsemget\fP(2).
.SH "ZOBACZ TAKŻE"
\fBmsgget\fP(2), \fBsemget\fP(2), \fBshmget\fP(2), \fBstat\fP(2), \fBsysvipc\fP(7)
.PP
.SH 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>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
