OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man2 / statfs.2
index 9d66117..ecf9da0 100644 (file)
 .\" Updated & Modified Sun Jan  9 22:35:28 JST 2005 by Yuichi SATO
 .\" Updated 2006-07-21, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.36
 .\"
-.\"WORD:       file system             ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à
-.\"WORD:       mount                   ¥Þ¥¦¥ó¥È
-.\"WORD:       pointer                 ¥Ý¥¤¥ó¥¿¡¼
-.\"WORD:       descriptor              ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼
-.\"WORD:       open                    ¥ª¡¼¥×¥ó
-.\"WORD:       symbolic link           ¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯
-.\"WORD:       open                    ¥ª¡¼¥×¥ó
+.\"WORD:       file system             ファイル・システム
+.\"WORD:       mount                   マウント
+.\"WORD:       pointer                 ã\83\9dã\82¤ã\83³ã\82¿ã\83¼
+.\"WORD:       descriptor              ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼
+.\"WORD:       open                    オープン
+.\"WORD:       symbolic link           ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83»ã\83ªã\83³ã\82¯
+.\"WORD:       open                    オープン
 .\"
 .TH STATFS 2 2010-09-04 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-statfs, fstatfs \- ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ÎÅý·×¤òÆÀ¤ë
-.SH ½ñ¼°
-.BR "#include <sys/vfs.h>    " "/* ¤Þ¤¿¤Ï <sys/statfs.h> */"
+.SH 名前
+statfs, fstatfs \- ファイル・システムの統計を得る
+.SH 書式
+.BR "#include <sys/vfs.h>    " "/* または <sys/statfs.h> */"
 .sp
 .BI "int statfs(const char *" path ", struct statfs *" buf );
 .br
 .BI "int fstatfs(int " fd ", struct statfs *" buf );
-.SH ½ñ¼°
-´Ø¿ô
+.SH 書式
+関数
 .BR statfs ()
-¤Ï¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÊÖ¤¹¡£
+はマウントされたファイル・システムについての情報を返す。
 .I path
-¤Ï¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹Ì¾¤Ç¤¢¤ë¡£
+はマウントされたファイル・システムにあるファイルのパス名である。
 .I buf
-¤Ï
+は
 .I statfs
-¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼¤Ç¡¢¤ª¤è¤½°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë:
+構造体へのポインターで、およそ以下のように定義される:
 
 .in +4n
 .nf
-#if __WORDSIZE == 32           /* ¥·¥¹¥Æ¥à¤Î¥ï¡¼¥É¥µ¥¤¥º */
+#if __WORDSIZE == 32           /* ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\83¯ã\83¼ã\83\89ã\82µã\82¤ã\82º */
 # define __SWORD_TYPE           int
 #else /* __WORDSIZE == 64 */
 # define __SWORD_TYPE          long int
 #endif
 
 struct statfs {
-    __SWORD_TYPE f_type;    /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¼ïÊÌ (²¼µ­»²¾È) */
-    __SWORD_TYPE f_bsize;   /* ºÇŬ¤ÊžÁ÷¥Ö¥í¥Ã¥¯¥µ¥¤¥º */
-    fsblkcnt_t   f_blocks;  /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÁí¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¿ô */
-    fsblkcnt_t   f_bfree;   /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¶õ¤­¥Ö¥í¥Ã¥¯¿ô */
-    fsblkcnt_t   f_bavail;  /* ÈóÆø¢¥æ¡¼¥¶¤¬ÍøÍѲÄǽ¤Ê¶õ¤­¥Ö¥í¥Ã¥¯¿ô */
-    fsfilcnt_t   f_files;   /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÁí¥Õ¥¡¥¤¥ë¥Î¡¼¥É¿ô */
-    fsfilcnt_t   f_ffree;   /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¶õ¤­¥Õ¥¡¥¤¥ë¥Î¡¼¥É¿ô */
-    fsid_t       f_fsid;    /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î ID */
-    __SWORD_TYPE f_namelen; /* ¥Õ¥¡¥¤¥ë̾¤ÎºÇÂçĹ */
-    __SWORD_TYPE f_frsize;  /* ¥Õ¥é¥°¥á¥ó¥È¥µ¥¤¥º (Linux 2.6 °Ê¹ß) */
+    __SWORD_TYPE f_type;    /* ファイルシステムの種別 (下記参照) */
+    __SWORD_TYPE f_bsize;   /* æ\9c\80é\81©ã\81ªè»¢é\80\81ã\83\96ã\83­ã\83\83ã\82¯ã\82µã\82¤ã\82º */
+    fsblkcnt_t   f_blocks;  /* ファイルシステムの総データブロック数 */
+    fsblkcnt_t   f_bfree;   /* ファイルシステムの空きブロック数 */
+    fsblkcnt_t   f_bavail;  /* 非特権ユーザが利用可能な空きブロック数 */
+    fsfilcnt_t   f_files;   /* ファイルシステムの総ファイルノード数 */
+    fsfilcnt_t   f_ffree;   /* ファイルシステムの空きファイルノード数 */
+    fsid_t       f_fsid;    /* ファイルシステムの ID */
+    __SWORD_TYPE f_namelen; /* ファイル名の最大長 */
+    __SWORD_TYPE f_frsize;  /* フラグメントサイズ (Linux 2.6 以降) */
     __SWORD_TYPE f_spare[5];
 };
 
-¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î·¿:
+ファイル・システムの型:
 
    ADFS_SUPER_MAGIC      0xadf5
    AFFS_SUPER_MAGIC      0xADFF
@@ -108,10 +108,10 @@ struct statfs {
    ISOFS_SUPER_MAGIC     0x9660
    JFFS2_SUPER_MAGIC     0x72b6
    JFS_SUPER_MAGIC       0x3153464a
-   MINIX_SUPER_MAGIC     0x137F /* ¥ª¥ê¥¸¥Ê¥ë¤Î minix */
-   MINIX_SUPER_MAGIC2    0x138F /* 30 Ê¸»ú¥Õ¥¡¥¤¥ë̾¤Î minix */
+   MINIX_SUPER_MAGIC     0x137F /* オリジナルの minix */
+   MINIX_SUPER_MAGIC2    0x138F /* 30 文字ファイル名の minix */
    MINIX2_SUPER_MAGIC    0x2468 /* minix V2 */
-   MINIX2_SUPER_MAGIC2   0x2478 /* minix V2, 30 Ê¸»ú¥Õ¥¡¥¤¥ë̾ */
+   MINIX2_SUPER_MAGIC2   0x2478 /* minix V2, 30 文字ファイル名 */
    MSDOS_SUPER_MAGIC     0x4d44
    NCP_SUPER_MAGIC       0x564c
    NFS_SUPER_MAGIC       0x6969
@@ -136,157 +136,157 @@ struct statfs {
 .in
 .PP
 .I f_fsid
-¤Ë¤É¤ó¤ÊÃͤ¬Æþ¤ë¤Ù¤­¤Ê¤Î¤«¤Ïï¤âÃΤé¤Ê¤¤ (⤷¡¢²¼µ­¤ò»²¾È)¡£
+にどんな値が入るべきなのかは誰も知らない (但し、下記を参照)。
 .PP
-¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤Æ̤ÄêµÁ¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ï 0 ¤¬
-ÀßÄꤵ¤ì¤ë¡£
+それぞれのファイル・システムにおいて未定義のフィールドには 0 が
+設定される。
 .BR fstatfs ()
-¤Ï¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼
+ã\81¯ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼
 .I fd
-¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢Æ±¤¸¾ðÊó¤òÊÖ¤¹¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ì¤Ð 0 ¤¬ÊÖ¤µ¤ì¤ë¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
+によって参照されるオープンされたファイルについて、同じ情報を返す。
+.SH 返り値
+成功すれば 0 が返される。エラーの場合は \-1 が返され、
 .I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+が適切に設定される。
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EACCES
 .RB ( statfs ()
-¤Î¾ì¹ç)
+の場合)
 .I path
-¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤Ë¸¡º÷µö²Ä¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤
+のディレクトリ部分に検索許可が与えられていない
 .RB ( path_resolution (7)
-¤â»²¾È¤¹¤ë¤³¤È)¡£
+も参照すること)。
 .TP
 .B EBADF
 .RB ( fstatfs ()
-¤Î¾ì¹ç)
+の場合)
 .I fd
-¤ÏÍ­¸ú¤Ê¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Ç¤Ï¤Ê¤¤¡£
+は有効なオープンされたファイル・ディスクリプターではない。
 .TP
 .B EFAULT
 .I buf
-¤Þ¤¿¤Ï
+または
 .I path
-¤¬ÉÔÀµ¤Ê¥¢¥É¥ì¥¹¤ò»Ø¤·¤Æ¤¤¤ë¡£
+が不正なアドレスを指している。
 .TP
 .B EINTR
