|
Синтаксис
# include <sys/ipc.h> # include <sys/msg.h> int msgrcv (int msgid, struct msgbuf * msgp, int msgzs, long msgtype, int msgflg) |
Описание
msgrcv получает выполняет сообщение из очереди, задаваемой
аргументом msgid - идентификатором очереди - и записывает его
в буфер, адрес которого задается аргументом msgp. Cтруктура,
содержащая сообщение:
struct msgbuf { long mtype; /* Тип сообщения */ char mtext []; /* Текст сообщения */ }; Аргумент msgsz задает размер принимаемого сообщения; сообщения большего размера усекаются. Аргумент msgtype задает тип принимаемого сообщения:
Аргумент msgflg может принимать значение 0 или IPC_NOWAIT.
|
Возвращаемое значение
При успешном завершении возвращает количество байт в принятом сообщении. В случае ошибки возвращается -1 и устанавливается код ошибки в errno. |
См.также
msgctl, msgget, msgsnd. |