OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man3 / readdir.3
index 27ee70e..95dd0b5 100644 (file)
 .\"     Rework discussion of nonstandard structure fields.
 .\" 2008-09-11, mtk, Document readdir_r().
 .\"
-.\" Japanese Version Copyright (c) 1997 HIROFUMI Nishizuka
-.\"    all rights reserved.
-.\" Translated 1997-12-24, HIROFUMI Nishizuka <nishi@rpts.cl.nec.co.jp>
-.\" Updated & Modified 2002-03-24, Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated & Modified 2005-01-16, Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated & Modified 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2008-08-11, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
+.\"*******************************************************************
 .\"
-.TH READDIR 3  2010-09-10 "" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH READDIR 3 2010\-09\-10 "" "Linux Programmer's Manual"
 .SH 名前
 readdir, readdir_r \- ディレクトリを読み込む
 .SH 書式
 .nf
-.B #include <dirent.h>
+\fB#include <dirent.h>\fP
 .sp
-.BI "struct dirent *readdir(DIR *" dirp );
+\fBstruct dirent *readdir(DIR *\fP\fIdirp\fP\fB);\fP
 .sp
-.BI "int readdir_r(DIR *" dirp ", struct dirent *" entry \
-", struct dirent **" result );
+\fBint readdir_r(DIR *\fP\fIdirp\fP\fB, struct dirent *\fP\fIentry\fP\fB, struct dirent **\fP\fIresult\fP\fB);\fP
 .fi
 .sp
 .in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .ad l
 .in
 .sp
-.BR readdir_r ():
+\fBreaddir_r\fP():
 .RS 4
-_POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _BSD_SOURCE ||
-_SVID_SOURCE || _POSIX_SOURCE
+_POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE
+|| _POSIX_SOURCE
 .RE
 .ad b
 .SH 説明
-.BR readdir ()
-関数は、\fIdirp\fP が指すディレクトリストリームの中で、
-次のディレクトリエントリを表す \fIdirent\fP 構造体へのポインタを返す。
-ディレクトリストリームの末尾に達した場合や、
-エラーが発生した場合は、 NULL を返す。
+\fBreaddir\fP()  関数は、\fIdirp\fP が指すディレクトリストリームの中で、 次のディレクトリエントリを表す \fIdirent\fP
+構造体へのポインタを返す。 ディレクトリストリームの末尾に達した場合や、 エラーが発生した場合は、 NULL を返す。
 .PP
-Linux では
-.I dirent
-構造体は以下のように定義されている。
+Linux では \fIdirent\fP 構造体は以下のように定義されている。
 .PP
 .in +4n
 .nf