-¤³¤Î¸Æ¤Ó½Ð¤·¤¬¥·¥°¥Ê¥ë¤ÇÃæÃǤµ¤ì¤¿¡£
+この呼び出しがシグナルで中断された。
 .TP
 .B EIO
-¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ÎÆɤ߹þ¤ß¤Î´Ö¤Ë I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
+ファイル・システムの読み込みの間に I/O エラーが発生した。
 .TP
 .B ELOOP
 .RB ( statfs ()
-¤Î¾ì¹ç)
+の場合)
 .I path
-¤ò²ò·è¤¹¤ë¤Î¤Ëé¤ë¤Ù¤­¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿¤¹¤®¤ë¡£
+を解決するのに辿るべきシンボリック・リンクが多すぎる。
 .TP
 .B ENAMETOOLONG
 .RB ( statfs ()
-¤Î¾ì¹ç)
+の場合)
 .I path
-¤¬Ä¹²á¤®¤ë¡£
+が長過ぎる。
 .TP
 .B ENOENT
 .RB ( statfs ()
-¤Î¾ì¹ç)
+の場合)
 .I path
-¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¡£
+によって参照されるファイルが存在しない。
 .TP
 .B ENOMEM
-¥«¡¼¥Í¥ë¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
+カーネルに十分なメモリがない。
 .TP
 .B ENOSYS
-¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤¬¤³¤Î¸Æ¤Ó½Ð¤·¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
+ファイル・システムがこの呼び出しをサポートしていない。
 .TP
 .B ENOTDIR
 .RB ( statfs ()
-¤Î¾ì¹ç)
+の場合)
 .I path
-¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
+のディレクトリ部分がディレクトリでない。
 .TP
 .B EOVERFLOW
-Ãͤ¬Â礭²á¤®¤ë¤¿¤á¡¢ÊÖ¤êÃͤι½Â¤ÂΤÇɽ¸½¤Ç¤­¤Ê¤¤¡£
-.SH ½àµò
-Linux ¸ÇÍ­¤Ç¤¢¤ë¡£
-Linux ¤Î
+値が大き過ぎるため、返り値の構造体で表現できない。
+.SH 準拠
+Linux 固有である。
+Linux 
 .BR statfs ()
-¤Ï 4.4BSD ¤Î¤â¤Î¤Ë±Æ¶Á¤ò¼õ¤±¤Æ¤¤¤ë¡£
-(¤·¤«¤·Æ±¤¸¹½Â¤ÂΤò»ÈÍѤ·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤)
-.SH Ãí°Õ
-¤³¤Î¥é¥¤¥Ö¥é¥ê¥³¡¼¥ë¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¡¢
-¥«¡¼¥Í¥ë¤Ë¤Ï¥·¥¹¥Æ¥à¥³¡¼¥ë
+は 4.4BSD のものに影響を受けている。
+(しかし同じ構造体を使用しているわけではない)
+.SH 注意
+このライブラリコールをサポートするため、
+カーネルにはシステムコール
 .BR statfs (),
 .BR fstatfs (),
 .BR statfs64 (),
 .BR fstatfs64 ()
-¤¬¤¢¤ë¡£
+がある。
 
-\fI<sys/vfs.h>\fP ¤·¤«»ý¤¿¤Ê¤¤¥·¥¹¥Æ¥à¤â¤¢¤ê¡¢
-\fI<sys/statfs.h>\fP ¤â»ý¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤â¤¢¤ë¡£
-Á°¼Ô¤Ï¸å¼Ô¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤Î¤Ç¡¢
-Á°¼Ô¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤Î¤¬Îɤ¤¤È¹Í¤¨¤é¤ì¤ë¡£
+\fI<sys/vfs.h>\fP しか持たないシステムもあり、
+\fI<sys/statfs.h>\fP も持っているシステムもある。
+前者は後者をインクルードするので、
+前者をインクルードするのが良いと考えられる。
 
-LSB ¤Ç¤Ï¥é¥¤¥Ö¥é¥ê¥³¡¼¥ë
+LSB ではライブラリコール
 .BR statfs (),
 .BR fstatfs ()
-¤òÈó¿ä¾©¤È¤·¤Æ¡¢Âå¤ï¤ê¤Ë
+を非推奨として、代わりに
 .BR statvfs (2),
 .BR fstatvfs (2)
