logo
Конспект Граур

Функция msgrcv()

Для получения сообщения имеется функция msgrcv:

#include <sys/types.h>

#include <sys/ipc.h>

#include <sys/msg.h>

int msgrcv (int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg)

 

msqid – идентификатор очереди

msgp – указатель на буфер

msgsz – размер буфера

msgtyp - тип сообщения, которое процесс желает получить

= 0 любого типа

> 0 типа msgtyp

< 0 наименьшее значение среди типов, которые меньше модуля msgtyp

msgflg – побитовое сложение флагов

IPC_NOWAIT – если сообщения в очереди нет, то возврат –1

MSG_NOERROR – разрешение получать сообщение, даже если его длина превышает емкость буфера

В случае успеха возвращается 0