Rechercher une page de manuel
mknod
Langue: ja
Version: 2004-06-23 (openSuse - 09/10/07)
Section: 2 (Appels système)
̾Á°
mknod - Æüì¥Õ¥¡¥¤¥ë¤äÄ̾ï¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë½ñ¼°
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int mknod(const char *pathname, mode_t mode, dev_t dev);
ÀâÌÀ
¥·¥¹¥Æ¥à¥³¡¼¥ë mknod() ¤Ï pathname ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¦¥Î¡¼¥É (¥Õ¥¡¥¤¥ë¡¢¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢Ì¾Á°ÉÕ¤¥Ñ¥¤¥×) ¤ò¡¢ °À mode ¤È dev ¤Î»ØÄê¤Ë¤·¤¿¤¬¤Ã¤ÆºîÀ®¤¹¤ë¡£mode °ú¤¿ô¤Ë¤Ï¡¢ºîÀ®¤¹¤ë¥Î¡¼¥É¤Îµö²Ä°À (permission) ¤È¥¿¥¤¥×¤ò»ØÄꤹ¤ë¡£ mode ¤Î»ØÄê¤Ï°Ê²¼¤Ë¤¢¤²¤ë¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Î¤¦¤Á¤Î 1 ¤Ä¤È¡¢ µö²Ä°À¤ÎÁȹ礻 (¥Ó¥Ã¥È¤´¤È¤Î OR ¤ò»ÈÍÑ) ¤Ç¹Ô¤¦¡£
µö²Ä°À¤ÏÄ̾ïÄ̤ꡢ¥×¥í¥»¥¹¤Î umask ¤Ë¤è¤Ã¤Æ½¤Àµ¤µ¤ì¡¢ºîÀ®¤µ¤ì¤¿¥Î¡¼¥É¤Îµö²Ä°À¤Ï (mode & ~umask) ¤È¤Ê¤ë¡£
¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Ë¤Ï S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO, S_IFSOCK ¤Î¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤½¤ì¤¾¤ì½ç¤Ë¡¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë (¶õ¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆºîÀ®¤µ¤ì¤ë)¡¦ ¥¥ã¥é¥¯¥¿¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¦¥Ö¥í¥Ã¥¯¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¦ FIFO (̾Á°ÉÕ¤¥Ñ¥¤¥×)¡¦Unix ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ç¤¢¤ë (¥Õ¥¡¥¤¥ë¥¿¥¤¥× 0 ¤Ï S_IFREG ¤ÈƱ¤¸¤Ç¤¢¤ë)¡£
¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬ S_IFCHR ¤Þ¤¿¤Ï S_IFBLK ¤Î¤È¤¡¢ dev ¤Ë¤ÏºîÀ®¤¹¤ë¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤Î¥á¥¸¥ã¡¼ÈÖ¹æ¤È ¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ò»ØÄꤹ¤ë¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï dev ¤Ï̵»ë¤µ¤ì¤ë¡£
pathname ¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¡¢ ¤³¤Î¸Æ¤Ó½Ð¤·¤Ï EEXIST ¥¨¥é¡¼¤Ç¼ºÇÔ¤¹¤ë¡£
¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥Î¡¼¥É¤Î½êÍ¼Ô¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶ ID ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£ ¿·¤¿¤Ëºî¤é¤ì¤¿¥Î¡¼¥É¤òÊÝ»ý¤¹¤ë ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î set-group-ID ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤¿¤ê¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ BSD ¤Î¥°¥ë¡¼¥×¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë¤·¤¿¤¬¤Ã¤Æ ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¿·¤·¤¤¥Î¡¼¥É¤Î¥°¥ë¡¼¥×½ê͸¢¤Ï¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î ¥°¥ë¡¼¥×½ê͸¢¤ò·Ñ¾µ¤¹¤ë (¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ë¤Ê¤ë)¡£ ¤Þ¤¿¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¤Î½êÍ¥°¥ë¡¼¥×¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú¥°¥ë¡¼¥× ID ¤È¤Ê¤ë¡£
ÊÖ¤êÃÍ
mknod() ¤ÏÀ®¸ù¤·¤¿¾ì¹ç 0 ¤ò¡¢¼ºÇÔ¤·¤¿¾ì¹ç -1 ¤òÊÖ¤¹ (¼ºÇÔ¤·¤¿¾ì¹ç errno ¤¬¥¨¥é¡¼¤ÎÆâÍƤˤ·¤¿¤¬¤Ã¤Æ¥»¥Ã¥È¤µ¤ì¤ë)¡£¥¨¥é¡¼
- EACCES
- ¥×¥í¥»¥¹¤¬¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î½ñ¤¹þ¤ßµö²Ä¤ò»ý¤¿¤Ê¤¤¡£ ¤â¤·¤¯¤Ï¥Ñ¥¹Ì¾ pathname Ãæ¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤Î¤É¤ì¤«¤Ë¸¡º÷µö²Ä°À¤¬Ìµ¤¤ (path_resolution(7) ¤â»²¾È¤¹¤ë¤³¤È)¡£
- EEXIST
- pathname ¤¬´û¤Ë¸ºß¤¹¤ë¡£
- EFAULT
- pathname ¤¬¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
- EINVAL
- mode ¤¬Ä̾ï¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¦FIFO¡¦¥½¥±¥Ã¥È°Ê³°¤ò ºîÀ®¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¡£
- ELOOP
- ¥Ñ¥¹Ì¾ pathname ¤ò²ò·è¤¹¤ë¤È¤¤Ë¡¢´Þ¤Þ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿¤¹¤®¤¿¡£
- ENAMETOOLONG
- pathname ¤¬Ä¹²á¤®¤ë¡£
- ENOENT
- pathname Ãæ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢ ¤Þ¤¿¤Ï¥ê¥ó¥¯Àè¤Î̵¤¤¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë¡£
- ENOMEM
- ½½Ê¬¤Ê¥«¡¼¥Í¥ë¥á¥â¥ê¤¬Ìµ¤¤¡£
- ENOSPC
- pathname ¤Î¤¢¤ë¥Ç¥Ð¥¤¥¹¤Ë¿·¤¿¤Ë¥Î¡¼¥É¤òºîÀ®¤¹¤ë¶õ¤¤¬Ìµ¤¤¡£
- ENOTDIR
- pathname Ãæ¤Î¥Ç¥£¥ì¥¯¥È¥êÍ×ÁǤ¬¡¢¼ÂºÝ¤Ë¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
- EPERM
- mode ¤ÏÄ̾ï¤Î¥Õ¥¡¥¤¥ë¡¦FIFO (̾Á°ÉÕ¤¥Ñ¥¤¥×)¡¦Unix ¥É¥á¥¤¥ó¥½¥±¥Ã¥È°Ê³°¤ò ºîÀ®¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¼Â¹Ô¼Ô¤¬Æø¢ (Linux ¤Ç¤Ï CAP_MKNOD ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability)) ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£ ¤Þ¤¿¤Ï pathname ¤òÊÝ»ý¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¡¢»ØÄꤵ¤ì¤¿¥Î¡¼¥É·Á¼°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
- EROFS
- pathname ¤¬Æɤ߽Ф·ÀìÍÑ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î¥Õ¥¡¥¤¥ë¤ò»Ø¤·¤Æ¤¤¤ë¡£
½àµò
SVr4, 4.4BSD, POSIX.1-2001 (²¼µ¤â»²¾È).Ãí°Õ
POSIX.1-2001 ¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¤¤ë¡§ ¡Ömknod() ¤ÎÍ£°ì¤Î°Ü¿¢À¤Î¤¢¤ë»ÈÍÑË¡¤Ï¡¢FIFO ¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£ mode ¤¬ S_IFIFO ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï dev ¤¬ 0 ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢ mknod() ¤ÎµóÆ°¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¡£¡×Linux ¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë¤¿¤á¤Ë ¤³¤Î¸Æ¤Ó½Ð¤·¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£ ¥Ç¥£¥ì¥¯¥È¥ê¤Ï mkdir(2) ¤Ç¡¢FIFO ¤Ï mkfifo(2) ¤ÇºîÀ®¤¹¤Ù¤¤Ç¤¢¤ë¡£
NFS ¤ò¼Â¸½¤·¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤Ë¤Ï¿¤¯¤ÎÉÔÈ÷¤¬Â¸ºß¤·¡¢ ¤½¤ì¤é¤Î¤¤¤¯¤Ä¤«¤Ï mknod() ¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¡£
´ØÏ¢¹àÌÜ
fcntl(2), mkdir(2), mknodat(2), mount(2), socket(2), stat(2), umask(2), unlink(2), mkfifo(3), path_resolution(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre