setxattr

Autres langues

Langue: ja

Version: 2001-12-31 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

setxattr, lsetxattr, fsetxattr - ³Èĥ°À­¤ÎÃͤòÀßÄꤹ¤ë

½ñ¼°


#include <sys/types.h>

#include <attr/xattr.h>



int setxattr(const char *path, const char *name,

              const void *value, size_t size, int flags);

int lsetxattr(const char *path, const char *name,

              const void *value, size_t size, int flags);

int fsetxattr(int filedes, const char *name,

              const void *value, size_t size, int flags);

ÀâÌÀ

³Èĥ°À­¤Ï¡¢inode (¥Õ¥¡¥¤¥ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯Åù) ¤Ë ´ØÏ¢ÉÕ¤±¤é¤ì¤¿ name:value ¤ÎÂФǤ¢¤ë¡£ ¤³¤ì¤é¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î¤¹¤Ù¤Æ¤Î inode ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ä̾ï¤Î°À­ (stat(2) ¤¬ÊÖ¤¹¥Ç¡¼¥¿) ¤ò³ÈÄ¥¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£ ³Èĥ°À­¤Î¥³¥ó¥»¥×¥È¤Ï attr(5) ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡£

setxattr() ¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î»ØÄꤵ¤ì¤¿ path ¤ËÂбþ¤¹¤ë¡¢Ì¾Á° name ¤Î³Èĥ°À­¤ÎÃÍ value ¤òÀßÄꤹ¤ë¡£ value ¤Î size ¤Ïɬ¤º»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

lsetxattr() ¤Ï setxattr() ¤ÈƱ¤¸¤À¤¬¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¤Ë¡¢¥ê¥ó¥¯¤¬»²¾È¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë ¤Ç¤Ï¤Ê¤¯¡¢¥ê¥ó¥¯¤½¤Î¤â¤Î¤Î³Èĥ°À­¤òÀßÄꤹ¤ëÅÀ¤À¤±¤¬°Û¤Ê¤ë¡£

fsetxattr() ¤Ï setxattr() ¤ÈƱ¤¸¤À¤¬¡¢ path ¤ÎÂå¤ï¤ê¤Ë filedes ¤Ç»Ø¼¨¤µ¤ì¤¿¥ª¡¼¥×¥óºÑ¤ß¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤À¤±¤òÀßÄꤹ¤ëÅÀ¤¬°Û¤Ê¤ë (filedes ¤Ï open(2) ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë)¡£

³Èĥ°À­¤Î̾Á° ¤ÏÉáÄ̤ΠNULL ½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ç¤¢¤ë¡£ name ¤Ë¤Ï¡¢Ì¾Á°¶õ´Ö¤òɽ¤¹ÀÜƬ¼­ (prefix) ¤¬´Þ¤Þ¤ì¤ë¡£ ¸Ä¡¹¤Î inode ¤ËÂФ·¤Æ¡¢¸ß¤¤¤ËÆÈΩ¤Ê̾Á°¶õ´Ö¤¬Ê£¿ô¤¢¤Ã¤Æ¤â¤è¤¤¡£ ³Èĥ°À­¤ÎÃÍ value ¤Ï¡¢¤¢¤ë°ìÄê¤ÎŤµ¤ÎǤ°Õ¤Î¥Æ¥­¥¹¥È¡¦¥Ç¡¼¥¿¤Þ¤¿¤Ï ¥Ð¥¤¥Ê¥ê¡¦¥Ç¡¼¥¿¤Î½¸¹ç¤Ç¤¢¤ë¡£

Áàºî¤Î°ÕÌ£¤òÌÀ³Î¤Ë¤¹¤ë¤¿¤á¤Ë flags °ú¤­¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ XATTR_CREATE ¤Ï°À­¤ÎºîÀ®¤À¤±¤ò¹Ô¤¦¤³¤È¤ò»ØÄꤹ¤ë¡£ »ØÄꤵ¤ì¤¿Ì¾Á°¤Î°À­¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¼ºÇÔ¤¹¤ë¡£ XATTR_REPLACE ¤Ï°À­¤ÎÃÖ´¹¤À¤±¤ò¹Ô¤¦¤³¤È¤ò»ØÄꤹ¤ë¡£ »ØÄꤵ¤ì¤¿Ì¾Á°¤Î°À­¤¬¤Þ¤À¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¼ºÇÔ¤¹¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï (¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç)¡¢³Èĥ°À­¤ÏɬÍפʾì¹ç¤ÏºîÀ®¤µ¤ì¡¢ °À­¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï°À­ÃͤÎÃÖ´¹¤ò¹Ô¤¦¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¡¢ 0 ¤¬ÊÖ¤µ¤ì¤ë¡£ ¼ºÇÔ¤·¤¿¾ì¹ç¡¢ -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤ËŬÀÚ¤ÊÃͤ¬¥»¥Ã¥È¤µ¤ì¤ë¡£

XATTR_CREATE ¤¬»ØÄꤵ¤ì¡¢¤«¤Ä°À­¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢ errno ¤Ë EEXIST ¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£ XATTR_REPLACE ¤¬»ØÄꤵ¤ì¡¢Â°À­¤¬¤Þ¤À¸ºß¤·¤Ê¤¤¾ì¹ç¡¢ errno ¤Ë ENOATTR ¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£

³Èĥ°À­¤òµ­²±¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥¹¥Ú¡¼¥¹¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ errno ¤Ë ENOSPC¡¢¤Þ¤¿¤Ï EDQUOT (quota ¤Ë¤è¤ëÀ©¸Â¤¬¸¶°ø¤Î¾ì¹ç) ¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£

³Èĥ°À­¤¬¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ ¤â¤·¤¯¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ errno ¤Ë ENOTSUP ¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£

stat(2) ¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎÀâÌÀ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ï ¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë¤âŬÍѤµ¤ì¤ë¡£

½àµò

¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux Æȼ«¤Ç¤¢¤ë¡£

´ØÏ¢¹àÌÜ

getfattr(1), setfattr(1), getxattr(2), listxattr(2), open(2), removexattr(2), stat(2), attr(5)