OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / draft / man3 / scandir.3
diff --git a/draft/man3/scandir.3 b/draft/man3/scandir.3
deleted file mode 100644 (file)
index f989bd9..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
-.\"
-.\" %%%LICENSE_START(VERBATIM)
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
-.\"
-.\" References consulted:
-.\"     Linux libc source code
-.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
-.\"     386BSD man pages
-.\" Modified Sat Jul 24 18:26:16 1993 by Rik Faith (faith@cs.unc.edu)
-.\" Modified Thu Apr 11 17:11:33 1996 by Andries Brouwer (aeb@cwi.nl):
-.\"     Corrected type of compar routines, as suggested by
-.\"     Miguel Barreiro (enano@avalon.yaix.es).  Added example.
-.\" Modified Sun Sep 24 20:15:46 2000 by aeb, following Petter Reinholdtsen.
-.\" Modified 2001-12-26 by aeb, following Joey. Added versionsort.
-.\"
-.\" The pieces on scandirat(3) were copyright and licensed as follows.
-.\"
-.\" Copyright (c) 2012, Mark R. Bannister <cambridge@users.sourceforge.net>
-.\"        based on text in mkfifoat.3 Copyright (c) 2006, Michael Kerrisk
-.\"
-.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
-.\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" The GNU General Public License's references to "object code"
-.\" and "executables" are to be interpreted as the output of any
-.\" document formatting or typesetting system, including
-.\" intermediate and printed output.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, see
-.\" <http://www.gnu.org/licenses/>.
-.\" %%%LICENSE_END
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" Japanese Version Copyright (c) 1998 Hiroaki Nagoya all rights reserved.
-.\" Translated Thu May 28 1998 by Hiroaki Nagoya <nagoya@is.titech.ac.jp>
-.\" Updated & Modified Sat Jan 19 18:22:21 JST 2002
-.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated & Modified Sun Jan 16 08:12:04 JST 2005
-.\"         by Yuichi SATO <ysato444@yahoo.co.jp>
-.\"
-.TH SCANDIR 3 2014\-05\-28 GNU "Linux Programmer's Manual"
-.SH 名前
-scandir, scandirat, alphasort, versionsort \- ディレクトリを走査する
-.SH 書式
-.nf
-\fB#include <dirent.h>\fP
-.sp
-\fBint scandir(const char *\fP\fIdirp\fP\fB, struct dirent ***\fP\fInamelist\fP\fB,\fP
-.RS
-\fBint (*\fP\fIfilter\fP\fB)(const struct dirent *),\fP
-\fBint (*\fP\fIcompar\fP\fB)(const struct dirent **, const struct dirent **));\fP
-.RE
-.sp
-\fBint alphasort(const struct dirent **\fP\fIa\fP\fB, const struct dirent **\fP\fIb\fP\fB);\fP
-.sp
-\fBint versionsort(const struct dirent **\fP\fIa\fP\fB, const struct dirent **\fP\fIb\fP\fB);\fP
-
-\fB#include <fcntl.h>\fP          /* AT_* 定数の定義 */
-\fB#include <dirent.h>\fP
-.sp
-.fi
-\fBint scandirat(int \fP\fIdirfd\fP\fB, const char *\fP\fIdirp\fP\fB,\fP \fBstruct dirent
-***\fP\fInamelist\fP\fB,\fP
-.nf
-.RS
-\fBint (*\fP\fIfilter\fP\fB)(const struct dirent *),\fP
-\fBint (*\fP\fIcompar\fP\fB)(const struct dirent **, const struct dirent **));\fP
-.RE
-.fi
-.sp
-.in -4n
-glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
-.in
-.sp
-\fBscandir\fP(), \fBalphasort\fP():
-.br
-.RS 4
-.PD 0
-.ad b
-_BSD_SOURCE || _SVID_SOURCE
-.br
-|| /* glibc 2.10 以降: */
-.RS 4
-(_POSIX_C_SOURCE\ >=\ 200809L || _XOPEN_SOURCE\ >=\ 700)
-.RE
-.PD
-.RE
-.sp
-\fBversionsort\fP(): _GNU_SOURCE
-.sp
-\fBscandirat\fP(): _GNU_SOURCE
-.SH 説明
-関数 \fBscandir\fP()  はディレクトリ \fIdirp\fP を走査し、 ディレクトリの各エントリーを引き数として \fBfilter\fP()
-を呼び出す。 \fBfilter\fP()  が 0 以外の値を返すエントリーは \fBmalloc\fP(3)  によって 確保された文字列に保存され、比較関数
-\fBcompar\fP()  を用いて \fBqsort\fP(3)  によりソートされ、 \fBmalloc\fP(3)  により確保された配列
-\fInamelist\fP にまとめられる。 \fIfilter\fP が NULL ならば、すべてのエントリーが選択される。
-.LP
-比較関数 \fIcompar\fP()  には \fBalphasort\fP()  関数と \fBversionsort\fP()  関数を使うことができる。
-\fBalphasort\fP()  は \fBstrcoll\fP(3)  を用いてディレクトリエントリーをソートし、 \fBversionsort\fP()
-は文字列 \fI(*a)\->d_name\fP と \fI(*b)\->d_name\fP に対して \fBstrverscmp\fP(3)  を用いる。
-.SS scandirat()
-\fBscandirat\fP() 関数は \fBscandir\fP() と全く同様の動作をする。差分についてはここで説明する。
-
-\fIdirp\fP で指定されたパス名が相対パスの場合、ファイルディスクリプター \fIdirfd\fP が参照するディレクトリからの相対パスと解釈される
-(これに対して、\fBscandir\fP() の場合は、相対パス名は、呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される)。
-
-\fIdirp\fP が相対パスで \fIdirfd\fP が特別な値 \fBAT_FDCWD\fP の場合、 \fIdirp\fP は (\fBscandir\fP() と同様に)
-呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される。
-
-\fIdirp\fP が絶対パスの場合、\fIdirfd\fP は無視される。
-.PP
-\fBscandirat\fP() が必要な理由については \fBopenat\fP(2) を参照すること。
-.SH 返り値
-\fBscandir\fP() 関数は、選択されたディレクトリのエントリー数を返す。 エラーの場合、 \-1 を返し、 \fIerrno\fP
-にエラーの原因を示す値を設定する。
-.PP
-関数 \fBalphasort\fP()  と \fBversionsort\fP()  は 1 番目の引き数が 2 番目の引き数に対して、
-[小さい/等しい/大きい] かに応じて、0 より [小さい/等しい/大きい] 値を返す。
-.SH エラー
-.TP 
-\fBENOENT\fP
-\fIdirp\fP で指定されたパスが存在しない。
-.TP 
-\fBENOMEM\fP
-操作を完了するのに十分なメモリーがない。
-.TP 
-\fBENOTDIR\fP
-\fIdirp\fP で指定されたパスがディレクトリではない。
-.PP
-\fBscandirat\fP() では追加で以下のエラーも発生する:
-.TP 
-\fBEBADF\fP
-\fIdirfd\fP が有効なファイルディスクリプターではない。
-.TP 
-\fBENOTDIR\fP
-\fIdirp\fP が相対パスで、\fIdirfd\fP がディレクトリ以外のファイルを参照している
-ファイルディスクリプターである。
-.SH バージョン
-\fBversionsort\fP()  は、glibc バージョン 2.1 で追加された。
-
-\fBscandirat\fP()  は glibc バージョン 2.15 で追加された。
-.SH 準拠
-\fBalphasort\fP(), \fBscandir\fP(): 4.3BSD, POSIX.1\-2008.
-
-.\" .LP
-.\" The functions
-.\" .BR scandir ()
-.\" and
-.\" .BR alphasort ()
-.\" are from 4.3BSD, and have been available under Linux since libc4.
-.\" Libc4 and libc5 use the more precise prototype
-.\" .sp
-.\" .nf
-.\"    int alphasort(const struct dirent ** a,
-.\"                  const struct dirent **b);
-.\" .fi
-.\" .sp
-.\" but glibc 2.0 returns to the imprecise BSD prototype.
-\fBversionsort\fP() と \fBscandirat\fP() は GNU 拡張である。
-.SH 注意
-glibc 2.1 以降では \fBalphasort\fP()  は \fBstrcoll\fP(3)  を呼び出す。 \fBalphasort\fP()  は以前は
-\fBstrcmp\fP(3)  を使っていた。
-.SH 例
-.nf
-#define _SVID_SOURCE
-/* カレントディレクトリのファイルを逆順に出力する */
-#include <dirent.h>
-
-int
-main(void)
-{
-    struct dirent **namelist;
-    int n;
-
-    n = scandir(".", &namelist, NULL, alphasort);
-    if (n < 0)
-        perror("scandir");
-    else {
-        while (n\-\-) {
-            printf("%s\en", namelist[n]\->d_name);
-            free(namelist[n]);
-        }
-        free(namelist);
-    }
-}
-.fi
-.SH 関連項目
-\fBclosedir\fP(3), \fBfnmatch\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3),
-\fBrewinddir\fP(3), \fBseekdir\fP(3), \fBstrcmp\fP(3), \fBstrcoll\fP(3),
-\fBstrverscmp\fP(3), \fBtelldir\fP(3)
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。