mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

MSGGET(2)                                             MSGGET(2)

НАЗВАНИЕ 
        msgget - получение идентификатора очереди сообщений

СИНТАКСИС 
        #include 
        #include 
        #include 

        int msgget (key, msgflg)
        key_t key;
        int msgflg;

ОПИСАНИЕ 
        Системный вызов msgget возвращает идентификатор очереди
        сообщений, ассоциированный с ключом key.

        Идентификатор очереди сообщений и ассоциированные с ним
        очередь и структура данных [см. intro(2)] создаются для
        ключа key в следующих случаях:

        1.   Значение аргумента key равно IPC_PRIVATE.

        2.   Ключ key еще не имеет ассоциированного с ним иден-
             тификатора очереди сообщений и выражение (msgflg &
             IPC_CREAT) истинно.

        При создании структуры данных, ассоциированной с  новым
        идентификатором очереди сообщений, выполняются  следую-
        щие инициализирующие действия:

        1.   Значения   полей   msg_perm.cuid,    msg_perm.uid,
             msg_perm.cgid и msg_perm.gid устанавливаются  рав-
             ными действующему идентификатору  пользователя  и,
             соответственно, действующему идентификатору группы
             вызывающего процесса.

        2.   Младшие  9  бит поля msg_perm.mode устанавливаются
             равными 9 младшим битам аргумента msgflg.

        3.   Значения  полей  msg_qnum,  msg_lspid,  msg_lrpid,
             msg_stime и msg_rtime устанавливаются равными 0.

        4.   Значение поля msg_ctime устанавливается равным те-
             кущему времени.

        5.   Значение поля  msg_qbytes  устанавливается  равным
             системному лимиту.

        Системный вызов msgget завершается неудачей,  если  вы-
        полнено хотя бы одно из следующих условий:

        [EACCES]    Для ключа key уже существует  идентификатор
                    очереди сообщений, но не могут быть предос-
                    тавлены права  доступа,  определенные  в  9
                    младших битах аргумента msgflg.

        [ENOENT]    Для ключа key не  существует  идентификатор
                    очереди сообщений  и  выражение  (msgflg  &
                    IPC_CREAT) ложно.

        [ENOSPC]    Идентификатор очереди сообщений должен быть
                    создан, но тогда будет превышено максималь-
                    но допустимое количество идентификаторов  в
                    системе.

        [EEXIST]    Для ключа key уже существует  идентификатор
                    очереди сообщений и  выражение  ((msgflg  &
                    IPC_CREAT) & (msgflg & IPC_EXCL)) истинно.

СМ. ТАКЖЕ 
        intro(2), msgctl(2), msgop(2).

ДИАГНОСТИКА 
        При успешном завершении системного вызова  возвращается
        неотрицательное целое число - идентификатор очереди со-
        общений. В случае ошибки возвращается -1, а  переменной
        errno присваивается код ошибки.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк