Man page - ftok(3)

Packages contains this manual

Available languages:

en fr pt_BR es pl ja ru ro de

Manual

ftok

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
АТРИБУТЫ
СТАНДАРТЫ
ИСТОРИЯ
ПРИМЕЧАНИЯ
ПРИМЕРЫ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

ftok - преобразует путь и идентификатор проекта в ключ System V IPC

БИБЛИОТЕКА

Стандартная библиотека языка C ( libc , -lc )

ОБЗОР

#include <sys/ipc.h>

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

ОПИСАНИЕ

Функция ftok () использует отличительные свойства (identity) файла с именем pathname (которое должно указывать на существующий и доступный файл) и младшие 8 бит аргумента proj_id (который должен быть не равен нулю) для генерации ключа System V IPC key_t , который пригоден для работы с msgget (2), semget (2) или shmget (2).

Возвращаемое значение одинаково для всех имён, указывающих на один и тот же файл при одинаковом значении proj_id . Возвращаемое значение будет отличаться, когда (одновременно существующие) файлы или идентификаторы проекта различаются.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении возвращается сгенерированное значение key_t . При ошибке возвращается -1, а в переменную errno записывается код ошибки согласно системному вызову stat (2).

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes (7).

Image grohtml-607539-1.png

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

POSIX.1-2001.

ПРИМЕЧАНИЯ

В некоторых старых системах прототип выглядел как:

key_t ftok(char * pathname , char proj_id );

В наши дни proj_id имеет тип int , хотя, как правило, по-прежнему из него используется только 8 бит. Обычно, при вызове этой функции в качестве proj_id передаётся символ ASCII, именно поэтому поведение функции считается не определённым, если proj_id равен нулю.

Естественно, не гарантируется, что возвращаемый key_t уникален. Обычно производится объединение указанного байта proj_id с младшими 16 битами номера inode и младшими 8 битам номера устройства в 32-битный результат. Легко могут возникать повторения, например между файлами на /dev/hda1 и файлами на /dev/sda1 .

ПРИМЕРЫ

See semget (2).

СМОТРИТЕ ТАКЖЕ

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

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков .