Очереди сообщений указываются с помощью положительного числа, называемого (идентификатором очереди сообщений msqid). У каждой очереди существует структура struct msquid_ds, определенная в <sys/msg.h>, состоящая из следующих полей:
struct ipc_perm msg_perm;
{
ushort msg_qnum;/* количество сообщений в очереди */
ushort msg_qbytes;/* максимальное количество байтов в очереди */
ushort msg_lspid;/* идентификатор процесса, последний раз вызвавшего функцию msgsnd */
ushort msg_lrpid;/* идентификатор процесса, последний раз вызвавшего функцию msgrcv */
time_t msg_stime;/* время последнего вызова msgsnd */
time_t msg_rtime;/* время последнего вызова msgrcv */
time_t msg_ctime;/* последнее время изменения состояния очереди */
}msg_perm;
- ipc_perm - это структура, определяющая права доступа к очереди сообщений.
- msg_qnum - Количество сообщений, находящихся на текущий момент в очереди.
- msg_qbytes - Максимальное количество байтов текста, которое может находиться в очереди сообщений.
- msg_lspid - Идентификатор процесса, последний раз вызвавшего системную функцию msgsnd.
- msg_lrpid - Идентификатор процесса, последний раз вызвавшего системную функцию msgrcv.
- msg_stime - Время последнего вызова системной функции msgsnd.
- msg_rtime - Время последнего вызова системной функции msgrcv
- msg_ctime - Время последнего вызова системной функции, изменившей поле структуры msqid_ds.