ÈÌß
msgget - coçäaeò o÷epeäü cooáùeíèé
ÑÈÍÒÀÊÑÈÑ
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
int msgget (key, msgflg) key_t key; int msgflg;
ÎÏÈÑÀÍÈÅ
msgget äëÿ çaäaííoão key âoçâpaùaeò èäeíòèôèêaòop o÷epeäè cooáùeíèé.
Èäeíòèôèêaòop o÷epeäè cooáùeíèé, câÿçaííûe c íèì o÷epeäü è còpyêòypa äaííûx (cì. ) coçäaþòcÿ äëÿ äaííoão key, ecëè âûïoëíÿeòcÿ oäío èç cëeäyþùèx ycëoâèé:
key paâeí IPC_PRIVATE.
key íe èìeeò câÿçaííoão c íèì èäeíòèôèêaòopa o÷epeäè cooáùeíèé è (msgflg&IPC_CREAT) oòëè÷ío oò íyëÿ.
Ïoëÿ còpyêòypû äaííûx, câÿçaííoé c íoâûì èäeíòèôèêaòopoì o÷epeäè cooáùeíèé, èíèöèaëèçèpyþòcÿ cëeäyþùèì oápaçoì:
msg_perm.cuid è msg_perm.uid ycòaíaâëèâaþòcÿ paâíûìè ýôôeêòèâíoìy ïoëüçoâaòeëücêoìy ID òeêyùeão ïpoöecca. msg_perm.cgid è msg_perm.gid ycòaíaâëèâaþòcÿ paâíûìè ýôôeêòèâíoìy ãpyïïoâoìy ID òeêyùeão ïpoöecca.
Mëaäøèe 9 áèò msg_perm.mode ycòaíaâëèâaþòcÿ paâíûìè ìëaäøèì 9-òè áèòaì msgflg.
msg_qnum, msg_lspid, msg_lrpid è msg_rtime ycòaíaâëèâaþòcÿ paâíûìè 0.
msg_ctime ycòaíaâëèâaeòcÿ paâíûì òeêyùeìy âpeìeíè.
msg_qbytes ycòaíaâëèâaeòcÿ paâíûì cècòeìíoìy oãpaíè÷eíèþ.
msgget aâapèéío çaâepøaeòcÿ, ecëè âûïoëíÿeòcÿ xoòÿ áû oäío èç cëeäyþùèx ycëoâèé:
BOÇÂPAÙAEÌOE ÇÍA×EÍÈE
B cëy÷ae ycïeøíoão çaâepøeíèÿ âoçâpaùaeòcÿ èäeíòèôèêaòop o÷epeäè cooáùeíèé êaê íeoòpèöaòeëüíoe öeëoe ÷ècëo. Èía÷e âoçâpaùaeòcÿ çía÷eíèe -1 è â errno çaíocèòcÿ êoä oøèáêè.
ÑÌ. ÒÀÊÆÅ
, msgctl(3), msgop(3)
ÇAÌE×AÍÈß
Ïpoãpaììa, ècïoëüçyþùaÿ ýòy ôyíêöèþ, äoëæía êoìïèëèpoâaòücÿ c ôëaãoì -Me.