@@ -89,157 +78,78 @@ struct dirent {
 .fi
 .in
 .PP
-.I dirent
-構造体のフィールドで POSIX.1 で要求されているのは、
-.IR d_name []
-と (XSI 拡張での)
-.I d_ino
-だけである。
-.IR d_name []
-はその大きさも規定されておらず、
-このフィールドには最大で
-.B NAME_MAX
-個の文字と、それに続く終端の NULL バイトが格納される。
-他のフィールドは非標準であり、全てのシステムに存在するわけではない。
-詳細については、下記の「注意」を参照のこと。
+\fIdirent\fP 構造体のフィールドで POSIX.1 で要求されているのは、 \fId_name\fP[] と (XSI 拡張での)  \fId_ino\fP
+だけである。 \fId_name\fP[] はその大きさも規定されておらず、 このフィールドには最大で \fBNAME_MAX\fP 個の文字と、それに続く終端の
+NULL バイトが格納される。 他のフィールドは非標準であり、全てのシステムに存在するわけではない。 詳細については、下記の「注意」を参照のこと。
 .PP
-.BR readdir ()
-によって返されるデータは、それ以降の同じストリームに対する
-.BR readdir ()
+\fBreaddir\fP()  によって返されるデータは、それ以降の同じストリームに対する \fBreaddir\fP()
 の呼び出しによって上書きされる可能性がある。
 
-.BR readdir_r ()
-関数は
-.BR readdir ()
-のリエントラント版である。
-この関数はディレクトリストリーム
-.I dirp
-から次のディレクトリエントリを読み込み、
-.I entry
-が指す呼び出し元が割り当てたバッファにそのエントリを格納して返す
-(このバッファの割り当てについては「注意」の節を参照のこと)。
-返されるエントリへのポインタが
-.I *result
-に格納される。ディレクトリストリームの末尾に達した場合は、
-NULL が
-.I *result
-に格納される。
+\fBreaddir_r\fP()  関数は \fBreaddir\fP()  のリエントラント版である。 この関数はディレクトリストリーム \fIdirp\fP
+から次のディレクトリエントリを読み込み、 \fIentry\fP が指す呼び出し元が割り当てたバッファにそのエントリを格納して返す
+(このバッファの割り当てについては「注意」の節を参照のこと)。 返されるエントリへのポインタが \fI*result\fP
+に格納される。ディレクトリストリームの末尾に達した場合は、 NULL が \fI*result\fP に格納される。
 .SH 返り値
-成功すると、
-.BR readdir ()
-は
-.I dirent
-構造体へのポインタを返す。
-(この構造体は静的に割り当てられているかもしれない。
-このポインタを
-.BR free (3)
-しようとしないこと。)
-ディレクトリストリームの末尾に達した場合には、NULL が返され、
-.I errno
-は変化しない。
-エラーが発生した場合、NULL が返され、
-.I errno
-が適切に設定される。
+成功すると、 \fBreaddir\fP()  は \fIdirent\fP 構造体へのポインタを返す。 (この構造体は静的に割り当てられているかもしれない。
+このポインタを \fBfree\fP(3)  しようとしないこと。)  ディレクトリストリームの末尾に達した場合には、NULL が返され、 \fIerrno\fP
+は変化しない。 エラーが発生した場合、NULL が返され、 \fIerrno\fP が適切に設定される。
 
-成功すると、
-.BR readdir_r ()
-関数は 0 を返す。
-エラーの場合、(「エラー」の節のリストに載っている) 正のエラー番号を返す。
-ディレクトリストリームの末尾に達した場合、
-.BR readdir_r ()
-は返り値として 0 を返し、
-.I *result
-に NULL を格納する。
+成功すると、 \fBreaddir_r\fP()  関数は 0 を返す。 エラーの場合、(「エラー」の節のリストに載っている) 正のエラー番号を返す。
+ディレクトリストリームの末尾に達した場合、 \fBreaddir_r\fP()  は返り値として 0 を返し、 \fI*result\fP に NULL
+を格納する。
 .SH エラー
-.TP
-.B EBADF
-ディレクトリストリームディスクリプタ \fIdirp\fP が無効。
+.TP 
+\fBEBADF\fP
\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ \fIdirp\fP ã\81\8cç\84¡å\8a¹ã\81§ã\81\82ã\82\8bã\80\82
 .SH 準拠
-SVr4, 4.3BSD, POSIX.1-2001.
+SVr4, 4.3BSD, POSIX.1\-2001.
 .SH 注意
-フィールド
-.I d_name
-と
-.I d_ino
-だけが POSIX.1-2001 で規定されている。
-残りのフィールドは多くのシステムに存在するが、全てのシステムに
-存在するわけではない。
-glibc では、プログラムが POSIX.1 で定義されていないフィールドが
-利用できるかをチェックすることができる。
-チェックするには、マクロ
-.BR _DIRENT_HAVE_D_NAMLEN ,
-.BR _DIRENT_HAVE_D_RECLEN ,
-.BR _DIRENT_HAVE_D_OFF ,
-.B _DIRENT_HAVE_D_TYPE
+フィールド \fId_name\fP と \fId_ino\fP だけが POSIX.1\-2001 で規定されている。
+残りのフィールドは多くのシステムに存在するが、全てのシステムに 存在するわけではない。 glibc では、プログラムが POSIX.1
+で定義されていないフィールドが 利用できるかをチェックすることができる。 チェックするには、マクロ \fB_DIRENT_HAVE_D_NAMLEN\fP,
+\fB_DIRENT_HAVE_D_RECLEN\fP, \fB_DIRENT_HAVE_D_OFF\fP, \fB_DIRENT_HAVE_D_TYPE\fP
 が定義されているかをテストすればよい。
 
-.I d_type
-フィールドは、Linux 以外では、
-主に BSD 系のシステムにだけ存在する。
-このフィールドを使うと、
-その後の動作がファイルの種別により決まる場合に、
-.BR lstat (2)
-を呼び出すコストを避けることができる。
-機能検査マクロ
-.B _BSD_SOURCE
-が定義された場合、glibc は
-.I d_type
-で返される値として以下のマクロ定数を定義する。
-.TP 12
-.B DT_BLK
-ブロック・デバイスである。
-.TP
-.B DT_CHR
-キャラクタ・デバイスである。
-.TP
-.B DT_DIR
+\fId_type\fP フィールドは、Linux 以外では、 主に BSD 系のシステムにだけ存在する。 このフィールドを使うと、
+その後の動作がファイルの種別により決まる場合に、 \fBlstat\fP(2)  を呼び出すコストを避けることができる。 機能検査マクロ
+\fB_BSD_SOURCE\fP が定義された場合、glibc は \fId_type\fP で返される値として以下のマクロ定数を定義する。
+.TP  12
+\fBDT_BLK\fP
+ブロックデバイスである。
+.TP 
+\fBDT_CHR\fP
+キャラクタデバイスである。
+.TP 
+\fBDT_DIR\fP
 ディレクトリである。
-.TP
-.B DT_FIFO
+.TP 
+\fBDT_FIFO\fP
 名前付きパイプ (FIFO) である。
-.TP
-.B DT_LNK
\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83»ã\83ªã\83³ã\82¯ã\81§ã\81\82ã\82\8bã\80\82
-.TP
-.B DT_REG
+.TP 
+\fBDT_LNK\fP
+シンボリックリンクである。
+.TP 
+\fBDT_REG\fP
 通常のファイルである。
-.TP
-.B DT_SOCK
+.TP 
+\fBDT_SOCK\fP
 UNIX ドメインソケットである。
-.TP
-.B DT_UNKNOWN
-ファイルタイプが不明である。
+.TP 
+\fBDT_UNKNOWN\fP
 .\" The glibc manual says that on some systems this is the only
 .\" value returned
+ファイルタイプが不明である。
 .PP
-ファイル種別を決定できなかった場合には、
-.I d_type
-に
-.B DT_UNKNOWN
-が入る。
+ファイル種別を決定できなかった場合には、 \fId_type\fP に \fBDT_UNKNOWN\fP が入る。
 
-現在のところ、
-.\" カーネル 2.6.27
-.\" 同じ説明文が readdir.2 にもある。
-.I d_type
-でファイルタイプを返す機能が完全にサポートされているのは、
-いくつかのファイルシステムにおいてのみである
-(Btrfs, ext2, ext3, ext4 はサポートしている)。
-どのアプリケーションも、
-.B DT_UNKNOWN
+.\" kernel 2.6.27
+.\" The same sentence is in getdents.2
+現在のところ、 \fId_type\fP でファイルタイプを返す機能が完全にサポートされているのは、 いくつかのファイルシステムにおいてのみである
+(Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも、 \fBDT_UNKNOWN\fP
 が返された際に適切に処理できなければならない。
 
-POSIX.1 では
-.I d_name
-フィールドのサイズは規定されておらず、
-.I dirent
-構造体の
-.I d_name
-の後ろに他の非標準のフィールドがあるかもしれないので、
-移植性が必要なアプリケーションで
-.BR readdir_r ()
-を使う場合は
-.I entry
+POSIX.1 では \fId_name\fP フィールドのサイズは規定されておらず、 \fIdirent\fP 構造体の \fId_name\fP
+の後ろに他の非標準のフィールドがあるかもしれないので、 移植性が必要なアプリケーションで \fBreaddir_r\fP()  を使う場合は \fIentry\fP
 に渡すバッファを次のようにして割り当てるべきである。
 .in +4n
 .nf
@@ -250,20 +160,8 @@ entryp = malloc(len);
 
 .fi
 .in
-(POSIX.1 では
-.I "struct dirent"
-の最後のフィールドが
-.I d_name
-であることを要求している。)
+(POSIX.1 では \fIstruct dirent\fP の最後のフィールドが \fId_name\fP であることを要求している。)
 .SH 関連項目
-.BR getdents (2),
-.BR read (2),
-.BR closedir (3),
-.BR dirfd (3),
-.BR ftw (3),
-.BR offsetof (3),
-.BR opendir (3),
-.BR rewinddir (3),
-.BR scandir (3),
-.BR seekdir (3),
-.BR telldir (3)
+\fBgetdents\fP(2), \fBread\fP(2), \fBclosedir\fP(3), \fBdirfd\fP(3), \fBftw\fP(3),
+\fBoffsetof\fP(3), \fBopendir\fP(3), \fBrewinddir\fP(3), \fBscandir\fP(3),
+\fBseekdir\fP(3), \fBtelldir\fP(3)