getmntent

Autres langues

Langue: ja

Version: 2003-11-15 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

getmntent, setmntent, addmntent, endmntent, hasmntopt, getmntent_r - ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àµ­½Ò¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤ò¼èÆÀ¤¹¤ë

#include <stdio.h>

#include <mntent.h>



FILE *setmntent(const char *filename, const char *type);



struct mntent *getmntent(FILE *fp);



int addmntent(FILE *fp, const struct mntent *mnt);



int endmntent(FILE *fp);



char *hasmntopt(const struct mntent *mnt, const char *opt);



/* GNU ¤Ë¤è¤ë³ÈÄ¥ */

#define _GNU_SOURCE    /* ¤« _SVID_SOURCE ¤« _BSD_SOURCE */

#include <mntent.h>



struct mntent *getmntent_r(FILE *fp, struct mntent *mntbuf,

                           char *buf, int buflen);

ÀâÌÀ

¤³¤ì¤é¤Î¥ë¡¼¥Á¥ó¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òµ­½Ò¤·¤¿¥Õ¥¡¥¤¥ë /etc/fstab ¤È¡¢¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òµ­½Ò¤·¤¿¥Õ¥¡¥¤¥ë /etc/mtab ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£

setmntent() ´Ø¿ô¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Îµ­½Ò¥Õ¥¡¥¤¥ë fp ¤ò¥ª¡¼¥×¥ó¤·¤Æ¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿¤Ï getmntent() ¤Ë¤è¤Ã¤ÆÍѤ¤¤é¤ì¤ë¡£°ú¤­¿ô type ¤ÏÍ׵᤹¤ë¥¢¥¯¥»¥¹·Á¼°¤Ç¡¢ fopen(3) ¤Î mode °ú¤­¿ô¤ÈƱ¤¸Ãͤò¼è¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

getmntent() ´Ø¿ô¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Îµ­½Ò¥Õ¥¡¥¤¥ë fp ¤«¤é¿·¤·¤¤¹Ô¤òÆÉ ¤ß¹þ¤ß¡¢¹Ô¤ò¥Õ¥£¡¼¥ë¥É¤Ëʬ³ä¤·¤¿ÆâÍƤò¼ý¤á¤¿¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹¡£ ¥Ý¥¤¥ó¥¿¤Ï¥á¥â¥ê¤ÎÀÅŪ¤ÊÎΰè¤ò»Ø¤·¤Æ¤ª¤ê¡¢¤³¤ÎÎΰè¤Ï getmntent() ¤ò¼¡¤Ë¸Æ¤Ó½Ð¤·¤¿¤È¤­¤Ë¾å½ñ¤­¤µ¤ì¤Æ¤·¤Þ¤¦¡£

addmntent() ´Ø¿ô¤Ï mntent ¹½Â¤ÂÎ mnt ¤ÎÆâÍƤò¡¢¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë fp ¤ÎºÇ¸å¤ËÄɲ乤롣

endmntent() ´Ø¿ô¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Îµ­½Ò¥Õ¥¡¥¤¥ë fp ¤òÊĤ¸¤ë¡£

hasmntopt() ´Ø¿ô¤Ï mntent ¹½Â¤ÂÎ mnt ¤Î mnt_opts ¥Õ¥£¡¼¥ë¥É (²¼µ­ »²¾È) ¤ò¥¹¥­¥ã¥ó¤·¡¢ opt ¤Ë°ìÃפ¹¤ëÉôʬʸ»úÎ󤬤¢¤ë¤«¤òÄ´¤Ù¤ë¡£ Í­¸ú¤Ê¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï <mntent.h> ¤È mount(8) ¤ò»²¾È¤Î¤³¤È¡£

¥ê¥¨¥ó¥È¥é¥ó¥È¤Ê´Ø¿ô getmntent_r() ¤Ï getmntent() ¤ÈƱ¤¸¤À¤¬¡¢ ¥æ¡¼¥¶¤¬ÍÑ°Õ¤·¤¿ *mntbuf ¤Ë mount ¹½Â¤ÂΤò³ÊǼ¤·¡¢¤½¤Î¹½Â¤ÂΤγƥ¨¥ó¥È¥ê¤¬»Ø¤·¼¨¤¹Ê¸»úÎó¤ò ¥æ¡¼¥¶¤¬ÍÑ°Õ¤·¤¿Â礭¤µ buflen ¤ÎÇÛÎó buf ¤Ë½ñ¤­¹þ¤à¡£

mntent ¹½Â¤ÂÎ¤Ï <mntent.h> ¤Ç°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£


struct mntent {

    char *mnt_fsname;   /* name of mounted file system */

    char *mnt_dir;      /* file system path prefix */

    char *mnt_type;     /* mount type (see mntent.h) */

    char *mnt_opts;     /* mount options (see mntent.h) */

    int   mnt_freq;     /* dump frequency in days */

    int   mnt_passno;   /* pass number on parallel fsck */

};

mtab ¤ä fstab ¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢³Æ¥Õ¥£¡¼¥ë¥É¤Ï¶õÇò¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ ¥¹¥Ú¡¼¥¹¡¢¥¿¥Ö¡¢²þ¹Ô¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Î 4ʸ»ú¤ò¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ç »È¤¤¤¿¤¤¾ì¹ç¤Ç¡¢¤«¤Ä mntent ¹½Â¤ÂΤΠ4¤Ä¤Îʸ»úÎó¥á¥ó¥Ð¡¼¤Î ¤¤¤º¤ì¤«¤ËÂбþ¤¹¤ë¥Õ¥£¡¼¥ë¥ÉÆâ¤Ç»È¤¤¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ 8¿Ê¤Î¥¨¥¹¥±¡¼¥×ɽµ­¤ò»È¤Ã¤Æɽ¸½¤¹¤ë: ¥¹¥Ú¡¼¥¹ (\040), ¥¿¥Ö (\011), ²þ¹Ô (\012), ¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å (\134)¡£ addmntent() ¤È getmntent() ¤Ï¡¢Ê¸»úÎóɽ¸½¤«¤é ¥¨¥¹¥±¡¼¥×ɽ¸½¤Ø¤ÎÊÑ´¹¡¢¤ª¤è¤Ó¤½¤ÎµÕ¤ò¹Ô¤¦¡£

ÊÖ¤êÃÍ

getmntent() ¤È getmntent_r() ¤Ï mntent ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹¡£ ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£

B addmntent() ´Ø¿ô¤ÏÀ®¸ù¤·¤¿¤é 0 ¤òÊÖ¤·¡¢¼ºÇÔ¤·¤¿¤é 1 ¤òÊÖ¤¹¡£

endmntent() ´Ø¿ô¤Ï¤Ä¤Í¤Ë 1 ¤òÊÖ¤¹¡£

hasmntopt() ´Ø¿ô¤Ï¡¢¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¤ÏÉôʬʸ»úÎó¤Ø¤Î¥¢¥É¥ì¥¹¤òÊÖ¤·¡¢ ¥Þ¥Ã¥Á¤·¤Ê¤±¤ì¤Ð NULL ¤òÊÖ¤¹¡£

¥Õ¥¡¥¤¥ë


/etc/fstab          ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àµ­½Ò¥Õ¥¡¥¤¥ë

/etc/mtab           ¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Îµ­½Ò¥Õ¥¡¥¤¥ë

½àµò

¥ê¥¨¥ó¥È¥é¥ó¥È¤Ç¤Ê¤¤´Ø¿ô¤Ï SunOS 4.1.3 ͳÍè¤Î¤â¤Î¤Ç¤¢¤ë¡£ getmntent_r() ´Ø¿ô¤Ï HPUX 10 ¤ÇƳÆþ¤µ¤ì¤¿¤¬¡¢¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï int ¤òÊÖ¤¹¡£ ¾åµ­¤Ë¼¨¤·¤¿¥×¥í¥È¥¿¥¤¥×¤Ï glibc Æȼ«¤Î¤â¤Î¤Ç¤¢¤ë¡£ LSB ¤Ç¤Ï¡¢´Ø¿ô endhostent(), sethostent(), setmntent() ¤ÏÈó¿ä¾©¤Ç¤¢¤ë¡£

Ãí°Õ

System V ¤Ë¤â getmntent() ´Ø¿ô¤Ï¤¢¤ë¤¬¡¢ ¸Æ¤Ó½Ð¤·¼ê½ç¤¬°Û¤Ê¤ê¡¢ÊÖ¤µ¤ì¤ë¹½Â¤ÂΤâ°Û¤Ê¤ë¡£ System V ¤Ç¤Ï /etc/mnttab ¤¬ÍѤ¤¤é¤ì¤ë¡£ 4.4BSD ¤È Digital Unix ¤Ë¤Ï getmntinfo() ¤¬¤¢¤ë¤¬¡¢ ¥·¥¹¥Æ¥à¥³¡¼¥ë getfsstat() ¤Î¥é¥Ã¥Ñ¡¼´Ø¿ô¤Ç¤¢¤ë¡£

´ØÏ¢¹àÌÜ

fopen(3), fstab(5), feature_test_macros(7), mount(8)