getxattr

Autres langues

Langue: ja

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

Section: 2 (Appels système)

̾Á°

getxattr, lgetxattr, fgetxattr - ³Èĥ°À­¤ÎÃͤò¼èÆÀ¤¹¤ë

½ñ¼°


#include <sys/types.h>

#include <attr/xattr.h>



ssize_t getxattr(const char *path, const char *name,

                 void *value, size_t size);

ssize_t lgetxattr(const char *path, const char *name,

                 void *value, size_t size);

ssize_t fgetxattr(int filedes, const char *name,

                 void *value, size_t size);

ÀâÌÀ

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

getxattr() ¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î»ØÄꤵ¤ì¤¿ path ¤ËÂбþ¤¹¤ë¡¢Ì¾Á° name ¤Î³Èĥ°À­¤Î value (ÃÍ) ¤ò¼èÆÀ¤¹¤ë¡£ °À­ value ¤ÎŤµ¤¬ÊÖ¤µ¤ì¤ë¡£

lgetxattr() ¤Ï getxattr() ¤ÈƱ¤¸¤À¤¬¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¤Ë¡¢¥ê¥ó¥¯¤¬»²¾È¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë ¤Ç¤Ï¤Ê¤¯¡¢¥ê¥ó¥¯¤½¤Î¤â¤Î¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ëÅÀ¤À¤±¤¬°Û¤Ê¤ë¡£

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

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

size ¤Ë 0 ¤ò»ØÄꤷ¤Æ¶õ¤Î¥Ð¥Ã¥Õ¥¡¤ò¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÅϤ¹¤³¤È¤¬¤Ç¤­¡¢ ¤³¤Î¾ì¹ç¤Ë¤Ï»ØÄꤵ¤ì¤¿Ì¾Á°¤Î³Èĥ°À­¤Î¸½ºß¤Î¥µ¥¤¥º¤¬ÊÖ¤µ¤ì¤ë¡£ ¤³¤ÎÊýË¡¤Ï¡¢³Èĥ°À­¤ÎÃͤòÊÝ»ý¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÂ礭¤µ¤Î¥Ð¥Ã¥Õ¥¡¡¦¥µ¥¤¥º¤ò ¸«ÀѤâ¤ë¤Î¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡¢

¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢½é´ü¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤Î¿ä¬¤ò¤·¤¿¤ê¡¢ Í¿¤¨¤é¤ì¤¿¥Ð¥Ã¥Õ¥¡¤¬¾®¤µ¤¹¤®¤¿¤³¤È¤òÊÖ¤êÃͤÇÃΤ餻¤ë¤³¤È¤Ç¥Ð¥Ã¥Õ¥¡¤òÂ礭¤¯ ¤·¤¿¤ê¤Ç¤­¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¡¢³Èĥ°À­¤ÎÃͤÎŤµ¤òɽ¤¹Àµ¤Î¿ô¤¬ÊÖ¤µ¤ì¤ë¡£ ¼ºÇÔ¤·¤¿¾ì¹ç¡¢ -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤ËŬÀÚ¤ÊÃͤ¬¥»¥Ã¥È¤µ¤ì¤ë¡£

»ØÄꤵ¤ì¤¿Ì¾Á°¤Î°À­¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¥×¥í¥»¥¹¤¬¤½¤Î°À­¤Ë¥¢¥¯¥»¥¹ ¤¹¤ë¸¢¸Â¤¬¤Ê¤¤¾ì¹ç¡¢ errno ¤Ë ENOATTR ¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£

value ¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ size ¤¬·ë²Ì¤òÊÝ»ý¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÂ礭¤µ¤Ç¤Ê¤¤¾ì¹ç¡¢ errno ¤Ë ERANGE ¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£

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

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

½àµò

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

´ØÏ¢¹àÌÜ

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