Rechercher une page de manuel
mq_open
Langue: ja
Version: 2006-02-25 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
̾Á°
mq_open - ¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë½ñ¼°
#include <mqueue.h> mqd_t mq_open(const char *name, int oflag); mqd_t mq_open(const char *name, int oflag, mode_t mode, struct mq_attr *attr);
ÀâÌÀ
mq_open() ¤Ï¡¢¿·¤·¤¤ POSIX ¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤òºîÀ®¤¹¤ë¤«¡¢´û¸¤Î¥¥å¡¼¤ò ¥ª¡¼¥×¥ó¤¹¤ë¡£¥¥å¡¼¤Ï name ¤Ç¼±Ê̤µ¤ì¤ë¡£ name ¤Î¹½À®¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï mq_overview (7) ¤ò»²¾È¡£oflag °ú¤¿ô¤Ë¤Ï¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁàºî¤òÀ©¸æ¤¹¤ë¥Õ¥é¥°¤ò»ØÄꤹ¤ë¡£ oflag ¤Ë¤Ï¡¢°Ê²¼¤Î¤¦¤Á¤¤¤º¤ì¤«°ì¤Ä¤òɬ¤º»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
- O_RDONLY
- ¥á¥Ã¥»¡¼¥¸¤Î¼õ¿®ÀìÍѤȤ·¤Æ¥¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£
- O_WRONLY
- ¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¿®ÀìÍѤȤ·¤Æ¥¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£
- O_RDWR
- ¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®Î¾ÍѤȤ·¤Æ¥¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£
0 ¸Ä°Ê¾å¤Î²¼µ¤Î¥Õ¥é¥°¤ò¡¢¥Ó¥Ã¥Èñ°Ì¤Î OR (ÏÀÍýÏÂ) ¤Ç oflag ¤ËÄɲäǻØÄê¤Ç¤¤ë¡£
- O_NONBLOCK
- ÈóÄä»ß (non-blocking) ¥â¡¼¥É¤Ç¥¥å¡¼¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£ mq_receive(3) ¤È mq_send(3) ¤Ï¡¢Ä̾ï¤ÏÄä»ß (block) ¤¹¤ë¾õ¶·¤Ë¤ª¤¤¤Æ¡¢¥¨¥é¡¼ EAGAIN ¤Ç¼ºÇÔ¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¡£
- O_CREAT
- ¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤òºîÀ®¤¹¤ë¡£ ¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤Î½êÍ¼Ô (¥æ¡¼¥¶ ID) ¤È¥°¥ë¡¼¥×½ê͸¢ (¥°¥ë¡¼¥× ID) ¤Ï¡¢ ¤½¤ì¤¾¤ì¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶ ID ¤È¼Â¸ú¥°¥ë¡¼¥× ID ¤ËÀßÄꤵ¤ì¤ë¡£
- O_EXCL
- O_CREAT ¤¬ oflag ¤Ë»ØÄꤵ¤ì¡¢¤«¤Ä»ØÄꤵ¤ì¤¿Ì¾Á° name ¤ò»ý¤Ä¥¥å¡¼¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¥¨¥é¡¼ EEXIST ¤Ç¼ºÇÔ¤¹¤ë¡£
oflag ¤Ë O_CREAT ¤ò»ØÄꤹ¤ë¾ì¹ç¡¢ÄÉ²Ã¤Ç 2¤Ä¤Î°ú¤¿ô¤òÍ¿¤¨¤ëɬÍפ¬¤¢¤ë¡£ mode °ú¤¿ô¤Ï¡¢¿·¤·¤¤¥¥å¡¼¤ËŬÍѤµ¤ì¤ëµö²ÄÀßÄê (permission) ¤ò¡¢ open(2) ¤ÈƱ¤¸¤è¤¦¤Ë»ØÄꤹ¤ë¡£ µö²ÄÀßÄê¤Ï¥×¥í¥»¥¹¤Î umask ¤Ç¥Þ¥¹¥¯¤µ¤ì¤ë¡£ attr °ú¤¿ô¤Ï¡¢¥¥å¡¼¤Î°À¤ò»ØÄꤹ¤ë¡£¾ÜºÙ¤Ï¡¢ mq_getattr(2) ¤ò»²¾È¡£ attr ¤¬ NULL ¤Î¾ì¹ç¡¢¥¥å¡¼¤Ï¼ÂÁõ¤ÇÄêµÁ¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥È°À¤ÇºîÀ®¤µ¤ì¤ë¡£
ÊÖ¤êÃÍ
À®¸ù¤¹¤ë¤È¡¢ mq_open() ¤Ï¥á¥Ã¥»¡¼¥¸¥¥å¡¼µ½Ò»Ò (message queue descriptor) ¤òÊÖ¤¹¡£ ¥á¥Ã¥»¡¼¥¸¥¥å¡¼µ½Ò»Ò¤Ï¾¤Î¥á¥Ã¥»¡¼¥¸¥¥å¡¼´ØÏ¢¤Î´Ø¿ô¤Ç»ÈÍѤµ¤ì¤ë¡£ ¥¨¥é¡¼¤Î¾ì¹ç¡¢ mq_open() ¤Ï (mqd_t) -1 ¤òÊÖ¤·¡¢ errno ¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£¥¨¥é¡¼
- EACCES
- ¥¥å¡¼¤Ï¸ºß¤¹¤ë¤¬¡¢¸Æ¤Ó½Ð¤·¸µ¤¬»ØÄꤵ¤ì¤¿¥â¡¼¥É¤Ç¤½¤Î¥¥å¡¼ ¤ò¥ª¡¼¥×¥ó¤¹¤ëµö²Ä¤ò»ý¤¿¤Ê¤¤¡£
- EINVAL
- oflag ¤Ë O_CREAT ¤¬»ØÄꤵ¤ì¡¢¤«¤Ä attr ¤¬ NULL °Ê³°¤À¤¬¡¢ attr->mq_maxmsg ¤« attr->mq_msqsize ¤¬ÉÔÀµ¤Ç¤¢¤Ã¤¿¡£ ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤ÏξÊý¤È¤â 0 ¤è¤êÂ礤¯¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¥×¥í¥»¥¹¤¬Æø¢¤ò»ý¤¿¤Ê¤¤ (CAP_SYS_RESOURCE ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤¿¤Ê¤¤) ¾ì¹ç¡¢ attr->mq_maxmsg ¤È attr->mq_msgsize ¤Ï¡¢¤½¤ì¤¾¤ì¾å¸Â msg_max¡¢ msgsize_max °Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤Þ¤¿¡¢Æø¢¥×¥í¥»¥¹¤Î¾ì¹ç¤Ç¤â¡¢ attr->mq_maxmsg ¤Ï HARD_MAX ¾å¸Â¤òĶ¤¨¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£ (¤³¤ì¤é¤Î¾å¸Â¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ï mq_overview(7) ¤ò»²¾È¡£)
- EEXIST
- oflag ¤Ë O_CREAT ¤È O_EXCL ¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¤¬¡¢»ØÄꤵ¤ì¤¿Ì¾Á° name ¤ò»ý¤Ä¥¥å¡¼¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¡£
- EMFILE
- ¤½¤Î¥×¥í¥»¥¹¤¬¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤È¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤Î¿ô¤¬ ¥×¥í¥»¥¹Ëè¤Î¾å¸Â¤Ë㤷¤Æ¤¤¤ë¡£
- ENAMETOOLONG
- name ¤¬Ä¹¤¹¤®¤ë¡£
- ENFILE
- ¥·¥¹¥Æ¥àÁ´ÂΤǥª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤È¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤Î¹ç·×¿ô¤¬ ¥·¥¹¥Æ¥à¾å¸Â¤Ë㤷¤Æ¤¤¤ë¡£
- ENOENT
- O_CREAT ¥Õ¥é¥°¤¬ oflag ¤Ë»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¤¬¡¢»ØÄꤵ¤ì¤¿Ì¾Á° name ¤ò»ý¤Ä¥¥å¡¼¤¬Â¸ºß¤·¤Ê¤¤¡£
- ENOMEM
- ½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
- ENOSPC
- ¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤òºîÀ®¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¶õ´Ö¤¬¤Ê¤¤¡£ ¤³¤Î¥¨¥é¡¼¤Ï¤ª¤½¤é¤¯ queues_max ¾å¸Â¤ËÄñ¿¨¤·¤¿¤¿¤áµ¯¤³¤Ã¤¿¤Î¤À¤í¤¦¡£ mq_overview(7) ¤ò»²¾È¡£
½àµò
POSIX.1-2001.¥Ð¥°
2.6.14 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ë¤Ï¡¢ ¥×¥í¥»¥¹¤Î umask ¤¬ mode ¤Ç»ØÄꤵ¤ì¤¿µö²ÄÀßÄê¤ËŬÍѤµ¤ì¤Ê¤«¤Ã¤¿¡£´ØÏ¢¹àÌÜ
mq_close(3), mq_getattr(3), mq_notify(3), mq_receive(3), mq_send(3), mq_unlink(3), mq_overview(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre