|
Синтаксис
# 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. |