Scroll to navigation

ipc(2) System Calls Manual ipc(2)

ИМЯ

ipc - системные вызовы System V IPC

БИБЛИОТЕКА

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

СИНТАКСИС

#include <linux/ipc.h>        /* Definition of needed constants */
#include <sys/syscall.h>      /* Definition of SYS_* constants */
#include <unistd.h>
int syscall(SYS_ipc, unsigned int call, int first,
            unsigned long second, unsigned long third, void *ptr,
            long fifth);

Note: glibc provides no wrapper for ipc(), necessitating the use of syscall(2).

ОПИСАНИЕ

ipc() является обобщённым системным вызовом для работы с сообщениями, семафорами и разделяемой памятью согласно System V IPC (InterProcess Communication — межпроцессное взаимодействие). В параметре call задаётся какая функция IPC вызывается; значения других аргументов определяется используемой функцией.

Программы пространства пользователя должны вызывать соответствующие функции через их обычные имена. Только тем, кто пишет стандартные библиотеки и хакерам ядра может понадобиться знать о вызове ipc().

СТАНДАРТЫ

Вызов ipc() есть только в Linux и не должен использоваться в переносимых программах.

ПРИМЕЧАНИЯ

On some architectures—for example x86-64 and ARM—there is no ipc() system call; instead, msgctl(2), semctl(2), shmctl(2), and so on really are implemented as separate system calls.

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

msgctl(2), msgget(2), msgrcv(2), msgsnd(2), semctl(2), semget(2), semop(2), semtimedop(2), shmat(2), shmctl(2), shmdt(2), shmget(2), sysvipc(7)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

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

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

5 февраля 2023 г. Справочные страницы Linux 6.03