-¤ò»È¤¦¤è¤¦¤Ë»Ø¼¨¤·¤Æ¤¤¤ë¡£
-.SS f_fsid ¥Õ¥£¡¼¥ë¥É
-Solaris, Irix, POSIX ¤Ë¤Ï¥·¥¹¥Æ¥à¥³¡¼¥ë
+を使うように指示している。
+.SS f_fsid フィールド
+Solaris, Irix, POSIX にはシステムコール
 .BR statvfs (2)
-¤¬¤¢¤ê¡¢
+があり、
 .I "struct statvfs"
-¤òÊÖ¤¹
+を返す
 .RI ( <sys/statvfs.h>
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë)¡£
-¤³¤Î¹½Â¤ÂΤˤϡ¢
+で定義されている)。
+この構造体には、
 .I "unsigned long"
 .I f_fsid
-¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-Linux, SunOS, HP-UX, 4.4BSD ¤Ë¤Ï¥·¥¹¥Æ¥à¥³¡¼¥ë
+が含まれている。
+Linux, SunOS, HP-UX, 4.4BSD にはシステムコール
 .BR statfs ()
-¤¬¤¢¤ê¡¢
+があり、
 .I "struct statfs"
-¤òÊÖ¤¹
+を返す
 .RI ( <sys/vfs.h>
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë)¡£
-¤³¤Î¹½Â¤ÂΤˤÏ
+で定義されている)。
+この構造体には
 .I fsid_t
 .IR f_fsid ,
-¤¬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢
+が含まれており、
 .I fsid_t
-¤Ï
+は
 .I "struct { int val[2]; }"
-¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
-FreeBSD ¤Ç¤âƱ¤¸¤Ç¤¢¤ë¤¬¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë
+と定義されている。
+FreeBSD でも同じであるが、インクルードファイル
 .I <sys/mount.h>
-¤ò»È¤¦¡£
+を使う。
 
 .I f_fsid
-¤Ï¤¢¤ë¥é¥ó¥À¥à¤ÊÃͤò»ý¤Á¡¢
+はあるランダムな値を持ち、
 .RI ( f_fsid , ino )
-¤È¤¤¤¦ 1 ÁȤÎÃͤǥե¡¥¤¥ë¤ò°ì°Õ¤Ë·èÄê¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡¢
-¤È¤¤¤¦¤Î¤¬´ðËÜŪ¤Ê¹Í¤¨Êý¤Ç¤¢¤ë¡£
-¤¤¤¯¤Ä¤«¤Î OS ¤Ç¤Ï¡¢¥Ç¥Ð¥¤¥¹ÈÖ¹æ (¤ÎÊѼï) ¤ò»È¤Ã¤¿¤ê¡¢
-¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤È¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¥¿¥¤¥×¤òÁȤ߹ç¤ï¤»¤Æ»È¤Ã¤¿¤ê¤·¤Æ¤¤¤ë¡£
-OS ¤ÎÃæ¤Ë¤Ï
+という 1 組の値でファイルを一意に決定できるようにする、
+というのが基本的な考え方である。
+いくつかの OS では、デバイス番号 (の変種) を使ったり、
+デバイス番号とファイル・システムタイプを組み合わせて使ったりしている。
+OS の中には
 .I f_fsid
-¥Õ¥£¡¼¥ë¥É¤Î¼èÆÀ¤ò¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ë¸ÂÄꤷ¤Æ¤¤¤ë¤â¤Î¤â¤¢¤ë
-(ÈóÆø¢¥æ¡¼¥¶¤¬¼èÆÀ¤¹¤ë¤È 0 ¤È¤Ê¤ë)¡£
-NFS ¤Ç¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¾ì¹ç¡¢
-¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤Ç»È¤ï¤ì¤Æ¤ª¤ê¡¢
-¤³¤ÎÃͤòÄ󶡤¹¤ë¤È¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÌäÂ꤬¤¢¤ë¡£
+フィールドの取得をスーパーユーザに限定しているものもある
+(非特権ユーザが取得すると 0 となる)。
+NFS でエクスポートされる場合、
+このフィールドがファイル・システムのファイルハンドルで使われており、
+この値を提供するとセキュリティ上の問題がある。
 .LP
-¤¤¤¯¤Ä¤«¤Î OS ¤Ç¤Ï¡¢
+いくつかの OS では、
 .I fsid
-¤ò
+を
 .BR sysfs (2)
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎÂè 2 °ú¤­¿ô¤È¤·¤Æ»ÈÍѤǤ­¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+システムコールの第 2 引き数として使用できる。
+.SH 関連項目
 .BR stat (2),
 .BR statvfs (2),
 .BR path_resolution (7)